1

等価演算子 (==) を含むステートメントが来る ASTNode (org.eclipse.jdt.core.dom.ASTNode) のサブクラスを教えてください。

非プリミティブ型 (例: 整数) の比較が「==」演算子を使用して行われるコード内のインスタンスを見つける必要があります。「==」演算子がプリミティブ型 (例: int) にのみ使用されるようにしたいと考えています。

このチェックを実行するためのJava コード ロジック( JDT ライブラリを使用) がありますが、そのようなステートメントにアクセスするためにアクセスする必要がある ASTNode のタイプがわかりません。

4

2 に答える 2

1

「演算子」が == (または InfixExpression.Operator.EQUALS) である「InfixExpressions」を探す必要があります。

ASTViewを使用するだけで、そのような質問に対する答えを自分で見つけることができることに注意してください。

于 2012-06-15T17:17:05.043 に答える
0

それは完全にあなた次第です。AST はどのように構成されていますか?

一般的に、これは私がすることです:

EqualityNode : Node 
{
  Node LHS;
  Node RHS;
}

構文の正確さを保証することに関しては、それは誰かがしません:

if == else

これは、ノードが AST に追加される前に、パーサーによってチェックされる必要があります。

于 2012-06-14T05:57:24.257 に答える