获得嵌套的方法调用类型如何能推导出一个嵌套的方法调用,如类型:使用JDT和AST
JavaSourceFile javaSourceFile = new JavaSourceFile();
javaSourceFile.getClasses().size()
它适用于正常的方法调用,如
javaSourceFile.getClasses()
但我想获得getClasses()的返回类型。这就是我所做的。在
ASTVisitor.visit(MethodInvocation invocation)
我想获得size()调用的类型。我用
Expression expression = invocation.getExpression();
if (expression != null) {
ITypeBinding typeBinding = expression.resolveTypeBinding();
if (typeBinding != null) {
Call call = new Call(invocation.getName().getFullyQualifiedName(), typeBinding.getName());
this.activeMethod.getCalls().add(call);
}
}
获取方法调用的类型。但是如果有一个方法调用,就像在开始时概述的那样,我只是得到空值。我也使用
invocation.resolveMethodBinding();
事后如果绑定无法使用表达式解析。
你从哪里得到空? invocation.getExpression()是否返回null?或者你在说aboput expression.resolveTypeBinding()?或typeBinding.getName()? –
我从expression.resolveTypeBinding()中获得null –