単純なパターンマッチング解析を使用して、プログラム内のすべてのファクトリメソッドを検索しようとしていますか? 現在、メソッドmのいくつかの単純な条件を設定しています。 1. mの戻り値の型はnullではなく、主型でもありません。 2. mのreturn文は、このメソッドで新しい式を取得する値を返します。Javaメソッドを識別する方法は、単純なパターンマッチングによるファクトリメソッドですか?
上記の条件を使用して、ファクトリメソッドの候補メソッドを多数取得できました。しかし明らかに、条件は十分ではありません。より正確なファクトリメソッドを得るために、他の条件を追加することができます。
ありがとうございました。
あなたの答えをありがとう。 パターンマッチングを使用してソリューション全体を期待していません。小さなプログラムでは、コードを読んでファクトリメソッドを見つけることができました。しかし、大規模なプログラムの場合、私はちょうど候補メソッドを見つけるためにいくつかの分析を使用することを望む。 完了する必要はありません。候補メソッドの数を減らすことができれば問題ありません。ところで、私はJavaのソースコードを解析し、各メソッドのタイプとデータフローを取得できる静的なJava解析ツールを実装しています。 – Lei