Community
Participate
Working Groups
Build 20020425 The following code does not return any errors when we pass it into AST.parseCompilationUnit(char[], String, IJavaProject). It should return an error about the unreachable code "return 2;" (as it does when this code is compiled in a java editor). class Hello{ static int ___run(java.lang.String[] args) throws Throwable { return 1; return 2; } }
I don't see how we can report this error. The "Unreachable code" is detected in the flow analysis. There is no flow analysis done when we convert the compiler's AST into a DOM/AST. The resolution doesn't imply a flow analysis.
getMessages() states that it returns the list of messages reported by the compiler during the parsing or name resolution of this compilation unit. I will change it to specify more clearly that this list might be a subset of the problems returned by the compiler when the corresponding source is compiled.
In summary, reporting this kind of error is outside the scope of the DOM/AST. This is the kind of error that only a full Java compiler is ever going to give you. If you need to detect this kind of error, your only serious option is to invoke the Java compiler. This bug report should be rejected.