public final class javassist.CtConstructor extends javassist.CtBehavior
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: javassist.CtConstructor
super_class: javassist.CtBehavior
{
protected void <init>(javassist.bytecode.MethodInfo, javassist.CtClass);
descriptor: (Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokespecial javassist.CtBehavior.<init>:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtConstructor;
0 2 1 minfo Ljavassist/bytecode/MethodInfo;
0 2 2 declaring Ljavassist/CtClass;
MethodParameters:
Name Flags
minfo
declaring
public void <init>(javassist.CtClass[], javassist.CtClass);
descriptor: ([Ljavassist/CtClass;Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 2
invokespecial javassist.CtConstructor.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
1: aload 2
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 3
start local 3 2: aload 1
invokestatic javassist.bytecode.Descriptor.ofConstructor:([Ljavassist/CtClass;)Ljava/lang/String;
astore 4
start local 4 3: aload 0
new javassist.bytecode.MethodInfo
dup
aload 3
ldc "<init>"
aload 4
invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
putfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
4: aload 0
iconst_1
invokevirtual javassist.CtConstructor.setModifiers:(I)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtConstructor;
0 6 1 parameters [Ljavassist/CtClass;
0 6 2 declaring Ljavassist/CtClass;
2 6 3 cp Ljavassist/bytecode/ConstPool;
3 6 4 desc Ljava/lang/String;
MethodParameters:
Name Flags
parameters
declaring
public void <init>(javassist.CtConstructor, javassist.CtClass, javassist.ClassMap);
descriptor: (Ljavassist/CtConstructor;Ljavassist/CtClass;Ljavassist/ClassMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aconst_null
aload 2
invokespecial javassist.CtConstructor.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
1: aload 0
aload 1
iconst_1
aload 3
invokevirtual javassist.CtConstructor.copy:(Ljavassist/CtBehavior;ZLjavassist/ClassMap;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtConstructor;
0 3 1 src Ljavassist/CtConstructor;
0 3 2 declaring Ljavassist/CtClass;
0 3 3 map Ljavassist/ClassMap;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
declaring
map
public boolean isConstructor();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.isConstructor:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtConstructor;
public boolean isClassInitializer();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.isStaticInitializer:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtConstructor;
public java.lang.String getLongName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual javassist.CtConstructor.getDeclaringClass:()Ljavassist/CtClass;
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
invokevirtual javassist.CtConstructor.isConstructor:()Z
ifeq 2
aload 0
invokevirtual javassist.CtConstructor.getSignature:()Ljava/lang/String;
invokestatic javassist.bytecode.Descriptor.toString:(Ljava/lang/String;)Ljava/lang/String;
goto 3
2: StackMap locals:
StackMap stack: java.lang.StringBuilder
ldc ".<clinit>()"
3: StackMap locals: javassist.CtConstructor
StackMap stack: java.lang.StringBuilder java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtConstructor;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.isStaticInitializer:()Z
ifeq 2
1: ldc "<clinit>"
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.getSimpleName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtConstructor;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual javassist.CtConstructor.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: javassist.bytecode.CodeAttribute
StackMap stack:
aload 1
invokevirtual javassist.bytecode.CodeAttribute.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 2
start local 2 4: aload 1
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 3
start local 3 5: aload 3
aload 3
invokevirtual javassist.bytecode.CodeIterator.next:()I
invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
istore 6
start local 6 6: iload 6
sipush 177
if_icmpeq 18
7: iload 6
bipush 42
if_icmpne 17
8: aload 3
aload 3
invokevirtual javassist.bytecode.CodeIterator.next:()I
dup
istore 4
start local 4 9: invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
sipush 183
if_icmpne 17
10: aload 2
aload 0
invokevirtual javassist.CtConstructor.getSuperclassName:()Ljava/lang/String;
11: aload 3
iload 4
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.u16bitAt:(I)I
12: invokevirtual javassist.bytecode.ConstPool.isConstructor:(Ljava/lang/String;I)I
dup
istore 5
start local 5 13: ifeq 17
14: ldc "()V"
aload 2
iload 5
invokevirtual javassist.bytecode.ConstPool.getUtf8Info:(I)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 3
aload 3
invokevirtual javassist.bytecode.CodeIterator.next:()I
invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
sipush 177
if_icmpne 17
16: aload 3
invokevirtual javassist.bytecode.CodeIterator.hasNext:()Z
ifeq 18
end local 5 end local 4 17: StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.ConstPool javassist.bytecode.CodeIterator top top int
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
18: iconst_1
19: ireturn
end local 6 20: StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.ConstPool javassist.bytecode.CodeIterator
StackMap stack: javassist.bytecode.BadBytecode
pop
21: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljavassist/CtConstructor;
1 22 1 ca Ljavassist/bytecode/CodeAttribute;
4 22 2 cp Ljavassist/bytecode/ConstPool;
5 22 3 it Ljavassist/bytecode/CodeIterator;
9 17 4 pos I
13 17 5 desc I
6 20 6 op0 I
Exception table:
from to target type
5 19 20 Class javassist.bytecode.BadBytecode
private java.lang.String getSuperclassName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
astore 1
start local 1 1: aload 1
invokevirtual javassist.bytecode.ClassFile.getSuperclass:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtConstructor;
1 2 1 cf Ljavassist/bytecode/ClassFile;
public boolean callsSuper();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 1
start local 1 1: aload 1
ifnull 9
2: aload 1
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 2
start local 2 3: aload 2
invokevirtual javassist.bytecode.CodeIterator.skipSuperConstructor:()I
istore 3
start local 3 4: iload 3
iflt 5
iconst_1
ireturn
StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int
StackMap stack:
5: iconst_0
6: ireturn
end local 3 7: StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator
StackMap stack: javassist.bytecode.BadBytecode
astore 3
start local 3 8: new javassist.CannotCompileException
dup
aload 3
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavassist/CtConstructor;
1 10 1 codeAttr Ljavassist/bytecode/CodeAttribute;
3 9 2 it Ljavassist/bytecode/CodeIterator;
4 7 3 index I
8 9 3 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
3 6 7 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
public void setBody(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 4
1: aload 0
invokevirtual javassist.CtConstructor.isClassInitializer:()Z
ifeq 3
2: ldc ";"
astore 1
goto 4
3: StackMap locals:
StackMap stack:
ldc "super();"
astore 1
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial javassist.CtBehavior.setBody:(Ljava/lang/String;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtConstructor;
0 6 1 src Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
public void setBody(javassist.CtConstructor, javassist.ClassMap);
descriptor: (Ljavassist/CtConstructor;Ljavassist/ClassMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
aload 1
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
1: aload 0
getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 2
2: invokestatic javassist.CtConstructor.setBody0:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/ClassMap;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtConstructor;
0 4 1 src Ljavassist/CtConstructor;
0 4 2 map Ljavassist/ClassMap;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
map
public void insertBeforeBody(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtConstructor.declaringClass:Ljavassist/CtClass;
astore 2
start local 2 1: aload 2
invokevirtual javassist.CtClass.checkModify:()V
2: aload 0
invokevirtual javassist.CtConstructor.isClassInitializer:()Z
ifeq 4
3: new javassist.CannotCompileException
dup
ldc "class initializer"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: javassist.CtClass
StackMap stack:
aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 3
start local 3 5: aload 3
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 4
start local 4 6: new javassist.bytecode.Bytecode
dup
aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
7: aload 3
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
aload 3
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
8: invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 5
start local 5 9: aload 5
aload 3
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
10: new javassist.compiler.Javac
dup
aload 5
aload 2
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
astore 6
start local 6 11: aload 6
aload 0
invokevirtual javassist.CtConstructor.getParameterTypes:()[Ljavassist/CtClass;
iconst_0
invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
pop
12: aload 6
aload 1
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
13: aload 3
aload 5
invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
14: aload 3
aload 5
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
15: aload 4
invokevirtual javassist.bytecode.CodeIterator.skipConstructor:()I
pop
16: aload 4
aload 5
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.insertEx:([B)I
istore 7
start local 7 17: aload 4
aload 5
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 7
invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
18: aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 2
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 2
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
end local 7 19: goto 26
20: StackMap locals: javassist.CtConstructor java.lang.String javassist.CtClass javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.bytecode.Bytecode javassist.compiler.Javac
StackMap stack: javassist.NotFoundException
astore 7
start local 7 21: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 7 22: StackMap locals:
StackMap stack: javassist.compiler.CompileError
astore 7
start local 7 23: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 7 24: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 7
start local 7 25: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 26: StackMap locals:
StackMap stack:
return
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 27 0 this Ljavassist/CtConstructor;
0 27 1 src Ljava/lang/String;
1 27 2 cc Ljavassist/CtClass;
5 27 3 ca Ljavassist/bytecode/CodeAttribute;
6 27 4 iterator Ljavassist/bytecode/CodeIterator;
9 27 5 b Ljavassist/bytecode/Bytecode;
11 27 6 jv Ljavassist/compiler/Javac;
17 19 7 pos I
21 22 7 e Ljavassist/NotFoundException;
23 24 7 e Ljavassist/compiler/CompileError;
25 26 7 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
11 19 20 Class javassist.NotFoundException
11 19 22 Class javassist.compiler.CompileError
11 19 24 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
int getStartPosOfBody(javassist.bytecode.CodeAttribute);
descriptor: (Ljavassist/bytecode/CodeAttribute;)I
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 2
start local 2 1: aload 2
invokevirtual javassist.bytecode.CodeIterator.skipConstructor:()I
pop
2: aload 2
invokevirtual javassist.bytecode.CodeIterator.next:()I
3: ireturn
4: StackMap locals: javassist.CtConstructor javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator
StackMap stack: javassist.bytecode.BadBytecode
astore 3
start local 3 5: new javassist.CannotCompileException
dup
aload 3
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtConstructor;
0 6 1 ca Ljavassist/bytecode/CodeAttribute;
1 6 2 ci Ljavassist/bytecode/CodeIterator;
5 6 3 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
1 3 4 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
ca
public javassist.CtMethod toMethod(java.lang.String, javassist.CtClass);
descriptor: (Ljava/lang/String;Ljavassist/CtClass;)Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual javassist.CtConstructor.toMethod:(Ljava/lang/String;Ljavassist/CtClass;Ljavassist/ClassMap;)Ljavassist/CtMethod;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtConstructor;
0 1 1 name Ljava/lang/String;
0 1 2 declaring Ljavassist/CtClass;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
name
declaring
public javassist.CtMethod toMethod(java.lang.String, javassist.CtClass, javassist.ClassMap);
descriptor: (Ljava/lang/String;Ljavassist/CtClass;Ljavassist/ClassMap;)Ljavassist/CtMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new javassist.CtMethod
dup
aconst_null
aload 2
invokespecial javassist.CtMethod.<init>:(Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;)V
astore 4
start local 4 1: aload 4
aload 0
iconst_0
aload 3
invokevirtual javassist.CtMethod.copy:(Ljavassist/CtBehavior;ZLjavassist/ClassMap;)V
2: aload 0
invokevirtual javassist.CtConstructor.isConstructor:()Z
ifeq 13
3: aload 4
invokevirtual javassist.CtMethod.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 5
start local 5 4: aload 5
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 6
start local 6 5: aload 6
ifnull 13
6: aload 6
invokestatic javassist.CtConstructor.removeConsCall:(Ljavassist/bytecode/CodeAttribute;)V
7: aload 0
getfield javassist.CtConstructor.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 2
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
8: aload 2
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
9: invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
10: goto 13
11: StackMap locals: javassist.CtConstructor java.lang.String javassist.CtClass javassist.ClassMap javassist.CtMethod javassist.bytecode.MethodInfo javassist.bytecode.CodeAttribute
StackMap stack: javassist.bytecode.BadBytecode
astore 7
start local 7 12: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 end local 5 13: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual javassist.CtMethod.setName:(Ljava/lang/String;)V
14: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavassist/CtConstructor;
0 15 1 name Ljava/lang/String;
0 15 2 declaring Ljavassist/CtClass;
0 15 3 map Ljavassist/ClassMap;
1 15 4 method Ljavassist/CtMethod;
4 13 5 minfo Ljavassist/bytecode/MethodInfo;
5 13 6 ca Ljavassist/bytecode/CodeAttribute;
12 13 7 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
7 10 11 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
name
declaring
map
private static void removeConsCall(javassist.bytecode.CodeAttribute);
descriptor: (Ljavassist/bytecode/CodeAttribute;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 1
start local 1 1: aload 1
invokevirtual javassist.bytecode.CodeIterator.skipConstructor:()I
istore 2
start local 2 2: iload 2
iflt 21
3: aload 1
iload 2
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.u16bitAt:(I)I
istore 3
start local 3 4: aload 0
invokevirtual javassist.bytecode.CodeAttribute.getConstPool:()Ljavassist/bytecode/ConstPool;
iload 3
invokevirtual javassist.bytecode.ConstPool.getMethodrefType:(I)Ljava/lang/String;
astore 4
start local 4 5: aload 4
invokestatic javassist.bytecode.Descriptor.numOfParameters:(Ljava/lang/String;)I
iconst_1
iadd
istore 5
start local 5 6: iload 5
iconst_3
if_icmple 8
7: aload 1
iload 2
iload 5
iconst_3
isub
iconst_0
invokevirtual javassist.bytecode.CodeIterator.insertGapAt:(IIZ)Ljavassist/bytecode/CodeIterator$Gap;
getfield javassist.bytecode.CodeIterator$Gap.position:I
istore 2
8: StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int int java.lang.String int
StackMap stack:
aload 1
bipush 87
iload 2
iinc 2 1
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
9: aload 1
iconst_0
iload 2
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
10: aload 1
iconst_0
iload 2
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
11: new javassist.bytecode.Descriptor$Iterator
dup
aload 4
invokespecial javassist.bytecode.Descriptor$Iterator.<init>:(Ljava/lang/String;)V
astore 6
start local 6 12: StackMap locals: javassist.bytecode.Descriptor$Iterator
StackMap stack:
aload 6
invokevirtual javassist.bytecode.Descriptor$Iterator.next:()I
pop
13: aload 6
invokevirtual javassist.bytecode.Descriptor$Iterator.isParameter:()Z
ifeq 21
14: aload 1
aload 6
invokevirtual javassist.bytecode.Descriptor$Iterator.is2byte:()Z
ifeq 15
bipush 88
goto 16
StackMap locals:
StackMap stack: javassist.bytecode.CodeIterator
15: bipush 87
16: StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int int java.lang.String int javassist.bytecode.Descriptor$Iterator
StackMap stack: javassist.bytecode.CodeIterator int
iload 2
iinc 2 1
17: invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
18: goto 12
end local 6 end local 5 end local 4 end local 3 end local 2 19: StackMap locals: javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator
StackMap stack: javassist.bytecode.BadBytecode
astore 2
start local 2 20: new javassist.CannotCompileException
dup
aload 2
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 ca Ljavassist/bytecode/CodeAttribute;
1 22 1 iterator Ljavassist/bytecode/CodeIterator;
2 19 2 pos I
4 19 3 mref I
5 19 4 desc Ljava/lang/String;
6 19 5 num I
12 19 6 it Ljavassist/bytecode/Descriptor$Iterator;
20 21 2 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
1 19 19 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
ca
}
SourceFile: "CtConstructor.java"
InnerClasses:
public Gap = javassist.bytecode.CodeIterator$Gap of javassist.bytecode.CodeIterator
public Iterator = javassist.bytecode.Descriptor$Iterator of javassist.bytecode.Descriptor