public class net.sf.cglib.util.StringSwitcher$Generator extends net.sf.cglib.core.AbstractClassGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.sf.cglib.util.StringSwitcher$Generator
super_class: net.sf.cglib.core.AbstractClassGenerator
{
private static final net.sf.cglib.core.AbstractClassGenerator$Source SOURCE;
descriptor: Lnet/sf/cglib/core/AbstractClassGenerator$Source;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private java.lang.String[] strings;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int[] ints;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private boolean fixedInput;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new net.sf.cglib.core.AbstractClassGenerator$Source
dup
ldc Lnet/sf/cglib/util/StringSwitcher;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokespecial net.sf.cglib.core.AbstractClassGenerator$Source.<init>:(Ljava/lang/String;)V
putstatic net.sf.cglib.util.StringSwitcher$Generator.SOURCE:Lnet/sf/cglib/core/AbstractClassGenerator$Source;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic net.sf.cglib.util.StringSwitcher$Generator.SOURCE:Lnet/sf/cglib/core/AbstractClassGenerator$Source;
invokespecial net.sf.cglib.core.AbstractClassGenerator.<init>:(Lnet/sf/cglib/core/AbstractClassGenerator$Source;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
public void setStrings(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield net.sf.cglib.util.StringSwitcher$Generator.strings:[Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
0 2 1 strings [Ljava/lang/String;
MethodParameters:
Name Flags
strings
public void setInts(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
aload 1
putfield net.sf.cglib.util.StringSwitcher$Generator.ints:[I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
0 2 1 ints [I
MethodParameters:
Name Flags
ints
public void setFixedInput(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield net.sf.cglib.util.StringSwitcher$Generator.fixedInput:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
0 2 1 fixedInput Z
MethodParameters:
Name Flags
fixedInput
protected java.lang.ClassLoader getDefaultClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
public net.sf.cglib.util.StringSwitcher create();
descriptor: ()Lnet/sf/cglib/util/StringSwitcher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
ldc Lnet/sf/cglib/util/StringSwitcher;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual net.sf.cglib.util.StringSwitcher$Generator.setNamePrefix:(Ljava/lang/String;)V
1: getstatic net.sf.cglib.util.StringSwitcher.KEY_FACTORY:Lnet/sf/cglib/util/StringSwitcher$StringSwitcherKey;
aload 0
getfield net.sf.cglib.util.StringSwitcher$Generator.strings:[Ljava/lang/String;
aload 0
getfield net.sf.cglib.util.StringSwitcher$Generator.ints:[I
aload 0
getfield net.sf.cglib.util.StringSwitcher$Generator.fixedInput:Z
invokeinterface net.sf.cglib.util.StringSwitcher$StringSwitcherKey.newInstance:([Ljava/lang/String;[IZ)Ljava/lang/Object;
astore 1
start local 1 2: aload 0
aload 1
invokespecial net.sf.cglib.core.AbstractClassGenerator.create:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast net.sf.cglib.util.StringSwitcher
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
2 3 1 key Ljava/lang/Object;
public void generateClass(org.objectweb.asm.ClassVisitor);
descriptor: (Lorg/objectweb/asm/ClassVisitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: new net.sf.cglib.core.ClassEmitter
dup
aload 1
invokespecial net.sf.cglib.core.ClassEmitter.<init>:(Lorg/objectweb/asm/ClassVisitor;)V
astore 2
start local 2 1: aload 2
bipush 52
2: iconst_1
3: aload 0
invokevirtual net.sf.cglib.util.StringSwitcher$Generator.getClassName:()Ljava/lang/String;
4: getstatic net.sf.cglib.util.StringSwitcher.STRING_SWITCHER:Lorg/objectweb/asm/Type;
5: aconst_null
6: ldc "<generated>"
7: invokevirtual net.sf.cglib.core.ClassEmitter.begin_class:(IILjava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;Ljava/lang/String;)V
8: aload 2
invokestatic net.sf.cglib.core.EmitUtils.null_constructor:(Lnet/sf/cglib/core/ClassEmitter;)V
9: aload 2
iconst_1
getstatic net.sf.cglib.util.StringSwitcher.INT_VALUE:Lnet/sf/cglib/core/Signature;
aconst_null
invokevirtual net.sf.cglib.core.ClassEmitter.begin_method:(ILnet/sf/cglib/core/Signature;[Lorg/objectweb/asm/Type;)Lnet/sf/cglib/core/CodeEmitter;
astore 3
start local 3 10: aload 3
iconst_0
invokevirtual net.sf.cglib.core.CodeEmitter.load_arg:(I)V
11: aload 0
getfield net.sf.cglib.util.StringSwitcher$Generator.strings:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 4
start local 4 12: aload 0
getfield net.sf.cglib.util.StringSwitcher$Generator.fixedInput:Z
ifeq 13
iconst_2
goto 14
StackMap locals: net.sf.cglib.core.ClassEmitter net.sf.cglib.core.CodeEmitter java.util.List
StackMap stack:
13: iconst_1
StackMap locals:
StackMap stack: int
14: istore 5
start local 5 15: aload 3
aload 0
getfield net.sf.cglib.util.StringSwitcher$Generator.strings:[Ljava/lang/String;
iload 5
new net.sf.cglib.util.StringSwitcher$Generator$1
dup
aload 0
aload 3
aload 4
invokespecial net.sf.cglib.util.StringSwitcher$Generator$1.<init>:(Lnet/sf/cglib/util/StringSwitcher$Generator;Lnet/sf/cglib/core/CodeEmitter;Ljava/util/List;)V
invokestatic net.sf.cglib.core.EmitUtils.string_switch:(Lnet/sf/cglib/core/CodeEmitter;[Ljava/lang/String;ILnet/sf/cglib/core/ObjectSwitchCallback;)V
16: aload 3
invokevirtual net.sf.cglib.core.CodeEmitter.end_method:()V
17: aload 2
invokevirtual net.sf.cglib.core.ClassEmitter.end_class:()V
18: 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 19 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
0 19 1 v Lorg/objectweb/asm/ClassVisitor;
1 19 2 ce Lnet/sf/cglib/core/ClassEmitter;
10 19 3 e Lnet/sf/cglib/core/CodeEmitter;
12 19 4 stringList Ljava/util/List;
15 19 5 style I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
v
protected java.lang.Object firstInstance(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic net.sf.cglib.core.ReflectUtils.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast net.sf.cglib.util.StringSwitcher
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
0 1 1 type Ljava/lang/Class;
MethodParameters:
Name Flags
type
protected java.lang.Object nextInstance(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lnet/sf/cglib/util/StringSwitcher$Generator;
0 1 1 instance Ljava/lang/Object;
MethodParameters:
Name Flags
instance
}
SourceFile: "StringSwitcher.java"
NestHost: net.sf.cglib.util.StringSwitcher
InnerClasses:
protected Source = net.sf.cglib.core.AbstractClassGenerator$Source of net.sf.cglib.core.AbstractClassGenerator
public Generator = net.sf.cglib.util.StringSwitcher$Generator of net.sf.cglib.util.StringSwitcher
net.sf.cglib.util.StringSwitcher$Generator$1
abstract StringSwitcherKey = net.sf.cglib.util.StringSwitcher$StringSwitcherKey of net.sf.cglib.util.StringSwitcher