@Override
	public void toCode(XDataOutput dataOutput) {
		super.toCode(dataOutput);
		switch(opcode){
		case LOADB:
			dataOutput.writeByte(((Number)_const).byteValue());
			break;
		case LOADS:
			if(_const instanceof Character){
				dataOutput.writeShort((Character)_const);
			}else{
				dataOutput.writeShort(((Number)_const).shortValue());
			}
			break;
		case LOADI:
			dataOutput.writeInt(((Number)_const).intValue());
			break;
		case LOADL:
			dataOutput.writeLong(((Number)_const).longValue());
			break;
		case LOADF:
			dataOutput.writeFloat(((Number)_const).floatValue());
			break;
		case LOADD:
			dataOutput.writeDouble(((Number)_const).doubleValue());
			break;
		case LOADT:
			dataOutput.writeUTF(_const.toString());
			break;
		default:
			break;
		}
	}