public abstract class javassist.CtBehavior extends javassist.CtMember
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: javassist.CtBehavior
super_class: javassist.CtMember
{
protected javassist.bytecode.MethodInfo methodInfo;
descriptor: Ljavassist/bytecode/MethodInfo;
flags: (0x0004) ACC_PROTECTED
protected void <init>(javassist.CtClass, javassist.bytecode.MethodInfo);
descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial javassist.CtMember.<init>:(Ljavassist/CtClass;)V
1: aload 0
aload 2
putfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtBehavior;
0 3 1 clazz Ljavassist/CtClass;
0 3 2 minfo Ljavassist/bytecode/MethodInfo;
MethodParameters:
Name Flags
clazz
minfo
void copy(javassist.CtBehavior, boolean, javassist.ClassMap);
descriptor: (Ljavassist/CtBehavior;ZLjavassist/ClassMap;)V
flags: (0x0000)
Code:
stack=7, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 4
start local 4 1: aload 1
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
astore 5
start local 5 2: aload 1
invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
astore 6
start local 6 3: aload 4
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 7
start local 7 4: new javassist.ClassMap
dup
aload 3
invokespecial javassist.ClassMap.<init>:(Ljavassist/ClassMap;)V
astore 3
5: aload 3
aload 6
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aload 4
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokevirtual javassist.ClassMap.put:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
6: iconst_0
istore 8
start local 8 7: aload 6
invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
astore 9
start local 9 8: aload 4
invokevirtual javassist.CtClass.getSuperclass:()Ljavassist/CtClass;
astore 10
start local 10 9: aconst_null
astore 11
start local 11 10: aload 9
ifnull 17
aload 10
ifnull 17
11: aload 9
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
astore 12
start local 12 12: aload 10
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
astore 11
13: aload 12
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
14: aload 12
ldc "java.lang.Object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: iconst_1
istore 8
goto 17
16: StackMap locals: javassist.CtBehavior javassist.CtBehavior int javassist.ClassMap javassist.CtClass javassist.bytecode.MethodInfo javassist.CtClass javassist.bytecode.ConstPool int javassist.CtClass javassist.CtClass java.lang.String java.lang.String
StackMap stack:
aload 3
aload 12
aload 11
invokevirtual javassist.ClassMap.putIfNone:(Ljava/lang/String;Ljava/lang/String;)V
end local 12 17: StackMap locals:
StackMap stack:
aload 0
new javassist.bytecode.MethodInfo
dup
aload 7
aload 5
invokevirtual javassist.bytecode.MethodInfo.getName:()Ljava/lang/String;
aload 5
aload 3
invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljavassist/bytecode/MethodInfo;Ljava/util/Map;)V
putfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
18: iload 2
ifeq 25
iload 8
ifeq 25
19: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 11
invokevirtual javassist.bytecode.MethodInfo.setSuperclass:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 end local 8 20: goto 25
21: StackMap locals: javassist.CtBehavior javassist.CtBehavior int javassist.ClassMap javassist.CtClass javassist.bytecode.MethodInfo javassist.CtClass javassist.bytecode.ConstPool
StackMap stack: javassist.NotFoundException
astore 8
start local 8 22: new javassist.CannotCompileException
dup
aload 8
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 8 23: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 8
start local 8 24: new javassist.CannotCompileException
dup
aload 8
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 25: StackMap locals:
StackMap stack:
return
end local 7 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 26 0 this Ljavassist/CtBehavior;
0 26 1 src Ljavassist/CtBehavior;
0 26 2 isCons Z
0 26 3 map Ljavassist/ClassMap;
1 26 4 declaring Ljavassist/CtClass;
2 26 5 srcInfo Ljavassist/bytecode/MethodInfo;
3 26 6 srcClass Ljavassist/CtClass;
4 26 7 cp Ljavassist/bytecode/ConstPool;
7 20 8 patch Z
8 20 9 srcSuper Ljavassist/CtClass;
9 20 10 destSuper Ljavassist/CtClass;
10 20 11 destSuperName Ljava/lang/String;
12 17 12 srcSuperName Ljava/lang/String;
22 23 8 e Ljavassist/NotFoundException;
24 25 8 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
6 20 21 Class javassist.NotFoundException
6 20 23 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
isCons
map
protected void extendToString(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
bipush 32
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
1: aload 1
aload 0
invokevirtual javassist.CtBehavior.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: aload 1
bipush 32
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
3: aload 1
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtBehavior;
0 5 1 buffer Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
buffer
public abstract java.lang.String getLongName();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public javassist.bytecode.MethodInfo getMethodInfo();
descriptor: ()Ljavassist/bytecode/MethodInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtBehavior;
public javassist.bytecode.MethodInfo getMethodInfo2();
descriptor: ()Ljavassist/bytecode/MethodInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
public int getModifiers();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
invokestatic javassist.bytecode.AccessFlag.toModifier:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
public void setModifiers(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
iload 1
invokestatic javassist.bytecode.AccessFlag.of:(I)I
invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtBehavior;
0 3 1 mod I
MethodParameters:
Name Flags
mod
public boolean hasAnnotation(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.AnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.AnnotationsAttribute
astore 4
start local 4 5: aload 1
6: aload 0
invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
7: aload 3
aload 4
8: invokestatic javassist.CtClassType.hasAnnotationType:(Ljava/lang/String;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtBehavior;
0 9 1 typeName Ljava/lang/String;
1 9 2 mi Ljavassist/bytecode/MethodInfo;
3 9 3 ainfo Ljavassist/bytecode/AnnotationsAttribute;
5 9 4 ainfo2 Ljavassist/bytecode/AnnotationsAttribute;
MethodParameters:
Name Flags
typeName
public getAnnotation(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.AnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.AnnotationsAttribute
astore 4
start local 4 5: aload 1
6: aload 0
invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
7: aload 3
aload 4
8: invokestatic javassist.CtClassType.getAnnotationType:(Ljava/lang/Class;Ljavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtBehavior;
0 9 1 clz Ljava/lang/Class<*>;
1 9 2 mi Ljavassist/bytecode/MethodInfo;
3 9 3 ainfo Ljavassist/bytecode/AnnotationsAttribute;
5 9 4 ainfo2 Ljavassist/bytecode/AnnotationsAttribute;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
clz
public java.lang.Object[] getAnnotations();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual javassist.CtBehavior.getAnnotations:(Z)[Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
Exceptions:
throws java.lang.ClassNotFoundException
public java.lang.Object[] getAvailableAnnotations();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual javassist.CtBehavior.getAnnotations:(Z)[Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 1
start local 1 3: new java.lang.RuntimeException
dup
ldc "Unexpected exception"
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtBehavior;
3 4 1 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
private java.lang.Object[] getAnnotations(boolean);
descriptor: (Z)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.AnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.AnnotationsAttribute
astore 4
start local 4 5: iload 1
6: aload 0
invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
7: aload 3
aload 4
8: invokestatic javassist.CtClassType.toAnnotationType:(ZLjavassist/ClassPool;Ljavassist/bytecode/AnnotationsAttribute;Ljavassist/bytecode/AnnotationsAttribute;)[Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtBehavior;
0 9 1 ignoreNotFound Z
1 9 2 mi Ljavassist/bytecode/MethodInfo;
3 9 3 ainfo Ljavassist/bytecode/AnnotationsAttribute;
5 9 4 ainfo2 Ljavassist/bytecode/AnnotationsAttribute;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ignoreNotFound
public java.lang.Object[][] getParameterAnnotations();
descriptor: ()[[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual javassist.CtBehavior.getParameterAnnotations:(Z)[[Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
Exceptions:
throws java.lang.ClassNotFoundException
public java.lang.Object[][] getAvailableParameterAnnotations();
descriptor: ()[[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual javassist.CtBehavior.getParameterAnnotations:(Z)[[Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 1
start local 1 3: new java.lang.RuntimeException
dup
ldc "Unexpected exception"
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtBehavior;
3 4 1 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
java.lang.Object[][] getParameterAnnotations(boolean);
descriptor: (Z)[[Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javassist.CtBehavior.getMethodInfo2:()Ljavassist/bytecode/MethodInfo;
astore 2
start local 2 1: aload 2
ldc "RuntimeInvisibleParameterAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
2: checkcast javassist.bytecode.ParameterAnnotationsAttribute
astore 3
start local 3 3: aload 2
ldc "RuntimeVisibleParameterAnnotations"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
4: checkcast javassist.bytecode.ParameterAnnotationsAttribute
astore 4
start local 4 5: iload 1
6: aload 0
invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
7: aload 3
aload 4
aload 2
8: invokestatic javassist.CtClassType.toAnnotationType:(ZLjavassist/ClassPool;Ljavassist/bytecode/ParameterAnnotationsAttribute;Ljavassist/bytecode/ParameterAnnotationsAttribute;Ljavassist/bytecode/MethodInfo;)[[Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljavassist/CtBehavior;
0 9 1 ignoreNotFound Z
1 9 2 mi Ljavassist/bytecode/MethodInfo;
3 9 3 ainfo Ljavassist/bytecode/ParameterAnnotationsAttribute;
5 9 4 ainfo2 Ljavassist/bytecode/ParameterAnnotationsAttribute;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ignoreNotFound
public javassist.CtClass[] getParameterTypes();
descriptor: ()[Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
1: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
2: invokestatic javassist.bytecode.Descriptor.getParameterTypes:(Ljava/lang/String;Ljavassist/ClassPool;)[Ljavassist/CtClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtBehavior;
Exceptions:
throws javassist.NotFoundException
javassist.CtClass getReturnType0();
descriptor: ()Ljavassist/CtClass;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
1: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
2: invokestatic javassist.bytecode.Descriptor.getReturnType:(Ljava/lang/String;Ljavassist/ClassPool;)Ljavassist/CtClass;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtBehavior;
Exceptions:
throws javassist.NotFoundException
public java.lang.String getSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
public java.lang.String getGenericSignature();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
ldc "Signature"
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.SignatureAttribute
1: astore 1
start local 1 2: aload 1
ifnonnull 3
aconst_null
goto 4
StackMap locals: javassist.bytecode.SignatureAttribute
StackMap stack:
3: aload 1
invokevirtual javassist.bytecode.SignatureAttribute.getSignature:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtBehavior;
2 5 1 sa Ljavassist/bytecode/SignatureAttribute;
public void setGenericSignature(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
new javassist.bytecode.SignatureAttribute
dup
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
aload 1
invokespecial javassist.bytecode.SignatureAttribute.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;)V
invokevirtual javassist.bytecode.MethodInfo.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavassist/CtBehavior;
0 3 1 sig Ljava/lang/String;
MethodParameters:
Name Flags
sig
public javassist.CtClass[] getExceptionTypes();
descriptor: ()[Ljavassist/CtClass;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getExceptionsAttribute:()Ljavassist/bytecode/ExceptionsAttribute;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aconst_null
astore 1
start local 1 3: goto 5
end local 1 4: StackMap locals: javassist.CtBehavior top javassist.bytecode.ExceptionsAttribute
StackMap stack:
aload 2
invokevirtual javassist.bytecode.ExceptionsAttribute.getExceptions:()[Ljava/lang/String;
astore 1
start local 1 5: StackMap locals: javassist.CtBehavior java.lang.String[] javassist.bytecode.ExceptionsAttribute
StackMap stack:
aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 1
invokevirtual javassist.ClassPool.get:([Ljava/lang/String;)[Ljavassist/CtClass;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavassist/CtBehavior;
3 4 1 exceptions [Ljava/lang/String;
5 6 1 exceptions [Ljava/lang/String;
1 6 2 ea Ljavassist/bytecode/ExceptionsAttribute;
Exceptions:
throws javassist.NotFoundException
public void setExceptionTypes(javassist.CtClass[]);
descriptor: ([Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 1
ifnull 2
aload 1
arraylength
ifne 4
2: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.removeExceptionsAttribute:()V
3: return
4: StackMap locals:
StackMap stack:
aload 1
arraylength
anewarray java.lang.String
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 9
7: StackMap locals: java.lang.String[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aastore
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
arraylength
if_icmplt 7
end local 3 10: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getExceptionsAttribute:()Ljavassist/bytecode/ExceptionsAttribute;
astore 3
start local 3 11: aload 3
ifnonnull 14
12: new javassist.bytecode.ExceptionsAttribute
dup
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
invokespecial javassist.bytecode.ExceptionsAttribute.<init>:(Ljavassist/bytecode/ConstPool;)V
astore 3
13: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 3
invokevirtual javassist.bytecode.MethodInfo.setExceptionsAttribute:(Ljavassist/bytecode/ExceptionsAttribute;)V
14: StackMap locals: javassist.CtBehavior javassist.CtClass[] java.lang.String[] javassist.bytecode.ExceptionsAttribute
StackMap stack:
aload 3
aload 2
invokevirtual javassist.bytecode.ExceptionsAttribute.setExceptions:([Ljava/lang/String;)V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljavassist/CtBehavior;
0 16 1 types [Ljavassist/CtClass;
5 16 2 names [Ljava/lang/String;
6 10 3 i I
11 16 3 ea Ljavassist/bytecode/ExceptionsAttribute;
Exceptions:
throws javassist.NotFoundException
MethodParameters:
Name Flags
types
public abstract boolean isEmpty();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public void setBody(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokevirtual javassist.CtBehavior.setBody:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtBehavior;
0 2 1 src Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
public void setBody(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 4
start local 4 1: aload 4
invokevirtual javassist.CtClass.checkModify:()V
2: new javassist.compiler.Javac
dup
aload 4
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
astore 5
start local 5 3: aload 3
ifnull 5
4: aload 5
aload 2
aload 3
invokevirtual javassist.compiler.Javac.recordProceed:(Ljava/lang/String;Ljava/lang/String;)V
5: StackMap locals: javassist.CtClass javassist.compiler.Javac
StackMap stack:
aload 5
aload 0
aload 1
invokevirtual javassist.compiler.Javac.compileBody:(Ljavassist/CtBehavior;Ljava/lang/String;)Ljavassist/bytecode/Bytecode;
astore 6
start local 6 6: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 6
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
7: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
8: sipush -1025
iand
9: invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
10: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 4
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 4
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
11: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.rebuildClassFile:()V
end local 6 end local 5 12: goto 17
13: StackMap locals: javassist.CtBehavior java.lang.String java.lang.String java.lang.String javassist.CtClass
StackMap stack: javassist.compiler.CompileError
astore 5
start local 5 14: new javassist.CannotCompileException
dup
aload 5
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 5 15: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 5
start local 5 16: new javassist.CannotCompileException
dup
aload 5
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljavassist/CtBehavior;
0 18 1 src Ljava/lang/String;
0 18 2 delegateObj Ljava/lang/String;
0 18 3 delegateMethod Ljava/lang/String;
1 18 4 cc Ljavassist/CtClass;
3 12 5 jv Ljavassist/compiler/Javac;
6 12 6 b Ljavassist/bytecode/Bytecode;
14 15 5 e Ljavassist/compiler/CompileError;
16 17 5 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
2 12 13 Class javassist.compiler.CompileError
2 12 15 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
delegateObj
delegateMethod
static void setBody0(javassist.CtClass, javassist.bytecode.MethodInfo, javassist.CtClass, javassist.bytecode.MethodInfo, javassist.ClassMap);
descriptor: (Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/ClassMap;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual javassist.CtClass.checkModify:()V
1: new javassist.ClassMap
dup
aload 4
invokespecial javassist.ClassMap.<init>:(Ljavassist/ClassMap;)V
astore 4
2: aload 4
aload 0
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aload 2
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
invokevirtual javassist.ClassMap.put:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
3: aload 1
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 5
start local 5 4: aload 5
ifnull 11
5: aload 3
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 6
start local 6 6: aload 5
aload 6
aload 4
invokevirtual javassist.bytecode.CodeAttribute.copy:(Ljavassist/bytecode/ConstPool;Ljava/util/Map;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.CodeAttribute
astore 7
start local 7 7: aload 3
aload 7
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
end local 7 end local 6 end local 5 8: goto 11
9: StackMap locals:
StackMap stack: javassist.bytecode.CodeAttribute$RuntimeCopyException
astore 5
start local 5 10: new javassist.CannotCompileException
dup
aload 5
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 11: StackMap locals:
StackMap stack:
aload 3
aload 3
invokevirtual javassist.bytecode.MethodInfo.getAccessFlags:()I
12: sipush -1025
iand
13: invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
14: aload 2
invokevirtual javassist.CtClass.rebuildClassFile:()V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 srcClass Ljavassist/CtClass;
0 16 1 srcInfo Ljavassist/bytecode/MethodInfo;
0 16 2 destClass Ljavassist/CtClass;
0 16 3 destInfo Ljavassist/bytecode/MethodInfo;
0 16 4 map Ljavassist/ClassMap;
4 8 5 cattr Ljavassist/bytecode/CodeAttribute;
6 8 6 cp Ljavassist/bytecode/ConstPool;
7 8 7 ca Ljavassist/bytecode/CodeAttribute;
10 11 5 e Ljavassist/bytecode/CodeAttribute$RuntimeCopyException;
Exception table:
from to target type
3 8 9 Class javassist.bytecode.CodeAttribute$RuntimeCopyException
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
srcClass
srcInfo
destClass
destInfo
map
public byte[] getAttribute(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 1
invokevirtual javassist.bytecode.MethodInfo.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: javassist.bytecode.AttributeInfo
StackMap stack:
aload 2
invokevirtual javassist.bytecode.AttributeInfo.get:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtBehavior;
0 4 1 name Ljava/lang/String;
1 4 2 ai Ljavassist/bytecode/AttributeInfo;
MethodParameters:
Name Flags
name
public void setAttribute(java.lang.String, byte[]);
descriptor: (Ljava/lang/String;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
new javassist.bytecode.AttributeInfo
dup
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
2: aload 1
aload 2
invokespecial javassist.bytecode.AttributeInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;[B)V
3: invokevirtual javassist.bytecode.MethodInfo.addAttribute:(Ljavassist/bytecode/AttributeInfo;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtBehavior;
0 5 1 name Ljava/lang/String;
0 5 2 data [B
MethodParameters:
Name Flags
name
data
public void useCflow(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 2
start local 2 1: aload 2
invokevirtual javassist.CtClass.checkModify:()V
2: aload 2
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
astore 3
start local 3 3: iconst_0
istore 5
start local 5 4: StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass javassist.ClassPool top int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "_cflow$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
iinc 5 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 5: aload 2
aload 4
invokevirtual javassist.CtClass.getDeclaredField:(Ljava/lang/String;)Ljavassist/CtField;
pop
6: goto 4
7: StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass javassist.ClassPool java.lang.String int
StackMap stack: javassist.NotFoundException
pop
8: aload 3
aload 1
aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.getName:()Ljava/lang/String;
aload 4
invokevirtual javassist.ClassPool.recordCflow:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
9: aload 3
ldc "javassist.runtime.Cflow"
invokevirtual javassist.ClassPool.get:(Ljava/lang/String;)Ljavassist/CtClass;
astore 6
start local 6 10: new javassist.CtField
dup
aload 6
aload 4
aload 2
invokespecial javassist.CtField.<init>:(Ljavassist/CtClass;Ljava/lang/String;Ljavassist/CtClass;)V
astore 7
start local 7 11: aload 7
bipush 9
invokevirtual javassist.CtField.setModifiers:(I)V
12: aload 2
aload 7
aload 6
invokestatic javassist.CtField$Initializer.byNew:(Ljavassist/CtClass;)Ljavassist/CtField$Initializer;
invokevirtual javassist.CtClass.addField:(Ljavassist/CtField;Ljavassist/CtField$Initializer;)V
13: aload 0
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".enter();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
invokevirtual javassist.CtBehavior.insertBefore:(Ljava/lang/String;Z)V
14: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".exit();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 15: aload 0
aload 8
iconst_1
invokevirtual javassist.CtBehavior.insertAfter:(Ljava/lang/String;Z)V
end local 8 end local 7 end local 6 16: goto 19
17: StackMap locals:
StackMap stack: javassist.NotFoundException
astore 6
start local 6 18: new javassist.CannotCompileException
dup
aload 6
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 6 19: StackMap locals:
StackMap stack:
return
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 20 0 this Ljavassist/CtBehavior;
0 20 1 name Ljava/lang/String;
1 20 2 cc Ljavassist/CtClass;
3 20 3 pool Ljavassist/ClassPool;
5 20 4 fname Ljava/lang/String;
4 20 5 i I
10 16 6 type Ljavassist/CtClass;
11 16 7 field Ljavassist/CtField;
15 16 8 src Ljava/lang/String;
18 19 6 e Ljavassist/NotFoundException;
Exception table:
from to target type
5 6 7 Class javassist.NotFoundException
9 16 17 Class javassist.NotFoundException
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
name
public void addLocalVariable(java.lang.String, javassist.CtClass);
descriptor: (Ljava/lang/String;Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 3
start local 3 2: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: new javassist.CannotCompileException
dup
ldc "no method body"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute
StackMap stack:
aload 4
6: ldc "LocalVariableTable"
7: invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.LocalVariableAttribute
astore 5
start local 5 8: aload 5
ifnonnull 11
9: new javassist.bytecode.LocalVariableAttribute
dup
aload 3
invokespecial javassist.bytecode.LocalVariableAttribute.<init>:(Ljavassist/bytecode/ConstPool;)V
astore 5
10: aload 4
invokevirtual javassist.bytecode.CodeAttribute.getAttributes:()Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals: javassist.bytecode.LocalVariableAttribute
StackMap stack:
aload 4
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
istore 6
start local 6 12: aload 2
invokestatic javassist.bytecode.Descriptor.of:(Ljavassist/CtClass;)Ljava/lang/String;
astore 7
start local 7 13: aload 5
iconst_0
aload 4
invokevirtual javassist.bytecode.CodeAttribute.getCodeLength:()I
14: aload 3
aload 1
invokevirtual javassist.bytecode.ConstPool.addUtf8Info:(Ljava/lang/String;)I
aload 3
aload 7
invokevirtual javassist.bytecode.ConstPool.addUtf8Info:(Ljava/lang/String;)I
iload 6
15: invokevirtual javassist.bytecode.LocalVariableAttribute.addEntry:(IIIII)V
16: aload 4
iload 6
aload 7
invokestatic javassist.bytecode.Descriptor.dataSize:(Ljava/lang/String;)I
iadd
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
17: return
end local 7 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 18 0 this Ljavassist/CtBehavior;
0 18 1 name Ljava/lang/String;
0 18 2 type Ljavassist/CtClass;
2 18 3 cp Ljavassist/bytecode/ConstPool;
3 18 4 ca Ljavassist/bytecode/CodeAttribute;
8 18 5 va Ljavassist/bytecode/LocalVariableAttribute;
12 18 6 maxLocals I
13 18 7 desc Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
name
type
public void insertParameter(javassist.CtClass);
descriptor: (Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
astore 2
start local 2 2: aload 1
aload 2
invokestatic javassist.bytecode.Descriptor.insertParameter:(Ljavassist/CtClass;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 3: aload 0
aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
ifeq 4
iconst_0
goto 5
StackMap locals: javassist.CtBehavior javassist.CtClass java.lang.String java.lang.String
StackMap stack: javassist.CtBehavior
4: iconst_1
StackMap locals: javassist.CtBehavior javassist.CtClass java.lang.String java.lang.String
StackMap stack: javassist.CtBehavior int
5: aload 1
aload 2
invokevirtual javassist.CtBehavior.addParameter2:(ILjavassist/CtClass;Ljava/lang/String;)V
6: goto 9
7: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 4
start local 4 8: new javassist.CannotCompileException
dup
aload 4
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 9: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 3
invokevirtual javassist.bytecode.MethodInfo.setDescriptor:(Ljava/lang/String;)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljavassist/CtBehavior;
0 11 1 type Ljavassist/CtClass;
2 11 2 desc Ljava/lang/String;
3 11 3 desc2 Ljava/lang/String;
8 9 4 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
3 6 7 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
type
public void addParameter(javassist.CtClass);
descriptor: (Ljavassist/CtClass;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getDescriptor:()Ljava/lang/String;
astore 2
start local 2 2: aload 1
aload 2
invokestatic javassist.bytecode.Descriptor.appendParameter:(Ljavassist/CtClass;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 3: aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
ifeq 4
iconst_0
goto 5
StackMap locals: java.lang.String java.lang.String
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: aload 0
iload 4
aload 2
invokestatic javassist.bytecode.Descriptor.paramSize:(Ljava/lang/String;)I
iadd
aload 1
aload 2
invokevirtual javassist.CtBehavior.addParameter2:(ILjavassist/CtClass;Ljava/lang/String;)V
7: goto 10
8: StackMap locals: javassist.CtBehavior javassist.CtClass java.lang.String java.lang.String int
StackMap stack: javassist.bytecode.BadBytecode
astore 5
start local 5 9: new javassist.CannotCompileException
dup
aload 5
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 10: StackMap locals:
StackMap stack:
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 3
invokevirtual javassist.bytecode.MethodInfo.setDescriptor:(Ljava/lang/String;)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljavassist/CtBehavior;
0 12 1 type Ljavassist/CtClass;
2 12 2 desc Ljava/lang/String;
3 12 3 desc2 Ljava/lang/String;
6 12 4 offset I
9 10 5 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
6 7 8 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
type
private void addParameter2(int, javassist.CtClass, java.lang.String);
descriptor: (ILjavassist/CtClass;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 4
start local 4 1: aload 4
ifnull 26
2: iconst_1
istore 5
start local 5 3: bipush 76
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: aload 2
invokevirtual javassist.CtClass.isPrimitive:()Z
ifeq 10
6: aload 2
checkcast javassist.CtPrimitiveType
astore 8
start local 8 7: aload 8
invokevirtual javassist.CtPrimitiveType.getDataSize:()I
istore 5
8: aload 8
invokevirtual javassist.CtPrimitiveType.getDescriptor:()C
istore 6
end local 8 9: goto 11
10: StackMap locals: javassist.CtBehavior int javassist.CtClass java.lang.String javassist.bytecode.CodeAttribute int int int
StackMap stack:
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
aload 2
invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljavassist/CtClass;)I
istore 7
11: StackMap locals:
StackMap stack:
aload 4
iload 1
iload 5
invokevirtual javassist.bytecode.CodeAttribute.insertLocalVar:(II)V
12: aload 4
ldc "LocalVariableTable"
invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.LocalVariableAttribute
13: astore 8
start local 8 14: aload 8
ifnull 16
15: aload 8
iload 1
iload 5
invokevirtual javassist.bytecode.LocalVariableAttribute.shiftIndex:(II)V
16: StackMap locals: javassist.bytecode.LocalVariableAttribute
StackMap stack:
aload 4
ldc "LocalVariableTypeTable"
invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.LocalVariableTypeAttribute
17: astore 9
start local 9 18: aload 9
ifnull 20
19: aload 9
iload 1
iload 5
invokevirtual javassist.bytecode.LocalVariableTypeAttribute.shiftIndex:(II)V
20: StackMap locals: javassist.bytecode.LocalVariableTypeAttribute
StackMap stack:
aload 4
ldc "StackMapTable"
invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.StackMapTable
astore 10
start local 10 21: aload 10
ifnull 23
22: aload 10
iload 1
iload 6
invokestatic javassist.bytecode.StackMapTable.typeTagOf:(C)I
iload 7
invokevirtual javassist.bytecode.StackMapTable.insertLocal:(III)V
23: StackMap locals: javassist.bytecode.StackMapTable
StackMap stack:
aload 4
ldc "StackMap"
invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.StackMap
astore 11
start local 11 24: aload 11
ifnull 26
25: aload 11
iload 1
iload 6
invokestatic javassist.bytecode.StackMapTable.typeTagOf:(C)I
iload 7
invokevirtual javassist.bytecode.StackMap.insertLocal:(III)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 26: StackMap locals: javassist.CtBehavior int javassist.CtClass java.lang.String javassist.bytecode.CodeAttribute
StackMap stack:
return
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/CtBehavior;
0 27 1 where I
0 27 2 type Ljavassist/CtClass;
0 27 3 desc Ljava/lang/String;
1 27 4 ca Ljavassist/bytecode/CodeAttribute;
3 26 5 size I
4 26 6 typeDesc C
5 26 7 classInfo I
7 9 8 cpt Ljavassist/CtPrimitiveType;
14 26 8 va Ljavassist/bytecode/LocalVariableAttribute;
18 26 9 lvta Ljavassist/bytecode/LocalVariableTypeAttribute;
21 26 10 smt Ljavassist/bytecode/StackMapTable;
24 26 11 sm Ljavassist/bytecode/StackMap;
Exceptions:
throws javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
where
type
desc
public void instrument(javassist.CodeConverter);
descriptor: (Ljavassist/CodeConverter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
1: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 2
start local 2 2: aload 1
aload 0
invokevirtual javassist.CtBehavior.getDeclaringClass:()Ljavassist/CtClass;
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 2
invokevirtual javassist.CodeConverter.doit:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;Ljavassist/bytecode/ConstPool;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljavassist/CtBehavior;
0 4 1 converter Ljavassist/CodeConverter;
2 4 2 cp Ljavassist/bytecode/ConstPool;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
converter
public void instrument(javassist.expr.ExprEditor);
descriptor: (Ljavassist/expr/ExprEditor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.isFrozen:()Z
ifeq 2
1: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.expr.ExprEditor.doit:(Ljavassist/CtClass;Ljavassist/bytecode/MethodInfo;)Z
ifeq 4
3: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
invokevirtual javassist.CtClass.checkModify:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavassist/CtBehavior;
0 5 1 editor Ljavassist/expr/ExprEditor;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
editor
public void insertBefore(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual javassist.CtBehavior.insertBefore:(Ljava/lang/String;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtBehavior;
0 2 1 src Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
private void insertBefore(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 3
start local 3 1: aload 3
invokevirtual javassist.CtClass.checkModify:()V
2: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: new javassist.CannotCompileException
dup
ldc "no method body"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: javassist.CtClass javassist.bytecode.CodeAttribute
StackMap stack:
aload 4
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 5
start local 5 6: new javassist.compiler.Javac
dup
aload 3
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
astore 6
start local 6 7: aload 6
aload 0
invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
8: aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
9: invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
istore 7
start local 7 10: aload 6
aload 4
iload 7
invokevirtual javassist.compiler.Javac.recordParamNames:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
11: aload 6
aload 4
iconst_0
invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
12: aload 6
aload 0
invokevirtual javassist.CtBehavior.getReturnType0:()Ljavassist/CtClass;
iconst_0
invokevirtual javassist.compiler.Javac.recordReturnType:(Ljavassist/CtClass;Z)I
pop
13: aload 6
aload 1
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
14: aload 6
invokevirtual javassist.compiler.Javac.getBytecode:()Ljavassist/bytecode/Bytecode;
astore 8
start local 8 15: aload 8
invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
istore 9
start local 9 16: aload 8
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
istore 10
start local 10 17: iload 9
aload 4
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
if_icmple 19
18: aload 4
iload 9
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
19: StackMap locals: javassist.CtBehavior java.lang.String int javassist.CtClass javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.compiler.Javac int javassist.bytecode.Bytecode int int
StackMap stack:
iload 10
aload 4
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
if_icmple 21
20: aload 4
iload 10
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
21: StackMap locals:
StackMap stack:
aload 5
aload 8
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.insertEx:([B)I
istore 11
start local 11 22: aload 5
aload 8
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 11
invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
23: iload 2
ifeq 32
24: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 3
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 3
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
end local 11 end local 10 end local 9 end local 8 end local 7 25: goto 32
26: StackMap locals: javassist.CtBehavior java.lang.String int javassist.CtClass javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.compiler.Javac
StackMap stack: javassist.NotFoundException
astore 7
start local 7 27: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 7 28: StackMap locals:
StackMap stack: javassist.compiler.CompileError
astore 7
start local 7 29: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 7 30: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 7
start local 7 31: new javassist.CannotCompileException
dup
aload 7
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 32: 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 33 0 this Ljavassist/CtBehavior;
0 33 1 src Ljava/lang/String;
0 33 2 rebuild Z
1 33 3 cc Ljavassist/CtClass;
3 33 4 ca Ljavassist/bytecode/CodeAttribute;
6 33 5 iterator Ljavassist/bytecode/CodeIterator;
7 33 6 jv Ljavassist/compiler/Javac;
10 25 7 nvars I
15 25 8 b Ljavassist/bytecode/Bytecode;
16 25 9 stack I
17 25 10 locals I
22 25 11 pos I
27 28 7 e Ljavassist/NotFoundException;
29 30 7 e Ljavassist/compiler/CompileError;
31 32 7 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
7 25 26 Class javassist.NotFoundException
7 25 28 Class javassist.compiler.CompileError
7 25 30 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
rebuild
public void insertAfter(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_0
invokevirtual javassist.CtBehavior.insertAfter:(Ljava/lang/String;ZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtBehavior;
0 2 1 src Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
public void insertAfter(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
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
iload 2
iconst_0
invokevirtual javassist.CtBehavior.insertAfter:(Ljava/lang/String;ZZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtBehavior;
0 2 1 src Ljava/lang/String;
0 2 2 asFinally Z
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
asFinally
public void insertAfter(java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=27, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 4
start local 4 1: aload 4
invokevirtual javassist.CtClass.checkModify:()V
2: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 5
start local 5 3: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: new javassist.CannotCompileException
dup
ldc "no method body"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute
StackMap stack:
aload 6
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 7
start local 7 7: aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
istore 8
start local 8 8: new javassist.bytecode.Bytecode
dup
aload 5
iconst_0
iload 8
iconst_1
iadd
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 9
start local 9 9: aload 9
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
iconst_1
iadd
invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
10: new javassist.compiler.Javac
dup
aload 9
aload 4
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
astore 10
start local 10 11: aload 10
aload 0
invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
12: aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
13: invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
istore 11
start local 11 14: aload 10
aload 6
iload 11
invokevirtual javassist.compiler.Javac.recordParamNames:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
15: aload 0
invokevirtual javassist.CtBehavior.getReturnType0:()Ljavassist/CtClass;
astore 12
start local 12 16: aload 10
aload 12
iconst_1
invokevirtual javassist.compiler.Javac.recordReturnType:(Ljavassist/CtClass;Z)I
istore 13
start local 13 17: aload 10
aload 6
iconst_0
invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
18: aload 0
iload 2
aload 9
aload 12
iload 13
19: aload 10
aload 1
20: invokevirtual javassist.CtBehavior.insertAfterHandler:(ZLjavassist/bytecode/Bytecode;Ljavassist/CtClass;ILjavassist/compiler/Javac;Ljava/lang/String;)I
istore 14
start local 14 21: aload 7
invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
istore 15
start local 15 22: iload 2
ifeq 24
23: aload 6
invokevirtual javassist.bytecode.CodeAttribute.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
aload 0
aload 6
invokevirtual javassist.CtBehavior.getStartPosOfBody:(Ljavassist/bytecode/CodeAttribute;)I
iload 15
iload 15
iconst_0
invokevirtual javassist.bytecode.ExceptionTable.add:(IIII)V
24: StackMap locals: javassist.CtBehavior java.lang.String int int javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int javassist.bytecode.Bytecode javassist.compiler.Javac int javassist.CtClass int int int
StackMap stack:
iconst_0
istore 16
start local 16 25: iconst_0
istore 17
start local 17 26: iconst_1
istore 18
start local 18 27: goto 69
28: StackMap locals: int int int
StackMap stack:
aload 7
invokevirtual javassist.bytecode.CodeIterator.next:()I
istore 19
start local 19 29: iload 19
iload 15
if_icmplt 31
30: goto 70
31: StackMap locals: int
StackMap stack:
aload 7
iload 19
invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
istore 20
start local 20 32: iload 20
sipush 176
if_icmpeq 35
iload 20
sipush 172
if_icmpeq 35
33: iload 20
sipush 174
if_icmpeq 35
iload 20
sipush 173
if_icmpeq 35
34: iload 20
sipush 175
if_icmpeq 35
iload 20
sipush 177
if_icmpne 69
35: StackMap locals: int
StackMap stack:
iload 3
ifeq 59
36: aload 7
iload 15
invokevirtual javassist.bytecode.CodeIterator.setMark2:(I)V
37: iload 18
ifeq 43
38: iconst_0
istore 18
39: aload 9
astore 21
start local 21 40: aload 10
astore 22
start local 22 41: iload 13
istore 23
start local 23 42: goto 52
end local 23 end local 22 end local 21 43: StackMap locals:
StackMap stack:
new javassist.bytecode.Bytecode
dup
aload 5
iconst_0
iload 8
iconst_1
iadd
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 21
start local 21 44: aload 21
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
iconst_1
iadd
invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
45: new javassist.compiler.Javac
dup
aload 21
aload 4
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
astore 22
start local 22 46: aload 22
aload 0
invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
47: aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
48: invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
istore 24
start local 24 49: aload 22
aload 6
iload 24
invokevirtual javassist.compiler.Javac.recordParamNames:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
50: aload 22
aload 12
iconst_1
invokevirtual javassist.compiler.Javac.recordReturnType:(Ljavassist/CtClass;Z)I
istore 23
start local 23 51: aload 22
aload 6
iconst_0
invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
end local 24 52: StackMap locals: javassist.bytecode.Bytecode javassist.compiler.Javac int
StackMap stack:
aload 0
aload 21
aload 22
aload 1
aload 5
aload 12
iload 23
invokevirtual javassist.CtBehavior.insertAfterAdvice:(Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;Ljava/lang/String;Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;I)I
istore 24
start local 24 53: aload 7
aload 21
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.append:([B)I
istore 25
start local 25 54: aload 7
aload 21
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 25
invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
55: aload 7
invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
iload 24
isub
istore 26
start local 26 56: aload 0
aload 7
iload 26
iload 19
invokevirtual javassist.CtBehavior.insertGoto:(Ljavassist/bytecode/CodeIterator;II)V
57: aload 7
invokevirtual javassist.bytecode.CodeIterator.getMark2:()I
istore 15
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 58: goto 69
59: StackMap locals:
StackMap stack:
iload 18
ifeq 66
60: aload 0
aload 9
aload 10
aload 1
aload 5
aload 12
iload 13
invokevirtual javassist.CtBehavior.insertAfterAdvice:(Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;Ljava/lang/String;Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;I)I
istore 16
61: aload 7
aload 9
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.append:([B)I
istore 15
62: aload 7
aload 9
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 15
invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
63: aload 7
invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
iload 16
isub
istore 17
64: iload 17
iload 15
isub
istore 14
65: iconst_0
istore 18
66: StackMap locals:
StackMap stack:
aload 0
aload 7
iload 17
iload 19
invokevirtual javassist.CtBehavior.insertGoto:(Ljavassist/bytecode/CodeIterator;II)V
67: aload 7
invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
iload 16
isub
istore 17
68: iload 17
iload 14
isub
istore 15
end local 20 end local 19 69: StackMap locals:
StackMap stack:
aload 7
invokevirtual javassist.bytecode.CodeIterator.hasNext:()Z
ifne 28
70: StackMap locals:
StackMap stack:
iload 18
ifeq 73
71: aload 7
aload 9
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.append:([B)I
istore 15
72: aload 7
aload 9
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 15
invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
73: StackMap locals:
StackMap stack:
aload 6
aload 9
invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
74: aload 6
aload 9
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
75: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 4
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 4
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 76: goto 83
77: StackMap locals: javassist.CtBehavior java.lang.String int int javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator int javassist.bytecode.Bytecode javassist.compiler.Javac
StackMap stack: javassist.NotFoundException
astore 11
start local 11 78: new javassist.CannotCompileException
dup
aload 11
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 11 79: StackMap locals:
StackMap stack: javassist.compiler.CompileError
astore 11
start local 11 80: new javassist.CannotCompileException
dup
aload 11
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 11 81: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 11
start local 11 82: new javassist.CannotCompileException
dup
aload 11
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 11 83: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 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 84 0 this Ljavassist/CtBehavior;
0 84 1 src Ljava/lang/String;
0 84 2 asFinally Z
0 84 3 redundant Z
1 84 4 cc Ljavassist/CtClass;
3 84 5 pool Ljavassist/bytecode/ConstPool;
4 84 6 ca Ljavassist/bytecode/CodeAttribute;
7 84 7 iterator Ljavassist/bytecode/CodeIterator;
8 84 8 retAddr I
9 84 9 b Ljavassist/bytecode/Bytecode;
11 84 10 jv Ljavassist/compiler/Javac;
14 76 11 nvars I
16 76 12 rtype Ljavassist/CtClass;
17 76 13 varNo I
21 76 14 handlerLen I
22 76 15 handlerPos I
25 76 16 adviceLen I
26 76 17 advicePos I
27 76 18 noReturn Z
29 69 19 pos I
32 69 20 c I
40 43 21 bcode Ljavassist/bytecode/Bytecode;
44 58 21 bcode Ljavassist/bytecode/Bytecode;
41 43 22 jvc Ljavassist/compiler/Javac;
46 58 22 jvc Ljavassist/compiler/Javac;
42 43 23 retVarNo I
51 58 23 retVarNo I
49 52 24 nvars2 I
53 58 24 adviceLen2 I
54 58 25 offset I
56 58 26 advicePos2 I
78 79 11 e Ljavassist/NotFoundException;
80 81 11 e Ljavassist/compiler/CompileError;
82 83 11 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
11 76 77 Class javassist.NotFoundException
11 76 79 Class javassist.compiler.CompileError
11 76 81 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
asFinally
redundant
private int insertAfterAdvice(javassist.bytecode.Bytecode, javassist.compiler.Javac, java.lang.String, javassist.bytecode.ConstPool, javassist.CtClass, int);
descriptor: (Ljavassist/bytecode/Bytecode;Ljavassist/compiler/Javac;Ljava/lang/String;Ljavassist/bytecode/ConstPool;Ljavassist/CtClass;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
invokevirtual javassist.bytecode.Bytecode.currentPc:()I
istore 7
start local 7 1: aload 5
getstatic javassist.CtClass.voidType:Ljavassist/CtClass;
if_acmpne 9
2: aload 1
iconst_1
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
3: aload 1
iload 6
invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
4: aload 2
aload 3
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
5: aload 1
sipush 177
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
6: aload 1
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
iconst_1
if_icmpge 15
7: aload 1
iconst_1
invokevirtual javassist.bytecode.Bytecode.setMaxLocals:(I)V
8: goto 15
9: StackMap locals: int
StackMap stack:
aload 1
iload 6
aload 5
invokevirtual javassist.bytecode.Bytecode.addStore:(ILjavassist/CtClass;)I
pop
10: aload 2
aload 3
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
11: aload 1
iload 6
aload 5
invokevirtual javassist.bytecode.Bytecode.addLoad:(ILjavassist/CtClass;)I
pop
12: aload 5
invokevirtual javassist.CtClass.isPrimitive:()Z
ifeq 14
13: aload 1
aload 5
checkcast javassist.CtPrimitiveType
invokevirtual javassist.CtPrimitiveType.getReturnOp:()I
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
goto 15
14: StackMap locals:
StackMap stack:
aload 1
sipush 176
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual javassist.bytecode.Bytecode.currentPc:()I
iload 7
isub
ireturn
end local 7 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 16 0 this Ljavassist/CtBehavior;
0 16 1 code Ljavassist/bytecode/Bytecode;
0 16 2 jv Ljavassist/compiler/Javac;
0 16 3 src Ljava/lang/String;
0 16 4 cp Ljavassist/bytecode/ConstPool;
0 16 5 rtype Ljavassist/CtClass;
0 16 6 varNo I
1 16 7 pc I
Exceptions:
throws javassist.compiler.CompileError
MethodParameters:
Name Flags
code
jv
src
cp
rtype
varNo
private void insertGoto(javassist.bytecode.CodeIterator, int, int);
descriptor: (Ljavassist/bytecode/CodeIterator;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
invokevirtual javassist.bytecode.CodeIterator.setMark:(I)V
1: aload 1
iconst_0
iload 3
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
2: iload 2
iconst_2
iadd
iload 3
isub
sipush 32767
if_icmple 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 4
start local 4 5: iload 4
ifeq 6
iconst_4
goto 7
StackMap locals: int
StackMap stack:
6: iconst_2
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 1
iload 3
iload 5
iconst_0
invokevirtual javassist.bytecode.CodeIterator.insertGapAt:(IIZ)Ljavassist/bytecode/CodeIterator$Gap;
astore 6
start local 6 9: aload 6
getfield javassist.bytecode.CodeIterator$Gap.position:I
aload 6
getfield javassist.bytecode.CodeIterator$Gap.length:I
iadd
iload 5
isub
istore 3
10: aload 1
invokevirtual javassist.bytecode.CodeIterator.getMark:()I
iload 3
isub
istore 7
start local 7 11: iload 4
ifeq 15
12: aload 1
sipush 200
iload 3
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
13: aload 1
iload 7
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.write32bit:(II)V
14: goto 24
15: StackMap locals: int javassist.bytecode.CodeIterator$Gap int
StackMap stack:
iload 7
sipush 32767
if_icmpgt 19
16: aload 1
sipush 167
iload 3
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
17: aload 1
iload 7
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.write16bit:(II)V
18: goto 24
19: StackMap locals:
StackMap stack:
aload 6
getfield javassist.bytecode.CodeIterator$Gap.length:I
iconst_4
if_icmpge 22
20: aload 1
aload 6
getfield javassist.bytecode.CodeIterator$Gap.position:I
iconst_2
iconst_0
invokevirtual javassist.bytecode.CodeIterator.insertGapAt:(IIZ)Ljavassist/bytecode/CodeIterator$Gap;
astore 8
start local 8 21: aload 8
getfield javassist.bytecode.CodeIterator$Gap.position:I
aload 8
getfield javassist.bytecode.CodeIterator$Gap.length:I
iadd
aload 6
getfield javassist.bytecode.CodeIterator$Gap.length:I
iadd
iconst_4
isub
istore 3
end local 8 22: StackMap locals:
StackMap stack:
aload 1
sipush 200
iload 3
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
23: aload 1
aload 1
invokevirtual javassist.bytecode.CodeIterator.getMark:()I
iload 3
isub
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.write32bit:(II)V
24: StackMap locals:
StackMap stack:
return
end local 7 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 25 0 this Ljavassist/CtBehavior;
0 25 1 iterator Ljavassist/bytecode/CodeIterator;
0 25 2 subr I
0 25 3 pos I
5 25 4 wide Z
8 25 5 len I
9 25 6 gap Ljavassist/bytecode/CodeIterator$Gap;
11 25 7 offset I
21 22 8 gap2 Ljavassist/bytecode/CodeIterator$Gap;
Exceptions:
throws javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
iterator
subr
pos
private int insertAfterHandler(boolean, javassist.bytecode.Bytecode, javassist.CtClass, int, javassist.compiler.Javac, java.lang.String);
descriptor: (ZLjavassist/bytecode/Bytecode;Ljavassist/CtClass;ILjavassist/compiler/Javac;Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 1
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
istore 7
start local 7 3: aload 2
iconst_1
invokevirtual javassist.bytecode.Bytecode.incMaxLocals:(I)V
4: aload 2
invokevirtual javassist.bytecode.Bytecode.currentPc:()I
istore 8
start local 8 5: aload 2
iload 7
invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
6: aload 3
invokevirtual javassist.CtClass.isPrimitive:()Z
ifeq 27
7: aload 3
checkcast javassist.CtPrimitiveType
invokevirtual javassist.CtPrimitiveType.getDescriptor:()C
istore 9
start local 9 8: iload 9
bipush 68
if_icmpne 12
9: aload 2
dconst_0
invokevirtual javassist.bytecode.Bytecode.addDconst:(D)V
10: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.addDstore:(I)V
11: goto 29
12: StackMap locals: int int int
StackMap stack:
iload 9
bipush 70
if_icmpne 16
13: aload 2
fconst_0
invokevirtual javassist.bytecode.Bytecode.addFconst:(F)V
14: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.addFstore:(I)V
15: goto 29
16: StackMap locals:
StackMap stack:
iload 9
bipush 74
if_icmpne 20
17: aload 2
lconst_0
invokevirtual javassist.bytecode.Bytecode.addLconst:(J)V
18: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.addLstore:(I)V
19: goto 29
20: StackMap locals:
StackMap stack:
iload 9
bipush 86
if_icmpne 24
21: aload 2
iconst_1
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
22: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
23: goto 29
24: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual javassist.bytecode.Bytecode.addIconst:(I)V
25: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.addIstore:(I)V
end local 9 26: goto 29
27: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
28: aload 2
iload 4
invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
29: StackMap locals:
StackMap stack:
aload 5
aload 6
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
30: aload 2
iload 7
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
31: aload 2
sipush 191
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
32: aload 2
invokevirtual javassist.bytecode.Bytecode.currentPc:()I
iload 8
isub
ireturn
end local 8 end local 7 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 33 0 this Ljavassist/CtBehavior;
0 33 1 asFinally Z
0 33 2 b Ljavassist/bytecode/Bytecode;
0 33 3 rtype Ljavassist/CtClass;
0 33 4 returnVarNo I
0 33 5 javac Ljavassist/compiler/Javac;
0 33 6 src Ljava/lang/String;
3 33 7 var I
5 33 8 pc I
8 26 9 c C
Exceptions:
throws javassist.compiler.CompileError
MethodParameters:
Name Flags
asFinally
b
rtype
returnVarNo
javac
src
public void addCatch(java.lang.String, javassist.CtClass);
descriptor: (Ljava/lang/String;Ljavassist/CtClass;)V
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
ldc "$e"
invokevirtual javassist.CtBehavior.addCatch:(Ljava/lang/String;Ljavassist/CtClass;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavassist/CtBehavior;
0 2 1 src Ljava/lang/String;
0 2 2 exceptionType Ljavassist/CtClass;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
exceptionType
public void addCatch(java.lang.String, javassist.CtClass, java.lang.String);
descriptor: (Ljava/lang/String;Ljavassist/CtClass;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 4
start local 4 1: aload 4
invokevirtual javassist.CtClass.checkModify:()V
2: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 5
start local 5 3: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 6
start local 6 4: aload 6
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 7
start local 7 5: new javassist.bytecode.Bytecode
dup
aload 5
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 8
start local 8 6: aload 8
iconst_1
invokevirtual javassist.bytecode.Bytecode.setStackDepth:(I)V
7: new javassist.compiler.Javac
dup
aload 8
aload 4
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/bytecode/Bytecode;Ljavassist/CtClass;)V
astore 9
start local 9 8: aload 9
aload 0
invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
9: aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
10: invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
pop
11: aload 9
aload 2
aload 3
invokevirtual javassist.compiler.Javac.recordVariable:(Ljavassist/CtClass;Ljava/lang/String;)I
istore 10
start local 10 12: aload 8
iload 10
invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
13: aload 9
aload 1
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
14: aload 8
invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
istore 11
start local 11 15: aload 8
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
istore 12
start local 12 16: iload 11
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
if_icmple 18
17: aload 6
iload 11
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
18: StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass java.lang.String javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.bytecode.Bytecode javassist.compiler.Javac int int int
StackMap stack:
iload 12
aload 6
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
if_icmple 20
19: aload 6
iload 12
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
20: StackMap locals:
StackMap stack:
aload 7
invokevirtual javassist.bytecode.CodeIterator.getCodeLength:()I
istore 13
start local 13 21: aload 7
aload 8
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.append:([B)I
istore 14
start local 14 22: aload 6
invokevirtual javassist.bytecode.CodeAttribute.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
aload 0
aload 6
invokevirtual javassist.CtBehavior.getStartPosOfBody:(Ljavassist/bytecode/CodeAttribute;)I
iload 13
iload 13
23: aload 5
aload 2
invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljavassist/CtClass;)I
24: invokevirtual javassist.bytecode.ExceptionTable.add:(IIII)V
25: aload 7
aload 8
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 14
invokevirtual javassist.bytecode.CodeIterator.append:(Ljavassist/bytecode/ExceptionTable;I)V
26: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 4
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 4
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
end local 14 end local 13 end local 12 end local 11 end local 10 27: goto 34
28: StackMap locals: javassist.CtBehavior java.lang.String javassist.CtClass java.lang.String javassist.CtClass javassist.bytecode.ConstPool javassist.bytecode.CodeAttribute javassist.bytecode.CodeIterator javassist.bytecode.Bytecode javassist.compiler.Javac
StackMap stack: javassist.NotFoundException
astore 10
start local 10 29: new javassist.CannotCompileException
dup
aload 10
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 10 30: StackMap locals:
StackMap stack: javassist.compiler.CompileError
astore 10
start local 10 31: new javassist.CannotCompileException
dup
aload 10
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 10 32: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 10
start local 10 33: new javassist.CannotCompileException
dup
aload 10
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 10 34: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 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 35 0 this Ljavassist/CtBehavior;
0 35 1 src Ljava/lang/String;
0 35 2 exceptionType Ljavassist/CtClass;
0 35 3 exceptionName Ljava/lang/String;
1 35 4 cc Ljavassist/CtClass;
3 35 5 cp Ljavassist/bytecode/ConstPool;
4 35 6 ca Ljavassist/bytecode/CodeAttribute;
5 35 7 iterator Ljavassist/bytecode/CodeIterator;
6 35 8 b Ljavassist/bytecode/Bytecode;
8 35 9 jv Ljavassist/compiler/Javac;
12 27 10 var I
15 27 11 stack I
16 27 12 locals I
21 27 13 len I
22 27 14 pos I
29 30 10 e Ljavassist/NotFoundException;
31 32 10 e Ljavassist/compiler/CompileError;
33 34 10 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
8 27 28 Class javassist.NotFoundException
8 27 30 Class javassist.compiler.CompileError
8 27 32 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
src
exceptionType
exceptionName
int getStartPosOfBody(javassist.bytecode.CodeAttribute);
descriptor: (Ljavassist/bytecode/CodeAttribute;)I
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
0 1 1 ca Ljavassist/bytecode/CodeAttribute;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
ca
public int insertAt(int, java.lang.String);
descriptor: (ILjava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iconst_1
aload 2
invokevirtual javassist.CtBehavior.insertAt:(IZLjava/lang/String;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavassist/CtBehavior;
0 1 1 lineNum I
0 1 2 src Ljava/lang/String;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
lineNum
src
public int insertAt(int, boolean, java.lang.String);
descriptor: (IZLjava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: new javassist.CannotCompileException
dup
ldc "no method body"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javassist.bytecode.CodeAttribute
StackMap stack:
aload 4
ldc "LineNumberTable"
invokevirtual javassist.bytecode.CodeAttribute.getAttribute:(Ljava/lang/String;)Ljavassist/bytecode/AttributeInfo;
checkcast javassist.bytecode.LineNumberAttribute
4: astore 5
start local 5 5: aload 5
ifnonnull 7
6: new javassist.CannotCompileException
dup
ldc "no line number info"
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: javassist.bytecode.LineNumberAttribute
StackMap stack:
aload 5
iload 1
invokevirtual javassist.bytecode.LineNumberAttribute.toNearPc:(I)Ljavassist/bytecode/LineNumberAttribute$Pc;
astore 6
start local 6 8: aload 6
getfield javassist.bytecode.LineNumberAttribute$Pc.line:I
istore 1
9: aload 6
getfield javassist.bytecode.LineNumberAttribute$Pc.index:I
istore 7
start local 7 10: iload 2
ifne 12
11: iload 1
ireturn
12: StackMap locals: javassist.bytecode.LineNumberAttribute$Pc int
StackMap stack:
aload 0
getfield javassist.CtBehavior.declaringClass:Ljavassist/CtClass;
astore 8
start local 8 13: aload 8
invokevirtual javassist.CtClass.checkModify:()V
14: aload 4
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 9
start local 9 15: new javassist.compiler.Javac
dup
aload 8
invokespecial javassist.compiler.Javac.<init>:(Ljavassist/CtClass;)V
astore 10
start local 10 16: aload 10
aload 4
iload 7
invokevirtual javassist.compiler.Javac.recordLocalVariables:(Ljavassist/bytecode/CodeAttribute;I)Z
pop
17: aload 10
aload 0
invokevirtual javassist.CtBehavior.getParameterTypes:()[Ljavassist/CtClass;
18: aload 0
invokevirtual javassist.CtBehavior.getModifiers:()I
invokestatic javassist.Modifier.isStatic:(I)Z
19: invokevirtual javassist.compiler.Javac.recordParams:([Ljavassist/CtClass;Z)I
pop
20: aload 10
aload 4
invokevirtual javassist.bytecode.CodeAttribute.getMaxLocals:()I
invokevirtual javassist.compiler.Javac.setMaxLocals:(I)V
21: aload 10
aload 3
invokevirtual javassist.compiler.Javac.compileStmnt:(Ljava/lang/String;)V
22: aload 10
invokevirtual javassist.compiler.Javac.getBytecode:()Ljavassist/bytecode/Bytecode;
astore 11
start local 11 23: aload 11
invokevirtual javassist.bytecode.Bytecode.getMaxLocals:()I
istore 12
start local 12 24: aload 11
invokevirtual javassist.bytecode.Bytecode.getMaxStack:()I
istore 13
start local 13 25: aload 4
iload 12
invokevirtual javassist.bytecode.CodeAttribute.setMaxLocals:(I)V
26: iload 13
aload 4
invokevirtual javassist.bytecode.CodeAttribute.getMaxStack:()I
if_icmple 28
27: aload 4
iload 13
invokevirtual javassist.bytecode.CodeAttribute.setMaxStack:(I)V
28: StackMap locals: javassist.CtBehavior int int java.lang.String javassist.bytecode.CodeAttribute javassist.bytecode.LineNumberAttribute javassist.bytecode.LineNumberAttribute$Pc int javassist.CtClass javassist.bytecode.CodeIterator javassist.compiler.Javac javassist.bytecode.Bytecode int int
StackMap stack:
aload 9
iload 7
aload 11
invokevirtual javassist.bytecode.Bytecode.get:()[B
invokevirtual javassist.bytecode.CodeIterator.insertAt:(I[B)I
istore 7
29: aload 9
aload 11
invokevirtual javassist.bytecode.Bytecode.getExceptionTable:()Ljavassist/bytecode/ExceptionTable;
iload 7
invokevirtual javassist.bytecode.CodeIterator.insert:(Ljavassist/bytecode/ExceptionTable;I)V
30: aload 0
getfield javassist.CtBehavior.methodInfo:Ljavassist/bytecode/MethodInfo;
aload 8
invokevirtual javassist.CtClass.getClassPool:()Ljavassist/ClassPool;
aload 8
invokevirtual javassist.CtClass.getClassFile2:()Ljavassist/bytecode/ClassFile;
invokevirtual javassist.bytecode.MethodInfo.rebuildStackMapIf6:(Ljavassist/ClassPool;Ljavassist/bytecode/ClassFile;)V
31: iload 1
32: ireturn
end local 13 end local 12 end local 11 33: StackMap locals: javassist.CtBehavior int int java.lang.String javassist.bytecode.CodeAttribute javassist.bytecode.LineNumberAttribute javassist.bytecode.LineNumberAttribute$Pc int javassist.CtClass javassist.bytecode.CodeIterator javassist.compiler.Javac
StackMap stack: javassist.NotFoundException
astore 11
start local 11 34: new javassist.CannotCompileException
dup
aload 11
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/NotFoundException;)V
athrow
end local 11 35: StackMap locals:
StackMap stack: javassist.compiler.CompileError
astore 11
start local 11 36: new javassist.CannotCompileException
dup
aload 11
invokespecial javassist.CannotCompileException.<init>:(Ljavassist/compiler/CompileError;)V
athrow
end local 11 37: StackMap locals:
StackMap stack: javassist.bytecode.BadBytecode
astore 11
start local 11 38: new javassist.CannotCompileException
dup
aload 11
invokespecial javassist.CannotCompileException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 11 end local 10 end local 9 end local 8 end local 7 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 39 0 this Ljavassist/CtBehavior;
0 39 1 lineNum I
0 39 2 modify Z
0 39 3 src Ljava/lang/String;
1 39 4 ca Ljavassist/bytecode/CodeAttribute;
5 39 5 ainfo Ljavassist/bytecode/LineNumberAttribute;
8 39 6 pc Ljavassist/bytecode/LineNumberAttribute$Pc;
10 39 7 index I
13 39 8 cc Ljavassist/CtClass;
15 39 9 iterator Ljavassist/bytecode/CodeIterator;
16 39 10 jv Ljavassist/compiler/Javac;
23 33 11 b Ljavassist/bytecode/Bytecode;
24 33 12 locals I
25 33 13 stack I
34 35 11 e Ljavassist/NotFoundException;
36 37 11 e Ljavassist/compiler/CompileError;
38 39 11 e Ljavassist/bytecode/BadBytecode;
Exception table:
from to target type
16 32 33 Class javassist.NotFoundException
16 32 35 Class javassist.compiler.CompileError
16 32 37 Class javassist.bytecode.BadBytecode
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
lineNum
modify
src
}
SourceFile: "CtBehavior.java"
InnerClasses:
public abstract Initializer = javassist.CtField$Initializer of javassist.CtField
public RuntimeCopyException = javassist.bytecode.CodeAttribute$RuntimeCopyException of javassist.bytecode.CodeAttribute
public Gap = javassist.bytecode.CodeIterator$Gap of javassist.bytecode.CodeIterator
public Pc = javassist.bytecode.LineNumberAttribute$Pc of javassist.bytecode.LineNumberAttribute