wwu-pi / muggl

A Symbolic ATCG
GNU General Public License v3.0
2 stars 1 forks source link

Normal Execution: does not correctly handle boolean #41

Closed kralo closed 7 years ago

kralo commented 8 years ago

Could not load local variable #0: Expected java.lang.Integer, got class java.lang.Boolean.

see 2.3.4 The boolean Type. boolean should be treated as int internally.

    public static Boolean BooleanBoxing(boolean in) {
        return Boolean.valueOf(in);
    }

bytecode:

public static java.lang.Boolean BooleanBoxing(boolean);
    descriptor: (Z)Ljava/lang/Boolean;
    flags: ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
         0: iload_0
         1: invokestatic  #82                 // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
         4: areturn
Dagefoerde commented 8 years ago

Of course, Integer instructions are supposed to handle way more types on the regular stack. Afaik, no instructions for loading/storing chars, bytes, shorts, and bools exist, unless they are in an array. Could you please try reproducing this using the commit in #42? Does it still occur? Does this break other things? Thank you!