Community
Participate
Working Groups
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)
Created attachment 380 [details] Java source file which reproduces the problem
Constant wrapping issue. Fixed