- edited description
Missing boxing conversion for boolean
Issue #239
resolved
ExtendJ 8.0.1-235-g49efefa Java SE 8
The bytecode generated for this test is not executable:
public class N5 { public static void main(String[] args) { boolean b = true; Boolean boxed = b; System.out.println(boxed); } }
Expected result: should print "true"
Actual result: stack map induced verification error:
Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.VerifyError: Bad type on operand stack Exception Details: Location: N5.main([Ljava/lang/String;)V @3: astore_2 Reason: Type integer (current frame, stack[0]) is not assignable to reference type Current Frame: bci: @3 flags: { } locals: { '[Ljava/lang/String;', integer } stack: { integer } Bytecode: 0x0000000: 043c 1b4d b200 1c2c b600 22b1
The generated bytecode:
public static void main(java.lang.String[]) throws ; flags: ACC_PUBLIC, ACC_STATIC Exceptions: throws Code: stack=2, locals=3, args_size=1 0: iconst_1 1: istore_1 2: iload_1 3: astore_2 4: getstatic #28 // Field java/lang/System.out:Ljava/io/PrintStream; 7: aload_2 8: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V 11: return
Comments (2)
-
reporter -
reporter - changed status to resolved
This was fixed by commit 180fdc7074cd
- Log in to comment