Java JDT AstParser-如何从MethodInvocation获取赋值(父级)
我正在尝试获取作为MethodInvocation父级的赋值 测试代码:Java JDT AstParser-如何从MethodInvocation获取赋值(父级),java,abstract-syntax-tree,eclipse-jdt,Java,Abstract Syntax Tree,Eclipse Jdt,我正在尝试获取作为MethodInvocation父级的赋值 测试代码: package test; public class Test { public void method() { String a = "123".substring(1); } } 我的代码: public static Assignment getAssignmentBlock(MethodInvocation inv) { ASTNode node = inv.ge
package test;
public class Test
{
public void method()
{
String a = "123".substring(1);
}
}
我的代码:
public static Assignment getAssignmentBlock(MethodInvocation inv)
{
ASTNode node = inv.getParent();
while(node != null)
{
if(node instanceof Assignment)
return (Assignment) node;
node = node.getParent();
}
return null;
}
和访客
cu.accept(new ASTVisitor()
{
public boolean visit(MethodInvocation inv)
{
System.out.println(inv.getName().getFullyQualifiedName());
Assignment a = MethodCall.getAssignmentBlock(inv);
System.out.println(a != null);
return true;
}
});
但我一直看到false
意味着赋值为空
有什么问题吗?或者,如果这是一个错误的方式,请建议正确的方式。谢谢