public void unbox ( final Type type ) { Type t = NUMBER_TYPE ; Method sig = null ; switch ( type . getSort ( ) ) { case Type . VOID : return ; case Type . CHAR : t = CHARACTER_TYPE ; sig = CHAR_VALUE ; break ; case Type . BOOLEAN : t = BOOLEAN_TYPE ; sig = BOOLEAN_VALUE ; break ; case Type . DOUBLE : sig = DOUBLE_VALUE ; break ; case Type . FLOAT : sig = FLOAT_VALUE ; break ; case Type . LONG : sig = LONG_VALUE ; break ; case Type . INT : case Type . SHORT : case Type . BYTE : sig = INT_VALUE ; } if ( sig == null ) { checkCast ( type ) ; } else { checkCast ( t ) ; invokeVirtual ( t , sig ) ; } }
Generates the instructions to unbox the top stack value . This value is replaced by its unboxed equivalent on top of the stack .