Bug 10008 - Internal compiler error when compiling switch statement
Summary: Internal compiler error when compiling switch statement
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P1 major (vote)
Target Milestone: 2.0 M4   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-02-19 14:56 EST by Gordon Tyler CLA
Modified: 2002-02-21 01:22 EST (History)
0 users

See Also:


Attachments
Java source file which reproduces the problem (175 bytes, text/plain)
2002-02-19 15:03 EST, Gordon Tyler CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gordon Tyler CLA 2002-02-19 14:56:31 EST
Stable Build 20020214

Compiling the following switch statement causes an 
ArrayIndexOutOfBoundsException in the JDT internal compiler code generator. The 
exception and stack trace are at the end.

switch {
    case 0x7fffffff:
        // do something
        break;
}

The exception does not occur when the value 0x7ffffffe is used in the case 
statement.

Exception:

java.lang.ArrayIndexOutOfBoundsException
	at org.eclipse.jdt.internal.compiler.codegen.CodeStream.tableswitch
(CodeStream.java:5426)
	at org.eclipse.jdt.internal.compiler.ast.SwitchStatement.generateCode
(SwitchStatement.java:119)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode
(AbstractMethodDeclaration.java:197)
	at 
org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode
(AbstractMethodDeclaration.java:146)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode
(TypeDeclaration.java:591)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode
(TypeDeclaration.java:635)
	at 
org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode
(CompilationUnitDeclaration.java:129)
	at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:530)
	at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:332)
	at org.eclipse.jdt.internal.core.newbuilder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:209)
	at org.eclipse.jdt.internal.core.newbuilder.AbstractImageBuilder.compile
(AbstractImageBuilder.java:185)
	at org.eclipse.jdt.internal.core.newbuilder.BatchImageBuilder.build
(BatchImageBuilder.java:49)
	at org.eclipse.jdt.internal.core.newbuilder.JavaBuilder.buildAll
(JavaBuilder.java:139)
	at org.eclipse.jdt.internal.core.newbuilder.JavaBuilder.build
(JavaBuilder.java:82)
	at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:351)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:817)
	at org.eclipse.core.runtime.Platform.run(Platform.java:395)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:109)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:174)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:184)
	at org.eclipse.core.internal.events.BuildManager$1.run
(BuildManager.java:133)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:817)
	at org.eclipse.core.runtime.Platform.run(Platform.java:395)
	at org.eclipse.core.internal.events.BuildManager.basicBuild
(BuildManager.java:147)
	at org.eclipse.core.internal.events.BuildManager.build
(BuildManager.java:209)
	at org.eclipse.core.internal.resources.Workspace.build
(Workspace.java:130)
	at org.eclipse.jdt.internal.ui.preferences.CompilerPreferencePage$2.run
(CompilerPreferencePage.java:403)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run
(ModalContext.java:98)
Comment 1 Gordon Tyler CLA 2002-02-19 15:03:24 EST
Created attachment 380 [details]
Java source file which reproduces the problem
Comment 2 Philipe Mulet CLA 2002-02-21 01:22:22 EST
Constant wrapping issue.
Fixed