JDT ASTParserを使用する方法はありますか?メソッド宣言がAnonymous内部クラスの内部にあるかどうかを確認できますか?MethodDeclarationが内部クラスに属するかどうかを確認する方法
私はEclipseプラグインを作成して、プロジェクトで未使用のパブリックメソッドを探しています。私はMethodDeclarationノードでASTVisitorを使い、JDT検索を使っています。問題は、各Javaクラスをトラバースしながら、リスナーのような匿名の内部クラスのMethodDeclarationを訪れていることです。私はこれらの方法を避ける必要があります。
ありがとうございます。
この匿名クラスでメソッドを使用する場合はどうなりますか?それが見えない場合は、メソッドが死んだと考えるかもしれません。私はあなたが内部クラスをスキップしたくないと思う。 –
私は内部クラスを検索範囲外に移動しません。実際に私はプロジェクトをループし、特定の命名標準に準拠したJavaファイルを取得しています。私はASTParserを使ってこれらのファイルを解析し、パブリックメソッドをリストアップしています。次に、ワークスペース全体をスコープとして各メソッドの参照検索を実行します。私の要件は、私は使用しているファイルがActionListeners、SelectionListenersなどを内部クラスとして持つように、内部クラス内のメソッドの参照検索を実行する必要はありません。 –
'node.getParent()。getParent()。getNodeType()== ASTNode.CLASS_INSTANCE_CREATION'を使用して、メソッドが内部クラスに対応するかどうかを確認できました。しかし、これがすべての場合に機能するかどうかは不明です。スティルが答えを得る... –