case NEWARRAY:
return new IntInsnNode(opcode, getOperandTypeFromString(args[1]));
case LDC:
if (args[1].charAt(0) == '"') {
return new LdcInsnNode(args[1].replace("\\n", "\n").substring(1));
} else if (args[1].charAt(0) == 'L' && args[1].charAt(args[1].length()) == ';') {
return new LdcInsnNode(Type.getType(args[1]));
} else {
System.out.println(args[1]);
char c = args[1].charAt(args[1].length());
switch (c) {
case 'D':
case 'd':
return new LdcInsnNode(todouble(args[1]));
case 'F':
case 'f':
return new LdcInsnNode(tofloat(args[1]));
case 'L':
case 'l':
return new LdcInsnNode(tolong(args[1]));
default:
return new LdcInsnNode(toint(args[1]));
}
}
case NEW:
case ANEWARRAY: