Bug 430082

Summary: IllegalArgumentException on compiling when an primitive is incremented in an if-clause withing a string switch
Product: [Tools] AspectJ Reporter: Frans Oosterhof <frans>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: psdillon
Version: 1.7.4   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
Non-compiling test case none

Description Frans Oosterhof CLA 2014-03-11 06:13:36 EDT
Created attachment 240751 [details]
Non-compiling test case

The compiler fails with the following error:

Internal compiler error: java.lang.IllegalArgumentException: info cannot be null at org.aspectj.org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:81)

I've isolated this problem and the reason it does not compile is because of primitive that's incremented inline in an if statement. This statement is contained into an case statement in a string switch.

When extracting the increment outside the if statement it compiles well. Also when the switch statement switches on a primitive it compiles fine.

I've attached my test code.
Comment 1 Paul Dillon CLA 2014-10-07 21:57:15 EDT
It also occurs when a primitive is incremented inline within the body of a while statement.