- 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