在 Java DOM/AST ( http://help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/dom/package-tree.html ) 为什么初始化程序包含块,为什么 MethodInvocation 是表达式而不是语句?
我的意思是,给定代码
int a = Integer.parseInt("1");
ASTView 插件只向我显示 INITIALIZER > MethodInvocation
是否会有一个真正具有 Block 元素的 Initializer?
此外,如果我有这样的方法
public void thisMethod(){
System.out.println();
}
MethodInvocation 被包装到一个 ExpressionStatement 中。但是为什么 MethodInvocation 不是一个声明呢?一个简单的 System.out.println() 就是一个有效的“声明”。Java DOM/AST 意义上的表达式缺乏代表自身的能力。
也许我只是没有完全理解表达式和语句之间的分离。