Bug 158029 - Internal Compiler error on malformed switch inside try statement
Summary: Internal Compiler error on malformed switch inside try statement
Status: VERIFIED DUPLICATE of bug 140980
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.3 M3   Edit
Assignee: David Audel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-20 13:24 EDT by Michael Schierl CLA
Modified: 2007-01-09 09:30 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Schierl CLA 2006-09-20 13:24:22 EDT
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)
Comment 1 Philipe Mulet CLA 2006-09-21 03:48:03 EDT
Pls also attach a patch for 3.2 maintenance, this looks bad enough that we may want to backport it.
Comment 2 David Audel CLA 2006-09-21 10:49:19 EDT

*** This bug has been marked as a duplicate of 140980 ***
Comment 3 Frederic Fusier CLA 2007-01-09 09:30:20 EST
Verified for 3.3 M4 using build I20061214-1445.