Exception in thread "main" java.lang.NoClassDefFoundError: haxe/test/Base$InnerClass
at unit.TestMain.main(src/unit/TestMain.hx:81)
Caused by: java.lang.ClassNotFoundException: haxe.test.Base$InnerClass
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
And sometimes with this:
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
unit/TestJava.testIssue2964()V @313: checkcast
Reason:
Type integer (current frame, stack[2]) is not assignable to 'java/lang/Object'
Current Frame:
bci: @313
flags: { }
locals: { 'unit/TestJava', 'haxe/test/MyClass', 'java/lang/Boolean', null }
stack: { 'unit/TestJava', 'haxe/test/MyClass', integer }
The latter is a cast(1, Integer) case which I don't think should be a thing... but we should be able to support it regardless.
The first one I have no idea.
[x] Issue2281.hx
Something still going wrong with crement ops. This is likely missing a cast to some expected type.
[x] Issue3118.hx
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
unit/issues/Issue3118.test()V @27: invokevirtual
Reason:
Type 'java/lang/Object' (current frame, stack[0]) is not assignable to 'Array'
Current Frame:
bci: @27
flags: { }
locals: { 'unit/issues/Issue3118', 'unit/issues/Final' }
stack: { 'java/lang/Object', 'java/lang/Integer' }
Another missing cast, probably after field access.
[x] Issue4002.hx
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
unit/issues/Issue4002.hx_closure$0(Ljava/lang/Object;)I @1: getfield
Reason:
Type 'java/lang/Object' (current frame, stack[0]) is not assignable to 'unit/issues/_Issue4002/A'
Current Frame:
bci: @1
flags: { }
locals: { 'java/lang/Object' }
stack: { 'java/lang/Object' }
That could be bad, or it could be another missing cast.
[x] Issue5124.hx
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
unit/issues/Issue5124.<init>()V @4: invokevirtual
Reason:
Type uninitializedThis (current frame, stack[2]) is not assignable to 'java/lang/Object'
Current Frame:
bci: @4
flags: { flagThisUninit }
locals: { uninitializedThis }
stack: { uninitializedThis, 'java/lang/invoke/MethodHandle', uninitializedThis }
Something wrong with constructor logic vs. field inits. Oh no...
This commit shows what currently doesn't verify:
This sometimes fails with this error:
And sometimes with this:
The latter is a
cast(1, Integer)
case which I don't think should be a thing... but we should be able to support it regardless.The first one I have no idea.
Something still going wrong with crement ops. This is likely missing a cast to some expected type.
Another missing cast, probably after field access.
That could be bad, or it could be another missing cast.
Something wrong with constructor logic vs. field inits. Oh no...
42