Community
Participate
Working Groups
I200408101200 Not sure when this happened. java.lang.ClassCastException at org.eclipse.jdt.internal.core.util.HandleFactory.createElement(Handle Factory.java:310) at org.eclipse.jdt.internal.core.util.HandleFactory.createElement(Handle Factory.java:300) at org.eclipse.jdt.internal.core.SelectionRequestor.acceptLocalVariable( SelectionRequestor.java:220) at org.eclipse.jdt.internal.codeassist.SelectionEngine.selectFrom(Select ionEngine.java:720) at org.eclipse.jdt.internal.codeassist.SelectionEngine.select(SelectionE ngine.java:533) at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:143) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationU nit.java:303) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationU nit.java:297) at org.eclipse.jdt.internal.ui.infoviews.TextSelectionConverter.codeReso lve(TextSelectionConverter.java:90) at org.eclipse.jdt.internal.ui.infoviews.TextSelectionConverter.codeReso lve(TextSelectionConverter.java:52) at org.eclipse.jdt.internal.ui.infoviews.AbstractInfoView.findSelectedJa vaElement(AbstractInfoView.java:333) at org.eclipse.jdt.internal.ui.infoviews.JavadocView.findSelectedJavaEle ment(JavadocView.java:500) at org.eclipse.jdt.internal.ui.infoviews.AbstractInfoView$2.run(Abstract InfoView.java:448) java.lang.ClassCastException at org.eclipse.jdt.internal.core.util.HandleFactory.createElement(Handle Factory.java:310) at org.eclipse.jdt.internal.core.util.HandleFactory.createElement(Handle Factory.java:300) at org.eclipse.jdt.internal.core.SelectionRequestor.acceptLocalVariable( SelectionRequestor.java:220) at org.eclipse.jdt.internal.codeassist.SelectionEngine.selectFrom(Select ionEngine.java:720) at org.eclipse.jdt.internal.codeassist.SelectionEngine.select(SelectionE ngine.java:533) at org.eclipse.jdt.internal.core.Openable.codeSelect(Openable.java:143) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationU nit.java:303) at org.eclipse.jdt.internal.core.CompilationUnit.codeSelect(CompilationU nit.java:297) at org.eclipse.jdt.internal.ui.infoviews.TextSelectionConverter.codeReso lve(TextSelectionConverter.java:90) at org.eclipse.jdt.internal.ui.infoviews.TextSelectionConverter.codeReso lve(TextSelectionConverter.java:52) at org.eclipse.jdt.internal.ui.infoviews.AbstractInfoView.findSelectedJa vaElement(AbstractInfoView.java:333) at org.eclipse.jdt.internal.ui.infoviews.AbstractInfoView$2.run(Abstract InfoView.java:448)
I can reproduce the stack trace with the following test case 1) create a new java project 2) set compiler compliance level to 1.5 (Properties>Java Compiler>Compliance and Classfiles>Compiler compliance level) 3) create X.java /** */ public enum X {; void foo() { int var; var = 0; } } 4) select "var" inside "var = 0;" The ClassCastException occurs Christof - Did you write similar Java code to cause the ClassCastException ?
Yes, I experimented with an enum and members therein. I'm not sure if the exception was thrown when I did so, but it's plausible.
HandleFactory#createElement(...) use an ASTVisitor but does not visit the EnumDeclaration node. Fixed ( visit() and endVisit() methods added). Test added (ResolveTest_1_5#test0015())