ここで質問するのが適切かどうかわかりませんが、助けていただければ幸いです。Java 用の静的汚染分析ツールを作成したいと考えています。私の理解では、ツールはメイン エントリ ポイントから始まるすべての Java ファイルをスキャンします。ソース コードの各行をデコードし、必要なアクションを実行します。
例えば、
1- Boolean x=false;
2- String s = x.toString();
行 1 で 1 つのブール変数を宣言し、行 2 でそれを文字列に変換します。行 1 では、ブール変数 'x' が宣言されており、行 2 で文字列に変換されていることがわかります。そして、toString() 関数にチェックを入れて必要なアクションを実行した場合にのみ、私のツールはそれを理解します。
私の質問は、Java でブール型に対して定義されたすべての関数のチェックを記述する必要があるかということです。他のデータ型や他のライブラリ関数はどうですか?
たとえば、ブール型に使用できる他の関数のいくつかは次のとおりです。
toString(boolean value)
compareTo(Boolean that)
etc.