public class org.hibernate.bytecode.internal.javassist.FieldTransformer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.bytecode.internal.javassist.FieldTransformer
super_class: java.lang.Object
{
private static final java.lang.String EACH_READ_METHOD_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "$javassist_read_"
private static final java.lang.String EACH_WRITE_METHOD_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "$javassist_write_"
private static final java.lang.String FIELD_HANDLED_TYPE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String HANDLER_FIELD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "$JAVASSIST_READ_WRITE_HANDLER"
private static final java.lang.String FIELD_HANDLER_TYPE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String HANDLER_FIELD_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String GETFIELDHANDLER_METHOD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "getFieldHandler"
private static final java.lang.String SETFIELDHANDLER_METHOD_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "setFieldHandler"
private static final java.lang.String GETFIELDHANDLER_METHOD_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SETFIELDHANDLER_METHOD_DESCRIPTOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.hibernate.bytecode.internal.javassist.FieldFilter filter;
descriptor: Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javassist.ClassPool classPool;
descriptor: Ljavassist/ClassPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/hibernate/bytecode/internal/javassist/FieldHandled;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLED_TYPE_NAME:Ljava/lang/String;
1: ldc Lorg/hibernate/bytecode/internal/javassist/FieldHandler;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLER_TYPE_NAME:Ljava/lang/String;
2: new java.lang.StringBuilder
dup
bipush 76
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLER_TYPE_NAME:Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 59
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.HANDLER_FIELD_DESCRIPTOR:Ljava/lang/String;
3: new java.lang.StringBuilder
dup
ldc "()"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.HANDLER_FIELD_DESCRIPTOR:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.GETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
4: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.HANDLER_FIELD_DESCRIPTOR:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")V"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.SETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.hibernate.bytecode.internal.javassist.FieldFilter, javassist.ClassPool);
descriptor: (Lorg/hibernate/bytecode/internal/javassist/FieldFilter;Ljavassist/ClassPool;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.bytecode.internal.javassist.FieldTransformer.filter:Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
2: aload 0
aload 2
putfield org.hibernate.bytecode.internal.javassist.FieldTransformer.classPool:Ljavassist/ClassPool;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 4 1 f Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
0 4 2 c Ljavassist/ClassPool;
MethodParameters:
Name Flags
f
c
public void transform(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new java.io.DataInputStream
dup
new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 2
start local 2 1: new javassist.bytecode.ClassFile
dup
aload 2
invokespecial javassist.bytecode.ClassFile.<init>:(Ljava/io/DataInputStream;)V
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.transform:(Ljavassist/bytecode/ClassFile;)V
3: new java.io.DataOutputStream
dup
new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 4: aload 3
aload 4
invokevirtual javassist.bytecode.ClassFile.write:(Ljava/io/DataOutputStream;)V
5: goto 9
6: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer java.io.File java.io.DataInputStream javassist.bytecode.ClassFile java.io.DataOutputStream
StackMap stack: java.lang.Throwable
astore 5
7: aload 4
invokevirtual java.io.DataOutputStream.close:()V
8: aload 5
athrow
9: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.io.DataOutputStream.close:()V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 11 1 file Ljava/io/File;
1 11 2 in Ljava/io/DataInputStream;
2 11 3 classfile Ljavassist/bytecode/ClassFile;
4 11 4 out Ljava/io/DataOutputStream;
Exception table:
from to target type
4 6 6 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
file
public void transform(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.isInterface:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addFieldHandlerField:(Ljavassist/bytecode/ClassFile;)V
3: aload 0
aload 1
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addGetFieldHandlerMethod:(Ljavassist/bytecode/ClassFile;)V
4: aload 0
aload 1
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addSetFieldHandlerMethod:(Ljavassist/bytecode/ClassFile;)V
5: aload 0
aload 1
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addFieldHandledInterface:(Ljavassist/bytecode/ClassFile;)V
6: aload 0
aload 1
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addReadWriteMethods:(Ljavassist/bytecode/ClassFile;)V
7: aload 0
aload 1
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.transformInvokevirtualsIntoPutAndGetfields:(Ljavassist/bytecode/ClassFile;)V
8: goto 11
9: StackMap locals:
StackMap stack: javassist.CannotCompileException
astore 2
start local 2 10: new java.lang.RuntimeException
dup
aload 2
invokevirtual javassist.CannotCompileException.getMessage:()Ljava/lang/String;
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 12 1 classFile Ljavassist/bytecode/ClassFile;
10 11 2 e Ljavassist/CannotCompileException;
Exception table:
from to target type
2 8 9 Class javassist.CannotCompileException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
classFile
private void addFieldHandlerField(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 2
start local 2 1: new javassist.bytecode.FieldInfo
dup
aload 2
ldc "$JAVASSIST_READ_WRITE_HANDLER"
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.HANDLER_FIELD_DESCRIPTOR:Ljava/lang/String;
invokespecial javassist.bytecode.FieldInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 2: aload 3
sipush 130
invokevirtual javassist.bytecode.FieldInfo.setAccessFlags:(I)V
3: aload 1
aload 3
invokevirtual javassist.bytecode.ClassFile.addField:(Ljavassist/bytecode/FieldInfo;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 5 1 classfile Ljavassist/bytecode/ClassFile;
1 5 2 constPool Ljavassist/bytecode/ConstPool;
2 5 3 fieldInfo Ljavassist/bytecode/FieldInfo;
Exceptions:
throws javassist.CannotCompileException
MethodParameters:
Name Flags
classfile
private void addGetFieldHandlerMethod(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 2
start local 2 1: aload 2
invokevirtual javassist.bytecode.ConstPool.getThisClassInfo:()I
istore 3
start local 3 2: new javassist.bytecode.MethodInfo
dup
3: aload 2
4: ldc "getFieldHandler"
5: getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.GETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
6: invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 7: new javassist.bytecode.Bytecode
dup
aload 2
iconst_2
iconst_1
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 5
start local 5 8: aload 5
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
9: aload 5
sipush 180
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
10: aload 2
iload 3
ldc "$JAVASSIST_READ_WRITE_HANDLER"
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.HANDLER_FIELD_DESCRIPTOR:Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addFieldrefInfo:(ILjava/lang/String;Ljava/lang/String;)I
istore 6
start local 6 11: aload 5
iload 6
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
12: aload 5
sipush 176
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
13: aload 4
aload 5
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
14: aload 4
iconst_1
invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
15: aload 4
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 7
start local 7 16: aload 7
ifnull 19
17: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.classPool:Ljavassist/ClassPool;
aload 4
invokestatic javassist.bytecode.stackmap.MapMaker.make:(Ljavassist/ClassPool;Ljavassist/bytecode/MethodInfo;)Ljavassist/bytecode/StackMapTable;
astore 8
start local 8 18: aload 7
aload 8
invokevirtual javassist.bytecode.CodeAttribute.setAttribute:(Ljavassist/bytecode/StackMapTable;)V
end local 8 19: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile javassist.bytecode.ConstPool int javassist.bytecode.MethodInfo javassist.bytecode.Bytecode int javassist.bytecode.CodeAttribute
StackMap stack:
aload 1
aload 4
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
20: 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 21 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 21 1 classfile Ljavassist/bytecode/ClassFile;
1 21 2 constPool Ljavassist/bytecode/ConstPool;
2 21 3 thisClassInfo I
7 21 4 getterMethodInfo Ljavassist/bytecode/MethodInfo;
8 21 5 code Ljavassist/bytecode/Bytecode;
11 21 6 fieldIndex I
16 21 7 codeAttribute Ljavassist/bytecode/CodeAttribute;
18 19 8 smt Ljavassist/bytecode/StackMapTable;
Exceptions:
throws javassist.CannotCompileException, javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
classfile
private void addSetFieldHandlerMethod(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 2
start local 2 1: aload 2
invokevirtual javassist.bytecode.ConstPool.getThisClassInfo:()I
istore 3
start local 3 2: new javassist.bytecode.MethodInfo
dup
3: aload 2
4: ldc "setFieldHandler"
5: getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.SETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
6: invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
astore 4
start local 4 7: new javassist.bytecode.Bytecode
dup
aload 2
iconst_3
iconst_3
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 5
start local 5 8: aload 5
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
9: aload 5
iconst_1
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
10: aload 5
sipush 181
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
11: aload 2
iload 3
ldc "$JAVASSIST_READ_WRITE_HANDLER"
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.HANDLER_FIELD_DESCRIPTOR:Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addFieldrefInfo:(ILjava/lang/String;Ljava/lang/String;)I
istore 6
start local 6 12: aload 5
iload 6
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
13: aload 5
sipush 177
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
14: aload 4
aload 5
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
15: aload 4
iconst_1
invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
16: aload 4
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 7
start local 7 17: aload 7
ifnull 20
18: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.classPool:Ljavassist/ClassPool;
aload 4
invokestatic javassist.bytecode.stackmap.MapMaker.make:(Ljavassist/ClassPool;Ljavassist/bytecode/MethodInfo;)Ljavassist/bytecode/StackMapTable;
astore 8
start local 8 19: aload 7
aload 8
invokevirtual javassist.bytecode.CodeAttribute.setAttribute:(Ljavassist/bytecode/StackMapTable;)V
end local 8 20: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile javassist.bytecode.ConstPool int javassist.bytecode.MethodInfo javassist.bytecode.Bytecode int javassist.bytecode.CodeAttribute
StackMap stack:
aload 1
aload 4
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
21: 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 22 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 22 1 classfile Ljavassist/bytecode/ClassFile;
1 22 2 constPool Ljavassist/bytecode/ConstPool;
2 22 3 thisClassInfo I
7 22 4 methodInfo Ljavassist/bytecode/MethodInfo;
8 22 5 code Ljavassist/bytecode/Bytecode;
12 22 6 fieldIndex I
17 22 7 codeAttribute Ljavassist/bytecode/CodeAttribute;
19 20 8 smt Ljavassist/bytecode/StackMapTable;
Exceptions:
throws javassist.CannotCompileException, javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
classfile
private void addFieldHandledInterface(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getInterfaces:()[Ljava/lang/String;
astore 2
start local 2 1: aload 2
arraylength
iconst_1
iadd
anewarray java.lang.String
astore 3
start local 3 2: aload 2
iconst_0
aload 3
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 3
aload 3
arraylength
iconst_1
isub
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLED_TYPE_NAME:Ljava/lang/String;
aastore
4: aload 1
aload 3
invokevirtual javassist.bytecode.ClassFile.setInterfaces:([Ljava/lang/String;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 6 1 classfile Ljavassist/bytecode/ClassFile;
1 6 2 interfaceNames [Ljava/lang/String;
2 6 3 newInterfaceNames [Ljava/lang/String;
MethodParameters:
Name Flags
classfile
private void addReadWriteMethods(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getFields:()Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
checkcast javassist.bytecode.FieldInfo
astore 5
start local 5 4: aload 5
invokevirtual javassist.bytecode.FieldInfo.getAccessFlags:()I
bipush 8
iand
ifne 9
aload 5
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
ldc "$JAVASSIST_READ_WRITE_HANDLER"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
5: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.filter:Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
aload 5
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
aload 5
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
invokeinterface org.hibernate.bytecode.internal.javassist.FieldFilter.handleRead:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 7
6: aload 0
aload 1
aload 5
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addReadMethod:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/FieldInfo;)V
7: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile java.util.List java.lang.Object java.util.Iterator javassist.bytecode.FieldInfo
StackMap stack:
aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.filter:Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
aload 5
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
aload 5
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
invokeinterface org.hibernate.bytecode.internal.javassist.FieldFilter.handleWrite:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 9
8: aload 0
aload 1
aload 5
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.addWriteMethod:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/FieldInfo;)V
end local 5 end local 3 9: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 11 1 classfile Ljavassist/bytecode/ClassFile;
1 11 2 fields Ljava/util/List;
3 9 3 field Ljava/lang/Object;
4 9 5 finfo Ljavassist/bytecode/FieldInfo;
Exceptions:
throws javassist.CannotCompileException, javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
classfile
private void addReadMethod(javassist.bytecode.ClassFile, javassist.bytecode.FieldInfo);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/FieldInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 3
start local 3 1: aload 3
invokevirtual javassist.bytecode.ConstPool.getThisClassInfo:()I
istore 4
start local 4 2: new java.lang.StringBuilder
dup
ldc "()"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 3: new javassist.bytecode.MethodInfo
dup
4: aload 3
5: new java.lang.StringBuilder
dup
ldc "$javassist_read_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: aload 5
7: invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
astore 6
start local 6 8: new javassist.bytecode.Bytecode
dup
aload 3
iconst_5
iconst_3
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 7
start local 7 9: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
10: aload 7
sipush 180
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
11: aload 3
iload 4
aload 2
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addFieldrefInfo:(ILjava/lang/String;Ljava/lang/String;)I
istore 8
start local 8 12: aload 7
iload 8
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
13: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
14: aload 3
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLED_TYPE_NAME:Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljava/lang/String;)I
istore 9
start local 9 15: aload 7
16: iload 9
17: ldc "getFieldHandler"
18: getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.GETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
19: iconst_1
20: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
21: aload 7
sipush 199
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
22: aload 7
iconst_4
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
23: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addTypeDependDataReturn:(Ljavassist/bytecode/Bytecode;Ljava/lang/String;)V
24: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
iconst_1
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addTypeDependDataStore:(Ljavassist/bytecode/Bytecode;Ljava/lang/String;I)V
25: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
26: aload 7
27: iload 9
28: ldc "getFieldHandler"
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.GETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
29: iconst_1
30: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
31: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
32: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
invokevirtual javassist.bytecode.Bytecode.addLdc:(Ljava/lang/String;)V
33: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
iconst_1
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addTypeDependDataLoad:(Ljavassist/bytecode/Bytecode;Ljava/lang/String;I)V
34: aload 1
aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
35: iconst_1
36: invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addInvokeFieldHandlerMethod:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/Bytecode;Ljava/lang/String;Z)V
37: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addTypeDependDataReturn:(Ljavassist/bytecode/Bytecode;Ljava/lang/String;)V
38: aload 6
aload 7
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
39: aload 6
iconst_1
invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
40: aload 6
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 10
start local 10 41: aload 10
ifnull 44
42: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.classPool:Ljavassist/ClassPool;
aload 6
invokestatic javassist.bytecode.stackmap.MapMaker.make:(Ljavassist/ClassPool;Ljavassist/bytecode/MethodInfo;)Ljavassist/bytecode/StackMapTable;
astore 11
start local 11 43: aload 10
aload 11
invokevirtual javassist.bytecode.CodeAttribute.setAttribute:(Ljavassist/bytecode/StackMapTable;)V
end local 11 44: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile javassist.bytecode.FieldInfo javassist.bytecode.ConstPool int java.lang.String javassist.bytecode.MethodInfo javassist.bytecode.Bytecode int int javassist.bytecode.CodeAttribute
StackMap stack:
aload 1
aload 6
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
45: 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 46 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 46 1 classfile Ljavassist/bytecode/ClassFile;
0 46 2 finfo Ljavassist/bytecode/FieldInfo;
1 46 3 constPool Ljavassist/bytecode/ConstPool;
2 46 4 thisClassInfo I
3 46 5 readMethodDescriptor Ljava/lang/String;
8 46 6 readMethodInfo Ljavassist/bytecode/MethodInfo;
9 46 7 code Ljavassist/bytecode/Bytecode;
12 46 8 baseFieldIndex I
15 46 9 enabledClassIndex I
41 46 10 codeAttribute Ljavassist/bytecode/CodeAttribute;
43 44 11 smt Ljavassist/bytecode/StackMapTable;
Exceptions:
throws javassist.CannotCompileException, javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
classfile
finfo
private void addWriteMethod(javassist.bytecode.ClassFile, javassist.bytecode.FieldInfo);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/FieldInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 3
start local 3 1: aload 3
invokevirtual javassist.bytecode.ConstPool.getThisClassInfo:()I
istore 4
start local 4 2: new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")V"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 3: new javassist.bytecode.MethodInfo
dup
4: aload 3
5: new java.lang.StringBuilder
dup
ldc "$javassist_write_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: aload 5
7: invokespecial javassist.bytecode.MethodInfo.<init>:(Ljavassist/bytecode/ConstPool;Ljava/lang/String;Ljava/lang/String;)V
astore 6
start local 6 8: new javassist.bytecode.Bytecode
dup
aload 3
bipush 6
iconst_3
invokespecial javassist.bytecode.Bytecode.<init>:(Ljavassist/bytecode/ConstPool;II)V
astore 7
start local 7 9: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
10: aload 3
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLED_TYPE_NAME:Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljava/lang/String;)I
istore 8
start local 8 11: aload 7
12: iload 8
13: ldc "getFieldHandler"
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.GETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
14: iconst_1
15: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
16: aload 7
sipush 199
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
17: aload 7
bipush 9
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
18: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
19: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
iconst_1
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addTypeDependDataLoad:(Ljavassist/bytecode/Bytecode;Ljava/lang/String;I)V
20: aload 7
sipush 181
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
21: aload 3
iload 4
aload 2
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addFieldrefInfo:(ILjava/lang/String;Ljava/lang/String;)I
istore 9
start local 9 22: aload 7
iload 9
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
23: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokestatic javassist.bytecode.Descriptor.dataSize:(Ljava/lang/String;)I
ineg
invokevirtual javassist.bytecode.Bytecode.growStack:(I)V
24: aload 7
sipush 177
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
25: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
26: aload 7
bipush 89
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
27: aload 7
28: iload 8
29: ldc "getFieldHandler"
30: getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.GETFIELDHANDLER_METHOD_DESCRIPTOR:Ljava/lang/String;
31: iconst_1
32: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
33: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
34: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getName:()Ljava/lang/String;
invokevirtual javassist.bytecode.Bytecode.addLdc:(Ljava/lang/String;)V
35: aload 7
iconst_0
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
36: aload 7
sipush 180
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
37: aload 7
iload 9
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
38: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokestatic javassist.bytecode.Descriptor.dataSize:(Ljava/lang/String;)I
iconst_1
isub
invokevirtual javassist.bytecode.Bytecode.growStack:(I)V
39: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
iconst_1
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addTypeDependDataLoad:(Ljavassist/bytecode/Bytecode;Ljava/lang/String;I)V
40: aload 1
aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
iconst_0
invokestatic org.hibernate.bytecode.internal.javassist.FieldTransformer.addInvokeFieldHandlerMethod:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/Bytecode;Ljava/lang/String;Z)V
41: aload 7
sipush 181
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
42: aload 7
iload 9
invokevirtual javassist.bytecode.Bytecode.addIndex:(I)V
43: aload 7
aload 2
invokevirtual javassist.bytecode.FieldInfo.getDescriptor:()Ljava/lang/String;
invokestatic javassist.bytecode.Descriptor.dataSize:(Ljava/lang/String;)I
ineg
invokevirtual javassist.bytecode.Bytecode.growStack:(I)V
44: aload 7
sipush 177
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
45: aload 6
aload 7
invokevirtual javassist.bytecode.Bytecode.toCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
invokevirtual javassist.bytecode.MethodInfo.setCodeAttribute:(Ljavassist/bytecode/CodeAttribute;)V
46: aload 6
iconst_1
invokevirtual javassist.bytecode.MethodInfo.setAccessFlags:(I)V
47: aload 6
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 10
start local 10 48: aload 10
ifnull 51
49: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.classPool:Ljavassist/ClassPool;
aload 6
invokestatic javassist.bytecode.stackmap.MapMaker.make:(Ljavassist/ClassPool;Ljavassist/bytecode/MethodInfo;)Ljavassist/bytecode/StackMapTable;
astore 11
start local 11 50: aload 10
aload 11
invokevirtual javassist.bytecode.CodeAttribute.setAttribute:(Ljavassist/bytecode/StackMapTable;)V
end local 11 51: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile javassist.bytecode.FieldInfo javassist.bytecode.ConstPool int java.lang.String javassist.bytecode.MethodInfo javassist.bytecode.Bytecode int int javassist.bytecode.CodeAttribute
StackMap stack:
aload 1
aload 6
invokevirtual javassist.bytecode.ClassFile.addMethod:(Ljavassist/bytecode/MethodInfo;)V
52: 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 53 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 53 1 classfile Ljavassist/bytecode/ClassFile;
0 53 2 finfo Ljavassist/bytecode/FieldInfo;
1 53 3 constPool Ljavassist/bytecode/ConstPool;
2 53 4 thisClassInfo I
3 53 5 writeMethodDescriptor Ljava/lang/String;
8 53 6 writeMethodInfo Ljavassist/bytecode/MethodInfo;
9 53 7 code Ljavassist/bytecode/Bytecode;
11 53 8 enabledClassIndex I
22 53 9 baseFieldIndex I
48 53 10 codeAttribute Ljavassist/bytecode/CodeAttribute;
50 51 11 smt Ljavassist/bytecode/StackMapTable;
Exceptions:
throws javassist.CannotCompileException, javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
classfile
finfo
private void transformInvokevirtualsIntoPutAndGetfields(javassist.bytecode.ClassFile);
descriptor: (Ljavassist/bytecode/ClassFile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getMethods:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 20
StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 2: aload 2
checkcast javassist.bytecode.MethodInfo
astore 4
start local 4 3: aload 4
invokevirtual javassist.bytecode.MethodInfo.getName:()Ljava/lang/String;
astore 5
start local 5 4: aload 5
ldc "$javassist_read_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 20
5: aload 5
ldc "$javassist_write_"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 20
6: aload 5
ldc "getFieldHandler"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
7: aload 5
ldc "setFieldHandler"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: goto 20
9: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile java.lang.Object java.util.Iterator javassist.bytecode.MethodInfo java.lang.String
StackMap stack:
aload 4
invokevirtual javassist.bytecode.MethodInfo.getCodeAttribute:()Ljavassist/bytecode/CodeAttribute;
astore 6
start local 6 10: aload 6
ifnonnull 12
11: goto 20
12: StackMap locals: javassist.bytecode.CodeAttribute
StackMap stack:
aload 6
invokevirtual javassist.bytecode.CodeAttribute.iterator:()Ljavassist/bytecode/CodeIterator;
astore 7
start local 7 13: goto 17
14: StackMap locals: javassist.bytecode.CodeIterator
StackMap stack:
aload 7
invokevirtual javassist.bytecode.CodeIterator.next:()I
istore 8
start local 8 15: aload 0
aload 1
aload 7
iload 8
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.transformInvokevirtualsIntoGetfields:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/CodeIterator;I)I
istore 8
16: aload 0
aload 1
aload 7
iload 8
invokevirtual org.hibernate.bytecode.internal.javassist.FieldTransformer.transformInvokevirtualsIntoPutfields:(Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/CodeIterator;I)I
pop
end local 8 17: StackMap locals:
StackMap stack:
aload 7
invokevirtual javassist.bytecode.CodeIterator.hasNext:()Z
ifne 14
18: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.classPool:Ljavassist/ClassPool;
aload 4
invokestatic javassist.bytecode.stackmap.MapMaker.make:(Ljavassist/ClassPool;Ljavassist/bytecode/MethodInfo;)Ljavassist/bytecode/StackMapTable;
astore 8
start local 8 19: aload 6
aload 8
invokevirtual javassist.bytecode.CodeAttribute.setAttribute:(Ljavassist/bytecode/StackMapTable;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 20: StackMap locals: org.hibernate.bytecode.internal.javassist.FieldTransformer javassist.bytecode.ClassFile top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 22 1 classfile Ljavassist/bytecode/ClassFile;
2 20 2 o Ljava/lang/Object;
3 20 4 methodInfo Ljavassist/bytecode/MethodInfo;
4 20 5 methodName Ljava/lang/String;
10 20 6 codeAttr Ljavassist/bytecode/CodeAttribute;
13 20 7 iter Ljavassist/bytecode/CodeIterator;
15 17 8 pos I
19 20 8 smt Ljavassist/bytecode/StackMapTable;
Exceptions:
throws javassist.CannotCompileException, javassist.bytecode.BadBytecode
MethodParameters:
Name Flags
classfile
private int transformInvokevirtualsIntoGetfields(javassist.bytecode.ClassFile, javassist.bytecode.CodeIterator, int);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/CodeIterator;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 4
start local 4 1: aload 2
iload 3
invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
istore 5
start local 5 2: iload 5
sipush 180
if_icmpeq 4
3: iload 3
ireturn
4: StackMap locals: javassist.bytecode.ConstPool int
StackMap stack:
aload 2
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.u16bitAt:(I)I
istore 6
start local 6 5: aload 4
iload 6
invokevirtual javassist.bytecode.ConstPool.getFieldrefName:(I)Ljava/lang/String;
astore 7
start local 7 6: aload 4
iload 6
invokevirtual javassist.bytecode.ConstPool.getFieldrefClassName:(I)Ljava/lang/String;
astore 8
start local 8 7: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.filter:Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
aload 8
aload 7
invokeinterface org.hibernate.bytecode.internal.javassist.FieldFilter.handleReadAccess:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 9
8: iload 3
ireturn
9: StackMap locals: int java.lang.String java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "()"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iload 6
invokevirtual javassist.bytecode.ConstPool.getFieldrefType:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 10: aload 4
11: aload 4
invokevirtual javassist.bytecode.ConstPool.getThisClassInfo:()I
12: new java.lang.StringBuilder
dup
ldc "$javassist_read_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: aload 9
14: invokevirtual javassist.bytecode.ConstPool.addMethodrefInfo:(ILjava/lang/String;Ljava/lang/String;)I
istore 10
start local 10 15: aload 2
sipush 182
iload 3
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
16: aload 2
iload 10
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.write16bit:(II)V
17: iload 3
ireturn
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 18 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 18 1 classfile Ljavassist/bytecode/ClassFile;
0 18 2 iter Ljavassist/bytecode/CodeIterator;
0 18 3 pos I
1 18 4 constPool Ljavassist/bytecode/ConstPool;
2 18 5 c I
5 18 6 index I
6 18 7 fieldName Ljava/lang/String;
7 18 8 className Ljava/lang/String;
10 18 9 fieldReaderMethodDescriptor Ljava/lang/String;
15 18 10 fieldReaderMethodIndex I
MethodParameters:
Name Flags
classfile
iter
pos
private int transformInvokevirtualsIntoPutfields(javassist.bytecode.ClassFile, javassist.bytecode.CodeIterator, int);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/CodeIterator;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 4
start local 4 1: aload 2
iload 3
invokevirtual javassist.bytecode.CodeIterator.byteAt:(I)I
istore 5
start local 5 2: iload 5
sipush 181
if_icmpeq 4
3: iload 3
ireturn
4: StackMap locals: javassist.bytecode.ConstPool int
StackMap stack:
aload 2
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.u16bitAt:(I)I
istore 6
start local 6 5: aload 4
iload 6
invokevirtual javassist.bytecode.ConstPool.getFieldrefName:(I)Ljava/lang/String;
astore 7
start local 7 6: aload 4
iload 6
invokevirtual javassist.bytecode.ConstPool.getFieldrefClassName:(I)Ljava/lang/String;
astore 8
start local 8 7: aload 0
getfield org.hibernate.bytecode.internal.javassist.FieldTransformer.filter:Lorg/hibernate/bytecode/internal/javassist/FieldFilter;
aload 8
aload 7
invokeinterface org.hibernate.bytecode.internal.javassist.FieldFilter.handleWriteAccess:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 9
8: iload 3
ireturn
9: StackMap locals: int java.lang.String java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
iload 6
invokevirtual javassist.bytecode.ConstPool.getFieldrefType:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")V"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
start local 9 10: aload 4
11: aload 4
invokevirtual javassist.bytecode.ConstPool.getThisClassInfo:()I
12: new java.lang.StringBuilder
dup
ldc "$javassist_write_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: aload 9
14: invokevirtual javassist.bytecode.ConstPool.addMethodrefInfo:(ILjava/lang/String;Ljava/lang/String;)I
istore 10
start local 10 15: aload 2
sipush 182
iload 3
invokevirtual javassist.bytecode.CodeIterator.writeByte:(II)V
16: aload 2
iload 10
iload 3
iconst_1
iadd
invokevirtual javassist.bytecode.CodeIterator.write16bit:(II)V
17: iload 3
ireturn
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 18 0 this Lorg/hibernate/bytecode/internal/javassist/FieldTransformer;
0 18 1 classfile Ljavassist/bytecode/ClassFile;
0 18 2 iter Ljavassist/bytecode/CodeIterator;
0 18 3 pos I
1 18 4 constPool Ljavassist/bytecode/ConstPool;
2 18 5 c I
5 18 6 index I
6 18 7 fieldName Ljava/lang/String;
7 18 8 className Ljava/lang/String;
10 18 9 fieldWriterMethodDescriptor Ljava/lang/String;
15 18 10 fieldWriterMethodIndex I
MethodParameters:
Name Flags
classfile
iter
pos
private static void addInvokeFieldHandlerMethod(javassist.bytecode.ClassFile, javassist.bytecode.Bytecode, java.lang.String, boolean);
descriptor: (Ljavassist/bytecode/ClassFile;Ljavassist/bytecode/Bytecode;Ljava/lang/String;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual javassist.bytecode.ClassFile.getConstPool:()Ljavassist/bytecode/ConstPool;
astore 4
start local 4 1: aload 4
getstatic org.hibernate.bytecode.internal.javassist.FieldTransformer.FIELD_HANDLER_TYPE_NAME:Ljava/lang/String;
invokevirtual javassist.bytecode.ConstPool.addClassInfo:(Ljava/lang/String;)I
istore 5
start local 5 2: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 4
3: aload 2
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpeq 5
4: StackMap locals: javassist.bytecode.ConstPool int
StackMap stack:
aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 31
5: StackMap locals:
StackMap stack:
aload 2
bipush 76
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 6: iload 6
ifne 10
7: aload 2
iconst_1
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 8: aload 7
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 7
9: goto 14
end local 7 10: StackMap locals: int
StackMap stack:
iload 6
iconst_m1
if_icmpne 13
11: aload 2
astore 7
start local 7 12: goto 14
end local 7 13: StackMap locals:
StackMap stack:
aload 2
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 7
start local 7 14: StackMap locals: java.lang.String
StackMap stack:
iload 3
ifeq 23
15: aload 1
16: iload 5
17: ldc "readObject"
18: ldc "(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;"
19: iconst_4
20: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
21: aload 1
aload 7
invokevirtual javassist.bytecode.Bytecode.addCheckcast:(Ljava/lang/String;)V
22: goto 160
23: StackMap locals:
StackMap stack:
aload 1
24: iload 5
25: ldc "writeObject"
26: ldc "(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
27: iconst_5
28: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
29: aload 1
aload 7
invokevirtual javassist.bytecode.Bytecode.addCheckcast:(Ljava/lang/String;)V
end local 7 end local 6 30: goto 160
31: StackMap locals:
StackMap stack:
aload 2
ldc "Z"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
32: iload 3
ifeq 40
33: aload 1
34: iload 5
35: ldc "readBoolean"
36: ldc "(Ljava/lang/Object;Ljava/lang/String;Z)Z"
37: iconst_4
38: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
39: goto 160
40: StackMap locals:
StackMap stack:
aload 1
41: iload 5
42: ldc "writeBoolean"
43: ldc "(Ljava/lang/Object;Ljava/lang/String;ZZ)Z"
44: iconst_5
45: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
46: goto 160
47: StackMap locals:
StackMap stack:
aload 2
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 63
48: iload 3
ifeq 56
49: aload 1
50: iload 5
51: ldc "readByte"
52: ldc "(Ljava/lang/Object;Ljava/lang/String;B)B"
53: iconst_4
54: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
55: goto 160
56: StackMap locals:
StackMap stack:
aload 1
57: iload 5
58: ldc "writeByte"
59: ldc "(Ljava/lang/Object;Ljava/lang/String;BB)B"
60: iconst_5
61: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
62: goto 160
63: StackMap locals:
StackMap stack:
aload 2
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 79
64: iload 3
ifeq 72
65: aload 1
66: iload 5
67: ldc "readChar"
68: ldc "(Ljava/lang/Object;Ljava/lang/String;C)C"
69: iconst_4
70: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
71: goto 160
72: StackMap locals:
StackMap stack:
aload 1
73: iload 5
74: ldc "writeChar"
75: ldc "(Ljava/lang/Object;Ljava/lang/String;CC)C"
76: iconst_5
77: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
78: goto 160
79: StackMap locals:
StackMap stack:
aload 2
ldc "I"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 95
80: iload 3
ifeq 88
81: aload 1
82: iload 5
83: ldc "readInt"
84: ldc "(Ljava/lang/Object;Ljava/lang/String;I)I"
85: iconst_4
86: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
87: goto 160
88: StackMap locals:
StackMap stack:
aload 1
89: iload 5
90: ldc "writeInt"
91: ldc "(Ljava/lang/Object;Ljava/lang/String;II)I"
92: iconst_5
93: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
94: goto 160
95: StackMap locals:
StackMap stack:
aload 2
ldc "S"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 111
96: iload 3
ifeq 104
97: aload 1
98: iload 5
99: ldc "readShort"
100: ldc "(Ljava/lang/Object;Ljava/lang/String;S)S"
101: iconst_4
102: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
103: goto 160
104: StackMap locals:
StackMap stack:
aload 1
105: iload 5
106: ldc "writeShort"
107: ldc "(Ljava/lang/Object;Ljava/lang/String;SS)S"
108: iconst_5
109: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
110: goto 160
111: StackMap locals:
StackMap stack:
aload 2
ldc "D"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 127
112: iload 3
ifeq 120
113: aload 1
114: iload 5
115: ldc "readDouble"
116: ldc "(Ljava/lang/Object;Ljava/lang/String;D)D"
117: iconst_5
118: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
119: goto 160
120: StackMap locals:
StackMap stack:
aload 1
121: iload 5
122: ldc "writeDouble"
123: ldc "(Ljava/lang/Object;Ljava/lang/String;DD)D"
124: bipush 7
125: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
126: goto 160
127: StackMap locals:
StackMap stack:
aload 2
ldc "F"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 143
128: iload 3
ifeq 136
129: aload 1
130: iload 5
131: ldc "readFloat"
132: ldc "(Ljava/lang/Object;Ljava/lang/String;F)F"
133: iconst_4
134: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
135: goto 160
136: StackMap locals:
StackMap stack:
aload 1
137: iload 5
138: ldc "writeFloat"
139: ldc "(Ljava/lang/Object;Ljava/lang/String;FF)F"
140: iconst_5
141: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
142: goto 160
143: StackMap locals:
StackMap stack:
aload 2
ldc "J"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 159
144: iload 3
ifeq 152
145: aload 1
146: iload 5
147: ldc "readLong"
148: ldc "(Ljava/lang/Object;Ljava/lang/String;J)J"
149: iconst_5
150: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
151: goto 160
152: StackMap locals:
StackMap stack:
aload 1
153: iload 5
154: ldc "writeLong"
155: ldc "(Ljava/lang/Object;Ljava/lang/String;JJ)J"
156: bipush 7
157: invokevirtual javassist.bytecode.Bytecode.addInvokeinterface:(ILjava/lang/String;Ljava/lang/String;I)V
158: goto 160
159: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "bad type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
160: 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 161 0 classfile Ljavassist/bytecode/ClassFile;
0 161 1 code Ljavassist/bytecode/Bytecode;
0 161 2 typeName Ljava/lang/String;
0 161 3 isReadMethod Z
1 161 4 constPool Ljavassist/bytecode/ConstPool;
2 161 5 callbackTypeIndex I
6 30 6 indexOfL I
8 10 7 type Ljava/lang/String;
12 13 7 type Ljava/lang/String;
14 30 7 type Ljava/lang/String;
MethodParameters:
Name Flags
classfile
code
typeName
isReadMethod
private static void addTypeDependDataLoad(javassist.bytecode.Bytecode, java.lang.String, int);
descriptor: (Ljavassist/bytecode/Bytecode;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 2
1: aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpeq 3
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 5
3: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addAload:(I)V
4: goto 22
5: StackMap locals:
StackMap stack:
aload 1
ldc "Z"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
6: aload 1
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
7: aload 1
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: aload 1
ldc "I"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
9: aload 1
ldc "S"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addIload:(I)V
11: goto 22
12: StackMap locals:
StackMap stack:
aload 1
ldc "D"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addDload:(I)V
14: goto 22
15: StackMap locals:
StackMap stack:
aload 1
ldc "F"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addFload:(I)V
17: goto 22
18: StackMap locals:
StackMap stack:
aload 1
ldc "J"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addLload:(I)V
20: goto 22
21: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "bad type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 code Ljavassist/bytecode/Bytecode;
0 23 1 typeName Ljava/lang/String;
0 23 2 i I
MethodParameters:
Name Flags
code
typeName
i
private static void addTypeDependDataStore(javassist.bytecode.Bytecode, java.lang.String, int);
descriptor: (Ljavassist/bytecode/Bytecode;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 2
1: aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpeq 3
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 5
3: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addAstore:(I)V
4: goto 22
5: StackMap locals:
StackMap stack:
aload 1
ldc "Z"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
6: aload 1
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
7: aload 1
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: aload 1
ldc "I"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
9: aload 1
ldc "S"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addIstore:(I)V
11: goto 22
12: StackMap locals:
StackMap stack:
aload 1
ldc "D"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addDstore:(I)V
14: goto 22
15: StackMap locals:
StackMap stack:
aload 1
ldc "F"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addFstore:(I)V
17: goto 22
18: StackMap locals:
StackMap stack:
aload 1
ldc "J"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 0
iload 2
invokevirtual javassist.bytecode.Bytecode.addLstore:(I)V
20: goto 22
21: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "bad type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 code Ljavassist/bytecode/Bytecode;
0 23 1 typeName Ljava/lang/String;
0 23 2 i I
MethodParameters:
Name Flags
code
typeName
i
private static void addTypeDependDataReturn(javassist.bytecode.Bytecode, java.lang.String);
descriptor: (Ljavassist/bytecode/Bytecode;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 2
1: aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpeq 3
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpne 5
3: StackMap locals:
StackMap stack:
aload 0
sipush 176
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
4: goto 22
5: StackMap locals:
StackMap stack:
aload 1
ldc "Z"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
6: aload 1
ldc "B"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
7: aload 1
ldc "C"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: aload 1
ldc "I"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
9: aload 1
ldc "S"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: StackMap locals:
StackMap stack:
aload 0
sipush 172
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
11: goto 22
12: StackMap locals:
StackMap stack:
aload 1
ldc "D"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: aload 0
sipush 175
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
14: goto 22
15: StackMap locals:
StackMap stack:
aload 1
ldc "F"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: aload 0
sipush 174
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
17: goto 22
18: StackMap locals:
StackMap stack:
aload 1
ldc "J"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: aload 0
sipush 173
invokevirtual javassist.bytecode.Bytecode.addOpcode:(I)V
20: goto 22
21: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "bad type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 code Ljavassist/bytecode/Bytecode;
0 23 1 typeName Ljava/lang/String;
MethodParameters:
Name Flags
code
typeName
}
SourceFile: "FieldTransformer.java"