問題タブ [structural-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
76 参照

java - IDEA SSR を使用してスーパークラスを置き換える

Foo拡張しているすべてのクラスを検索し、代わりにそれらを拡張したいと考えていますBar。IDEA マニュアルには、これが機能するはずであると書かれています。

検索テンプレート

テンプレートを置き換える

where$Stuff$は、ゼロから無限の回数に一致するように構成されています。

検索部分は正常に動作しますが、置換には常に空のクラス本体があります。の最小カウントを 1 に設定しよう$Stuff$としましたが、それでもすべての適切なクラスに一致しますが、クラス本体はまだ空です。

0 投票する
1 に答える
116 参照

intellij-idea - IntelliJ IDEA で検証するために渡された Mockito 回 (1)/回 (1) を報告する堅牢な構造検索テンプレートを作成するにはどうすればよいですか?

私のプロジェクトMockito.times(1)では、モックを検証するときによく使用されます。

Mockito は暗黙times(1)の for を使用するため、これは冗長ですverify(Object)。したがって、次のコードは上記のコードとまったく同じことを行います。

そのため、そのようなケースを報告する構造検索ドライブ インスペクションを作成します (たとえば、 Mockito.times(1)のような名前は冗長です)。私は IntelliJ IDEA 構造検索の専門家ではないので、最初の試みは次のとおりでした。

明らかに、これは呼び出しサイトを無視するため、適切な検索テンプレートではありません。たとえば、次のコードに役立つと思いますが、インスペクションをトリガーしたくありません。

それでは、インスペクションをトリガーするコンテキストを定義したいと思います。検査検索テンプレートは次のようになります。

すごい!のようなコードverify(mock, times(1)).call()が正常に報告されるようになりました (timesから静的にインポートされた場合org.mockito.Mockito)。しかし、1つのこともあります。実際には、そのような検証モードがグループ化されているクラスMockito.timesに由来するため、次の行はインスペクションによって無視されます。VerificationModeFactory

これを修正するための私の別の試みは次のようなものでした:

どこ:

  • $mock$はまだデフォルトのテンプレート変数です。
  • $times$は、 Text/regexpが に設定された変数でありtimes単語全体のみが読み込まれ、値はに設定されtrue、およびExpression type (regexp)に設定されて(Times|VerificationMode)います。

それを機能させることはできません。Timesも正規表現に含まれるのはなぜですか? これは の実際の実装で*.times(int)あるため、理想的には、次の行も報告する必要があります。

もちろん、3 つすべての検査テンプレートを作成することもできますが、単一の検索テンプレートを使用してそのようなテンプレートを作成することは可能$times$ですか?変数を構成するときに何が欠けていますか?

(IntelliJ IDEA Community Edition 2016.1.1 を使用しています)

0 投票する
1 に答える
465 参照

android-studio - で始まるパラメーター名を持つメソッドを構造的に置き換えます

だから私のコードでは、次のインスタンスがあります

.setBackgroundResource(R.drawable.*すべてのメソッドを単独で構造的に置き換えようとしています。これが私がこれまでに試したことです:

検索テンプレート:

変数を編集します。

何らかの理由で、これは何にも一致しません。$Parameter$空に変更した場合、または.*すべてのメソッドに一致しsetBackgroundResourceます。

ここで私が間違っていることを誰かが知っていますか?