The same for usual classes works fine. And inner classes with only one c'tor also work fine.
I get the following exception via source class loader (javac doesn't complain):
Caused by: java.lang.RuntimeException: JaninoBug$Sub.JaninoBug$Sub(int[] a): Operand stack underrun at offset 7
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java)
at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler$1.visitMemberClassDeclaration(UnitCompiler.java)
at org.codehaus.janino.Java$MemberClassDeclaration.accept(Java.java)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler$1.visitPackageMemberClassDeclaration(UnitCompiler.java)
at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java)
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java)
at org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceClassLoader.java)
at org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoader.java)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
[...]
I'm not really sure if I'm spot on with the summary. Well, I attached some minimalistic example, which should outline the problem.
Changed the summary line accordingly.
Added a JUNIT test to ReportedBugs.java that reproduces the problem.