1

フレームワークで重要なリファクタリングを行う必要があります。コード内のさまざまな場所から約 300 回呼び出されるメソッドがあります (つまり、Find Usages で約 300 の結果が得られます)。

これらの結果をフィルタリングして、コンストラクターの本体にない使用法のみを返すようにしたいと思います。

「ビュー呼び出し階層」を使用しようとしましたが、より読みやすい結果が得られます (つまり、外部コンストラクターからの呼び出しをより簡単に識別できます)。しかし、コンストラクタ本体内から行われる呼び出しを自動的に除外する方法があるかどうか疑問に思っていましたか?

私は「構造検索」の操作に慣れていませんが、何かの助けになるのではないでしょうか?

IDEA EAP 12 を使用しています

4

1 に答える 1

2

(私自身の質問に答える)

SSR の機能を調べてみたところ、最終的に役立つパターンが見つかりました。

私が欲しいもの:実行されたメソッドへのすべての呼び出しを見つけますがmyMethod、コンストラクター本体内で実行されるものは除外します(つまり、通常のインスタンスメソッドで実行されるもののみ)。

検索パターン:

class $Class$ { 
    $ReturnType$ $MethodName$($ParameterType$ $Parameter$) {$MethodCode$;}
}

このパターンは、空でないすべてのメソッドに一致します。したがって$MethodCode$、正規表現で制限する必要があります。

.*\.myMethod\(.*

$MethodCode$ 正規表現を改善することは可能だと思いますが、誤った一致は得られなかったので、満足しています。

于 2013-02-01T13:39:59.393 に答える