class javassist.CtNewWrappedConstructor extends javassist.CtNewWrappedMethod
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javassist.CtNewWrappedConstructor
super_class: javassist.CtNewWrappedMethod
{
private static final int PASS_NONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int PASS_PARAMS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javassist.CtNewWrappedMethod.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtNewWrappedConstructor;
public static javassist.CtConstructor wrapped(javassist.CtClass[], javassist.CtClass[], int, javassist.CtMethod, javassist.CtMethod$ConstParameter, javassist.CtClass);
descriptor: ([Ljavassist/CtClass;[Ljavassist/CtClass;ILjavassist/CtMethod;Ljavassist/CtMethod$ConstParameter;Ljavassist/CtClass;)Ljavassist/CtConstructor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new javassist.CtConstructor
dup
aload 0
aload 5
invokespecial javassist.CtConstructor.<init>:([Ljavassist/CtClass;Ljavassist/CtClass;)V
astore 6
start local 6 1: aload 6
aload 1
invokevirtual javassist.CtConstructor.setExceptionTypes:([Ljavassist/CtClass;)V
2: aload 5
aload 5
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
3: iload 2
aload 3
4: aload 0
aload 4
5: invokestatic javassist.CtNewWrappedConstructor.makeBody:(Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;ILjavassist/CtMethod;[Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;)Ljavassist/bytecode/Bytecode;
astore 7
start local 7 6: aload 6
invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
aload 7
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
7: aload 6
8: areturn
end local 7 end local 6 9: StackMap locals:
StackMap stack: javassist.NotFoundException
astore 6
start local 6 10: new javassist.CannotCompileException
dup
aload 6
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 parameterTypes [Ljavassist/CtClass;
0 11 1 exceptionTypes [Ljavassist/CtClass;
0 11 2 howToCallSuper I
0 11 3 body Ljavassist/CtMethod;
0 11 4 constParam Ljavassist/CtMethod$ConstParameter;
0 11 5 declaring Ljavassist/CtClass;
1 9 6 cons Ljavassist/CtConstructor;
6 9 7 code Ljavassist/bytecode/Bytecode;
10 11 6 e Ljavassist/NotFoundException;
Exception table:
from to target type
0 8 9 Class javassist.NotFoundException
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
parameterTypes
exceptionTypes
howToCallSuper
body
constParam
declaring
protected static javassist.bytecode.Bytecode makeBody(javassist.CtClass, javassist.bytecode.ClassFile, int, javassist.CtMethod, javassist.CtClass[], javassist.CtMethod$ConstParameter);
descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;ILjavassist/CtMethod;[Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;)Ljavassist/bytecode/Bytecode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=8, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getSuperclassId:()I
istore 8
start local 8 1: new javassist.bytecode.Bytecode
dup
aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
iconst_0
iconst_0
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 9
start local 9 2: aload 9
iconst_0
aload 4
iconst_0
invokevirtual javassist.bytecode.Bytecode.setMaxLocals:(Z[Ljavassist/CtClass;I)V
3: aload 9
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
4: iload 2
ifne 8
5: iconst_1
istore 6
start local 6 6: aload 9
iload 8
ldc "<init>"
ldc "()V"
invokevirtual javassist.bytecode.Bytecode.addInvokespecial:(ILjava/lang/String;Ljava/lang/String;)V
7: goto 24
end local 6 8: StackMap locals: javassist.CtClass javassist.bytecode.ClassFile int javassist.CtMethod javassist.CtClass[] javassist.CtMethod$ConstParameter top top int javassist.bytecode.Bytecode
StackMap stack:
iload 2
iconst_2
if_icmpne 14
9: aload 9
aload 4
iconst_1
invokevirtual javassist.bytecode.Bytecode.addLoadParameters:([Ljavassist/CtClass;I)I
iconst_1
iadd
istore 6
start local 6 10: aload 9
iload 8
ldc "<init>"
11: aload 4
invokestatic javassist.bytecode.Descriptor.ofConstructor:([Ljavassist/CtClass;)Ljava/lang/String;
12: invokevirtual javassist.bytecode.Bytecode.addInvokespecial:(ILjava/lang/String;Ljava/lang/String;)V
13: goto 24
end local 6 14: StackMap locals:
StackMap stack:
aload 9
aload 4
iconst_1
invokestatic javassist.CtNewWrappedConstructor.compileParameterList:(Ljavassist/bytecode/Bytecode;[Ljavassist/CtClass;I)I
istore 6
start local 6 15: aload 5
ifnonnull 19
16: iconst_2
istore 7
start local 7 17: invokestatic javassist.CtMethod$ConstParameter.defaultConstDescriptor:()Ljava/lang/String;
astore 10
start local 10 18: goto 21
end local 10 end local 7 19: StackMap locals: javassist.CtClass javassist.bytecode.ClassFile int javassist.CtMethod javassist.CtClass[] javassist.CtMethod$ConstParameter int top int javassist.bytecode.Bytecode
StackMap stack:
aload 5
aload 9
invokevirtual javassist.CtMethod$ConstParameter.compile:(Ljavassist/bytecode/Bytecode;)I
iconst_2
iadd
istore 7
start local 7 20: aload 5
invokevirtual javassist.CtMethod$ConstParameter.constDescriptor:()Ljava/lang/String;
astore 10
start local 10 21: StackMap locals: javassist.CtClass javassist.bytecode.ClassFile int javassist.CtMethod javassist.CtClass[] javassist.CtMethod$ConstParameter int int int javassist.bytecode.Bytecode java.lang.String
StackMap stack:
iload 6
iload 7
if_icmpge 23
22: iload 7
istore 6
23: StackMap locals:
StackMap stack:
aload 9
iload 8
ldc "<init>"
aload 10
invokevirtual javassist.bytecode.Bytecode.addInvokespecial:(ILjava/lang/String;Ljava/lang/String;)V
end local 10 end local 7 24: StackMap locals: javassist.CtClass javassist.bytecode.ClassFile int javassist.CtMethod javassist.CtClass[] javassist.CtMethod$ConstParameter int top int javassist.bytecode.Bytecode
StackMap stack:
aload 3
ifnonnull 26
25: aload 9
sipush 177
invokevirtual javassist.bytecode.Bytecode.add:(I)V
goto 32
26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
27: iconst_0
aload 4
getstatic javassist.CtClass.voidType:Ljavassist/CtClass;
28: aload 5
aload 9
29: invokestatic javassist.CtNewWrappedConstructor.makeBody0:(Ljavassist/CtClass;Ljavassist/bytecode/ClassFile;Ljavassist/CtMethod;Z[Ljavassist/CtClass;Ljavassist/CtClass;Ljavassist/CtMethod$ConstParameter;Ljavassist/bytecode/Bytecode;)I
istore 7
start local 7 30: iload 6
iload 7
if_icmpge 32
31: iload 7
istore 6
end local 7 32: StackMap locals:
StackMap stack:
aload 9
iload 6
invokevirtual javassist.bytecode.Bytecode.setMaxStack:(I)V
33: aload 9
areturn
end local 9 end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 declaring Ljavassist/CtClass;
0 34 1 classfile Ljavassist/bytecode/ClassFile;
0 34 2 howToCallSuper I
0 34 3 wrappedBody Ljavassist/CtMethod;
0 34 4 parameters [Ljavassist/CtClass;
0 34 5 cparam Ljavassist/CtMethod$ConstParameter;
6 8 6 stacksize I
10 14 6 stacksize I
15 34 6 stacksize I
17 19 7 stacksize2 I
20 24 7 stacksize2 I
30 32 7 stacksize2 I
1 34 8 superclazz I
2 34 9 code Ljavassist/bytecode/Bytecode;
18 19 10 desc Ljava/lang/String;
21 24 10 desc Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
declaring
classfile
howToCallSuper
wrappedBody
parameters
cparam
}
SourceFile: "CtNewWrappedConstructor.java"
InnerClasses:
public ConstParameter = javassist.CtMethod$ConstParameter of javassist.CtMethod