Community
Participate
Working Groups
Today, after some "manual" refactoring (I accidentally copied one curly brace too much), I got the error message below. I reduced the class file to: public class SwitchBug { void aMethod() { int i=0; try { switch( i ) { } catch( Exception ex ) { } } class Nested { } } This class triggers the following message (which appears in a problem marker in line 1): Internal compiler error java.lang.ClassCastException: org.eclipse.jdt.internal.compiler.ast.TypeDeclaration at org.eclipse.jdt.internal.compiler.parser.Parser.consumeStatementTry(Parser.java:6826) at org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:5411) at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:8839) at org.eclipse.jdt.internal.compiler.parser.Parser.parseStatements(Parser.java:9317) at org.eclipse.jdt.internal.compiler.parser.Parser$1$MethodVisitor.endVisitMethod(Parser.java:9580) at org.eclipse.jdt.internal.compiler.parser.Parser$1$MethodVisitor.endVisit(Parser.java:9566) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:216) at org.eclipse.jdt.internal.compiler.parser.Parser.recoverStatements(Parser.java:9671) at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:8883) at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:9160) at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.parseStatements(MethodDeclaration.java:117) at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.parseMethod(TypeDeclaration.java:805) at org.eclipse.jdt.internal.compiler.parser.Parser.getMethodBodies(Parser.java:8111) at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:583) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:411) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:300) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:217) at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:237) at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:56) at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:249) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:174) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:603) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:167) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:230) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:233) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:252) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:285) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:208) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Pls also attach a patch for 3.2 maintenance, this looks bad enough that we may want to backport it.
*** This bug has been marked as a duplicate of 140980 ***
Verified for 3.3 M4 using build I20061214-1445.