public class net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender
super_class: java.lang.Object
{
private final java.util.List<java.lang.String> values;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
protected void <init>(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
start local 1 // java.util.List values
0: .line 1393
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 1394
aload 0 /* this */
aload 1 /* values */
putfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
2: .line 1395
return
end local 1 // java.util.List values
end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lnet/bytebuddy/ByteBuddy$EnumerationImplementation$InitializationAppender;
0 3 1 values Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
values
public net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size apply(org.objectweb.asm.MethodVisitor, net.bytebuddy.implementation.Implementation$Context, net.bytebuddy.description.method.MethodDescription);
descriptor: (Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=12, args_size=4
start local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
start local 1 // org.objectweb.asm.MethodVisitor methodVisitor
start local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
start local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
0: .line 1401
aload 3 /* instrumentedMethod */
invokeinterface net.bytebuddy.description.method.MethodDescription.getDeclaringType:()Lnet/bytebuddy/description/type/TypeDefinition;
invokeinterface net.bytebuddy.description.type.TypeDefinition.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
astore 4 /* instrumentedType */
start local 4 // net.bytebuddy.description.type.TypeDescription instrumentedType
1: .line 1402
aload 4 /* instrumentedType */
invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredMethods:()Lnet/bytebuddy/description/method/MethodList;
2: .line 1403
invokestatic net.bytebuddy.matcher.ElementMatchers.isConstructor:()Lnet/bytebuddy/matcher/ElementMatcher$Junction;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokestatic net.bytebuddy.matcher.ElementMatchers.takesArguments:([Ljava/lang/Class;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
invokeinterface net.bytebuddy.matcher.ElementMatcher$Junction.and:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
invokeinterface net.bytebuddy.description.method.MethodList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
checkcast net.bytebuddy.description.method.MethodList
3: .line 1404
invokeinterface net.bytebuddy.description.method.MethodList.getOnly:()Ljava/lang/Object;
checkcast net.bytebuddy.description.method.MethodDescription
4: .line 1402
astore 5 /* enumConstructor */
start local 5 // net.bytebuddy.description.method.MethodDescription enumConstructor
5: .line 1405
iconst_0
istore 6 /* ordinal */
start local 6 // int ordinal
6: .line 1406
getstatic net.bytebuddy.implementation.bytecode.StackManipulation$Trivial.INSTANCE:Lnet/bytebuddy/implementation/bytecode/StackManipulation$Trivial;
astore 7 /* stackManipulation */
start local 7 // net.bytebuddy.implementation.bytecode.StackManipulation stackManipulation
7: .line 1407
new java.util.ArrayList
dup
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 8 /* enumerationFields */
start local 8 // java.util.List enumerationFields
8: .line 1408
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 20
StackMap locals: net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodDescription int net.bytebuddy.implementation.bytecode.StackManipulation java.util.List top java.util.Iterator
StackMap stack:
9: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9 /* value */
start local 9 // java.lang.String value
10: .line 1409
aload 4 /* instrumentedType */
invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredFields:()Lnet/bytebuddy/description/field/FieldList;
aload 9 /* value */
invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
invokeinterface net.bytebuddy.description.field.FieldList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
checkcast net.bytebuddy.description.field.FieldList
invokeinterface net.bytebuddy.description.field.FieldList.getOnly:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription
astore 11 /* fieldDescription */
start local 11 // net.bytebuddy.description.field.FieldDescription fieldDescription
11: .line 1410
new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
bipush 7
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
aload 7 /* stackManipulation */
aastore
dup
iconst_1
12: .line 1411
aload 4 /* instrumentedType */
invokestatic net.bytebuddy.implementation.bytecode.TypeCreation.of:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_2
13: .line 1412
getstatic net.bytebuddy.implementation.bytecode.Duplication.SINGLE:Lnet/bytebuddy/implementation/bytecode/Duplication;
aastore
dup
iconst_3
14: .line 1413
new net.bytebuddy.implementation.bytecode.constant.TextConstant
dup
aload 9 /* value */
invokespecial net.bytebuddy.implementation.bytecode.constant.TextConstant.<init>:(Ljava/lang/String;)V
aastore
dup
iconst_4
15: .line 1414
iload 6 /* ordinal */
iinc 6 /* ordinal */ 1
invokestatic net.bytebuddy.implementation.bytecode.constant.IntegerConstant.forValue:(I)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_5
16: .line 1415
aload 5 /* enumConstructor */
invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
aastore
dup
bipush 6
17: .line 1416
aload 11 /* fieldDescription */
invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.write:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
18: .line 1410
aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
astore 7 /* stackManipulation */
19: .line 1417
aload 8 /* enumerationFields */
aload 11 /* fieldDescription */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 // net.bytebuddy.description.field.FieldDescription fieldDescription
end local 9 // java.lang.String value
20: .line 1408
StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
21: .line 1419
new java.util.ArrayList
dup
aload 0 /* this */
getfield net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender.values:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 9 /* fieldGetters */
start local 9 // java.util.List fieldGetters
22: .line 1420
aload 8 /* enumerationFields */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 25
StackMap locals: net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender org.objectweb.asm.MethodVisitor net.bytebuddy.implementation.Implementation$Context net.bytebuddy.description.method.MethodDescription net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodDescription int net.bytebuddy.implementation.bytecode.StackManipulation java.util.List java.util.List top java.util.Iterator
StackMap stack:
23: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription
astore 10 /* fieldDescription */
start local 10 // net.bytebuddy.description.field.FieldDescription fieldDescription
24: .line 1421
aload 9 /* fieldGetters */
aload 10 /* fieldDescription */
invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.read:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 // net.bytebuddy.description.field.FieldDescription fieldDescription
25: .line 1420
StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: .line 1423
new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
dup
iconst_3
anewarray net.bytebuddy.implementation.bytecode.StackManipulation
dup
iconst_0
27: .line 1424
aload 7 /* stackManipulation */
aastore
dup
iconst_1
28: .line 1425
aload 4 /* instrumentedType */
invokeinterface net.bytebuddy.description.type.TypeDescription.asGenericType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
invokestatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory.forType:(Lnet/bytebuddy/description/type/TypeDescription$Generic;)Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;
aload 9 /* fieldGetters */
invokevirtual net.bytebuddy.implementation.bytecode.collection.ArrayFactory.withValues:(Ljava/util/List;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
aastore
dup
iconst_2
29: .line 1426
aload 4 /* instrumentedType */
invokeinterface net.bytebuddy.description.type.TypeDescription.getDeclaredFields:()Lnet/bytebuddy/description/field/FieldList;
ldc "$VALUES"
invokestatic net.bytebuddy.matcher.ElementMatchers.named:(Ljava/lang/String;)Lnet/bytebuddy/matcher/ElementMatcher$Junction;
invokeinterface net.bytebuddy.description.field.FieldList.filter:(Lnet/bytebuddy/matcher/ElementMatcher;)Lnet/bytebuddy/matcher/FilterableList;
checkcast net.bytebuddy.description.field.FieldList
invokeinterface net.bytebuddy.description.field.FieldList.getOnly:()Ljava/lang/Object;
checkcast net.bytebuddy.description.field.FieldDescription$InDefinedShape
invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.write:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
30: .line 1423
aastore
invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
astore 7 /* stackManipulation */
31: .line 1428
new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
dup
aload 7 /* stackManipulation */
aload 1 /* methodVisitor */
aload 2 /* implementationContext */
invokeinterface net.bytebuddy.implementation.bytecode.StackManipulation.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Size.getMaximalSize:()I
aload 3 /* instrumentedMethod */
invokeinterface net.bytebuddy.description.method.MethodDescription.getStackSize:()I
invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
areturn
end local 9 // java.util.List fieldGetters
end local 8 // java.util.List enumerationFields
end local 7 // net.bytebuddy.implementation.bytecode.StackManipulation stackManipulation
end local 6 // int ordinal
end local 5 // net.bytebuddy.description.method.MethodDescription enumConstructor
end local 4 // net.bytebuddy.description.type.TypeDescription instrumentedType
end local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
end local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
end local 1 // org.objectweb.asm.MethodVisitor methodVisitor
end local 0 // net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender this
LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lnet/bytebuddy/ByteBuddy$EnumerationImplementation$InitializationAppender;
0 32 1 methodVisitor Lorg/objectweb/asm/MethodVisitor;
0 32 2 implementationContext Lnet/bytebuddy/implementation/Implementation$Context;
0 32 3 instrumentedMethod Lnet/bytebuddy/description/method/MethodDescription;
1 32 4 instrumentedType Lnet/bytebuddy/description/type/TypeDescription;
5 32 5 enumConstructor Lnet/bytebuddy/description/method/MethodDescription;
6 32 6 ordinal I
7 32 7 stackManipulation Lnet/bytebuddy/implementation/bytecode/StackManipulation;
8 32 8 enumerationFields Ljava/util/List<Lnet/bytebuddy/description/field/FieldDescription;>;
10 20 9 value Ljava/lang/String;
11 20 11 fieldDescription Lnet/bytebuddy/description/field/FieldDescription;
22 32 9 fieldGetters Ljava/util/List<Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
24 25 10 fieldDescription Lnet/bytebuddy/description/field/FieldDescription;
MethodParameters:
Name Flags
methodVisitor
implementationContext
instrumentedMethod
}
SourceFile: "ByteBuddy.java"
NestHost: net.bytebuddy.ByteBuddy
InnerClasses:
protected EnumerationImplementation = net.bytebuddy.ByteBuddy$EnumerationImplementation of net.bytebuddy.ByteBuddy
protected InitializationAppender = net.bytebuddy.ByteBuddy$EnumerationImplementation$InitializationAppender of net.bytebuddy.ByteBuddy$EnumerationImplementation
public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
public abstract InDefinedShape = net.bytebuddy.description.field.FieldDescription$InDefinedShape of net.bytebuddy.description.field.FieldDescription
public abstract InDefinedShape = net.bytebuddy.description.method.MethodDescription$InDefinedShape of net.bytebuddy.description.method.MethodDescription
public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
public Compound = net.bytebuddy.implementation.bytecode.StackManipulation$Compound of net.bytebuddy.implementation.bytecode.StackManipulation
public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
public final Trivial = net.bytebuddy.implementation.bytecode.StackManipulation$Trivial of net.bytebuddy.implementation.bytecode.StackManipulation
public abstract Defined = net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined of net.bytebuddy.implementation.bytecode.member.FieldAccess
public abstract WithImplicitInvocationTargetType = net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType of net.bytebuddy.implementation.bytecode.member.MethodInvocation
public abstract Junction = net.bytebuddy.matcher.ElementMatcher$Junction of net.bytebuddy.matcher.ElementMatcher
RuntimeVisibleAnnotations:
net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()