public static void unbox()

in bytekit-core/src/main/java/com/alibaba/bytekit/utils/AsmOpUtils.java [276:311]


	public static void unbox(final InsnList instructions, 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) {
			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, type.getInternalName()));
		} else {
			instructions.add(new TypeInsnNode(Opcodes.CHECKCAST, t.getInternalName()));
			instructions.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, t.getInternalName(), sig.getName(),
					sig.getDescriptor(), false));
		}
	}