再び私はから作成されたJavaASTを持っています
public class Test {
String o = new String("hh");
public void wrong1() {
synchronized(o) {
// huhu
}
}
}
o
定義されたString変数が使用されている同期ブロックを見つけるXPathクエリを作成しようとしています。
定義が上にあるので、それはSynchronizedStatementの祖先ですが、私はそれを機能させません
//SynchronizedStatement[Expression/PrimaryExpression/PrimaryPrefix/Name[@Image=ancestor::ClassOrInterfaceBody[ClassOrInterfaceBodyDeclaration/FieldVariableDeclaratorId/@Image]]]
私はそれ/SynchronizedStatement[Expression/PrimaryExpression/PrimaryPrefix/Name[@Image=
が正しいことを知っています、私の問題は祖先のClassOrInterfaceBody部分にどのように対処するかです。
私が何を意味するのかが明確になることを願っています;-)
ありがとう