push(Opcodes.INTEGER); } else if (cst instanceof Long) { push(Opcodes.LONG); push(Opcodes.TOP); } else if (cst instanceof Float) { push(Opcodes.FLOAT); } else if (cst instanceof Double) { push(Opcodes.DOUBLE); push(Opcodes.TOP); } else if (cst instanceof String) { push("java/lang/String"); } else if (cst instanceof Type) { int sort = ((Type) cst).getSort(); if (sort == Type.OBJECT || sort == Type.ARRAY) { push("java/lang/Class"); } else if (sort == Type.METHOD) { push("java/lang/invoke/MethodType"); } else { throw new IllegalArgumentException(); push("java/lang/invoke/MethodHandle"); } else { throw new IllegalArgumentException();
push(Opcodes.INTEGER); } else if (value instanceof Long) { push(Opcodes.LONG); push(Opcodes.TOP); } else if (value instanceof Float) { push(Opcodes.FLOAT); } else if (value instanceof Double) { push(Opcodes.DOUBLE); push(Opcodes.TOP); } else if (value instanceof String) { push("java/lang/String"); } else if (value instanceof Type) { int sort = ((Type) value).getSort(); if (sort == Type.OBJECT || sort == Type.ARRAY) { push("java/lang/Class"); } else if (sort == Type.METHOD) { push("java/lang/invoke/MethodType"); } else { throw new IllegalArgumentException(); push("java/lang/invoke/MethodHandle"); } else if (value instanceof ConstantDynamic) { pushDescriptor(((ConstantDynamic) value).getDescriptor());
break; case Opcodes.ACONST_NULL: push(Opcodes.NULL); break; case Opcodes.ICONST_M1: case Opcodes.BIPUSH: case Opcodes.SIPUSH: push(Opcodes.INTEGER); break; case Opcodes.LCONST_0: case Opcodes.LCONST_1: push(Opcodes.LONG); push(Opcodes.TOP); break; case Opcodes.FCONST_0: case Opcodes.FCONST_1: case Opcodes.FCONST_2: push(Opcodes.FLOAT); break; case Opcodes.DCONST_0: case Opcodes.DCONST_1: push(Opcodes.DOUBLE); push(Opcodes.TOP); break; case Opcodes.ILOAD: case Opcodes.FLOAD: case Opcodes.ALOAD: push(get(iarg));
push(Opcodes.INTEGER); } else if (value instanceof Long) { push(Opcodes.LONG); push(Opcodes.TOP); } else if (value instanceof Float) { push(Opcodes.FLOAT); } else if (value instanceof Double) { push(Opcodes.DOUBLE); push(Opcodes.TOP); } else if (value instanceof String) { push("java/lang/String"); } else if (value instanceof Type) { int sort = ((Type) value).getSort(); if (sort == Type.OBJECT || sort == Type.ARRAY) { push("java/lang/Class"); } else if (sort == Type.METHOD) { push("java/lang/invoke/MethodType"); } else { throw new IllegalArgumentException(); push("java/lang/invoke/MethodHandle"); } else if (value instanceof ConstantDynamic) { pushDescriptor(((ConstantDynamic) value).getDescriptor());
case 'S': case 'I': push(Opcodes.INTEGER); return; case 'F': push(Opcodes.FLOAT); return; case 'J': push(Opcodes.LONG); push(Opcodes.TOP); return; case 'D': push(Opcodes.DOUBLE); push(Opcodes.TOP); return; case '[': if (index == 0) { push(desc); } else { push(desc.substring(index, desc.length())); push(desc.substring(1, desc.length() - 1)); } else { push(desc.substring(index + 1, desc.length() - 1));
push(Opcodes.INTEGER); } else if (value instanceof Long) { push(Opcodes.LONG); push(Opcodes.TOP); } else if (value instanceof Float) { push(Opcodes.FLOAT); } else if (value instanceof Double) { push(Opcodes.DOUBLE); push(Opcodes.TOP); } else if (value instanceof String) { push("java/lang/String"); } else if (value instanceof Type) { int sort = ((Type) value).getSort(); if (sort == Type.OBJECT || sort == Type.ARRAY) { push("java/lang/Class"); } else if (sort == Type.METHOD) { push("java/lang/invoke/MethodType"); } else { throw new IllegalArgumentException(); push("java/lang/invoke/MethodHandle"); } else if (value instanceof ConstantDynamic) { pushDescriptor(((ConstantDynamic) value).getDescriptor());
case 'S': case 'I': push(Opcodes.INTEGER); return; case 'F': push(Opcodes.FLOAT); return; case 'J': push(Opcodes.LONG); push(Opcodes.TOP); return; case 'D': push(Opcodes.DOUBLE); push(Opcodes.TOP); return; case '[': if (index == 0) { push(descriptor); } else { push(descriptor.substring(index, descriptor.length())); push(descriptor.substring(1, descriptor.length() - 1)); } else { push(descriptor.substring(index + 1, descriptor.length() - 1));
break; case Opcodes.ACONST_NULL: push(Opcodes.NULL); break; case Opcodes.ICONST_M1: case Opcodes.BIPUSH: case Opcodes.SIPUSH: push(Opcodes.INTEGER); break; case Opcodes.LCONST_0: case Opcodes.LCONST_1: push(Opcodes.LONG); push(Opcodes.TOP); break; case Opcodes.FCONST_0: case Opcodes.FCONST_1: case Opcodes.FCONST_2: push(Opcodes.FLOAT); break; case Opcodes.DCONST_0: case Opcodes.DCONST_1: push(Opcodes.DOUBLE); push(Opcodes.TOP); break; case Opcodes.ILOAD: case Opcodes.FLOAD: case Opcodes.ALOAD: push(get(intArg));
case 'S': case 'I': push(Opcodes.INTEGER); return; case 'F': push(Opcodes.FLOAT); return; case 'J': push(Opcodes.LONG); push(Opcodes.TOP); return; case 'D': push(Opcodes.DOUBLE); push(Opcodes.TOP); return; case '[': if (index == 0) { push(descriptor); } else { push(descriptor.substring(index, descriptor.length())); push(descriptor.substring(1, descriptor.length() - 1)); } else { push(descriptor.substring(index + 1, descriptor.length() - 1));
break; case Opcodes.ACONST_NULL: push(Opcodes.NULL); break; case Opcodes.ICONST_M1: case Opcodes.BIPUSH: case Opcodes.SIPUSH: push(Opcodes.INTEGER); break; case Opcodes.LCONST_0: case Opcodes.LCONST_1: push(Opcodes.LONG); push(Opcodes.TOP); break; case Opcodes.FCONST_0: case Opcodes.FCONST_1: case Opcodes.FCONST_2: push(Opcodes.FLOAT); break; case Opcodes.DCONST_0: case Opcodes.DCONST_1: push(Opcodes.DOUBLE); push(Opcodes.TOP); break; case Opcodes.ILOAD: case Opcodes.FLOAD: case Opcodes.ALOAD: push(get(intArg));
case 'S': case 'I': push(Opcodes.INTEGER); return; case 'F': push(Opcodes.FLOAT); return; case 'J': push(Opcodes.LONG); push(Opcodes.TOP); return; case 'D': push(Opcodes.DOUBLE); push(Opcodes.TOP); return; case '[': if (index == 0) { push(descriptor); } else { push(descriptor.substring(index, descriptor.length())); push(descriptor.substring(1, descriptor.length() - 1)); } else { push(descriptor.substring(index + 1, descriptor.length() - 1));
break; case Opcodes.ACONST_NULL: push(Opcodes.NULL); break; case Opcodes.ICONST_M1: case Opcodes.BIPUSH: case Opcodes.SIPUSH: push(Opcodes.INTEGER); break; case Opcodes.LCONST_0: case Opcodes.LCONST_1: push(Opcodes.LONG); push(Opcodes.TOP); break; case Opcodes.FCONST_0: case Opcodes.FCONST_1: case Opcodes.FCONST_2: push(Opcodes.FLOAT); break; case Opcodes.DCONST_0: case Opcodes.DCONST_1: push(Opcodes.DOUBLE); push(Opcodes.TOP); break; case Opcodes.ILOAD: case Opcodes.FLOAD: case Opcodes.ALOAD: push(get(intArg));