switch(opcode) {
case Constants.D2I: case Constants.F2I: case Constants.L2I:
return Type.INT;
case Constants.D2F: case Constants.I2F: case Constants.L2F:
return Type.FLOAT;
case Constants.D2L: case Constants.F2L: case Constants.I2L:
return Type.LONG;
case Constants.F2D: case Constants.I2D: case Constants.L2D:
return Type.DOUBLE;
case Constants.I2B:
return Type.BYTE;
case Constants.I2C:
return Type.CHAR;
case Constants.I2S:
return Type.SHORT;
default: // Never reached
throw new ClassGenException("Unknown type " + opcode);
}