class lombok.core.AnnotationValues$1 implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: lombok.core.AnnotationValues$1
super_class: java.lang.Object
{
final lombok.core.AnnotationValues this$0;
descriptor: Llombok/core/AnnotationValues;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(lombok.core.AnnotationValues);
descriptor: (Llombok/core/AnnotationValues;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // lombok.core.AnnotationValues$1 this
0: .line 230
aload 0 /* this */
aload 1
putfield lombok.core.AnnotationValues$1.this$0:Llombok/core/AnnotationValues;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // lombok.core.AnnotationValues$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Llombok/core/AnnotationValues$1;
MethodParameters:
Name Flags
this$0 final
public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=4
start local 0 // lombok.core.AnnotationValues$1 this
start local 1 // java.lang.Object proxy
start local 2 // java.lang.reflect.Method method
start local 3 // java.lang.Object[] args
0: .line 232
aload 0 /* this */
getfield lombok.core.AnnotationValues$1.this$0:Llombok/core/AnnotationValues;
getfield lombok.core.AnnotationValues.values:Ljava/util/Map;
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast lombok.core.AnnotationValues$AnnotationValue
astore 4 /* v */
start local 4 // lombok.core.AnnotationValues$AnnotationValue v
1: .line 233
aload 4 /* v */
ifnonnull 5
2: .line 234
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
astore 5 /* defaultValue */
start local 5 // java.lang.Object defaultValue
3: .line 235
aload 5 /* defaultValue */
ifnull 4
aload 5 /* defaultValue */
areturn
4: .line 236
StackMap locals: lombok.core.AnnotationValues$AnnotationValue java.lang.Object
StackMap stack:
aload 4 /* v */
aload 2 /* method */
invokestatic lombok.core.AnnotationValues.makeNoDefaultFail:(Llombok/core/AnnotationValues$AnnotationValue;Ljava/lang/reflect/Method;)Llombok/core/AnnotationValues$AnnotationValueDecodeFail;
athrow
end local 5 // java.lang.Object defaultValue
5: .line 239
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* isArray */
start local 5 // boolean isArray
6: .line 240
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
astore 6 /* expected */
start local 6 // java.lang.Class expected
7: .line 241
aconst_null
astore 7 /* array */
start local 7 // java.lang.Object array
8: .line 242
aload 6 /* expected */
invokevirtual java.lang.Class.isArray:()Z
ifeq 12
9: .line 243
iconst_1
istore 5 /* isArray */
10: .line 244
aload 6 /* expected */
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 6 /* expected */
11: .line 245
aload 6 /* expected */
aload 4 /* v */
getfield lombok.core.AnnotationValues$AnnotationValue.valueGuesses:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 7 /* array */
12: .line 248
StackMap locals: int java.lang.Class java.lang.Object
StackMap stack:
iload 5 /* isArray */
ifne 16
aload 4 /* v */
getfield lombok.core.AnnotationValues$AnnotationValue.valueGuesses:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 16
13: .line 249
new lombok.core.AnnotationValues$AnnotationValueDecodeFail
dup
aload 4 /* v */
14: .line 250
new java.lang.StringBuilder
dup
ldc "Expected a single value, but "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " has an array of values"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_m1
15: .line 249
invokespecial lombok.core.AnnotationValues$AnnotationValueDecodeFail.<init>:(Llombok/core/AnnotationValues$AnnotationValue;Ljava/lang/String;I)V
athrow
16: .line 253
StackMap locals:
StackMap stack:
aload 4 /* v */
getfield lombok.core.AnnotationValues$AnnotationValue.valueGuesses:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 20
iload 5 /* isArray */
ifne 20
17: .line 254
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
astore 8 /* defaultValue */
start local 8 // java.lang.Object defaultValue
18: .line 255
aload 8 /* defaultValue */
ifnonnull 19
aload 4 /* v */
aload 2 /* method */
invokestatic lombok.core.AnnotationValues.makeNoDefaultFail:(Llombok/core/AnnotationValues$AnnotationValue;Ljava/lang/reflect/Method;)Llombok/core/AnnotationValues$AnnotationValueDecodeFail;
athrow
19: .line 256
StackMap locals: java.lang.Object
StackMap stack:
aload 8 /* defaultValue */
areturn
end local 8 // java.lang.Object defaultValue
20: .line 259
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* idx */
start local 8 // int idx
21: .line 260
aload 4 /* v */
getfield lombok.core.AnnotationValues$AnnotationValue.valueGuesses:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 41
StackMap locals: lombok.core.AnnotationValues$1 java.lang.Object java.lang.reflect.Method java.lang.Object[] lombok.core.AnnotationValues$AnnotationValue int java.lang.Class java.lang.Object int top java.util.Iterator
StackMap stack:
22: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 9 /* guess */
start local 9 // java.lang.Object guess
23: .line 261
aload 9 /* guess */
ifnonnull 24
aconst_null
goto 25
StackMap locals: lombok.core.AnnotationValues$1 java.lang.Object java.lang.reflect.Method java.lang.Object[] lombok.core.AnnotationValues$AnnotationValue int java.lang.Class java.lang.Object int java.lang.Object java.util.Iterator
StackMap stack:
24: aload 0 /* this */
getfield lombok.core.AnnotationValues$1.this$0:Llombok/core/AnnotationValues;
aload 9 /* guess */
aload 6 /* expected */
aload 4 /* v */
iload 8 /* idx */
invokevirtual lombok.core.AnnotationValues.guessToType:(Ljava/lang/Object;Ljava/lang/Class;Llombok/core/AnnotationValues$AnnotationValue;I)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
25: astore 11 /* result */
start local 11 // java.lang.Object result
26: .line 262
iload 5 /* isArray */
ifne 32
27: .line 263
aload 11 /* result */
ifnonnull 31
28: .line 264
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
astore 12 /* defaultValue */
start local 12 // java.lang.Object defaultValue
29: .line 265
aload 12 /* defaultValue */
ifnonnull 30
aload 4 /* v */
aload 2 /* method */
invokestatic lombok.core.AnnotationValues.makeNoDefaultFail:(Llombok/core/AnnotationValues$AnnotationValue;Ljava/lang/reflect/Method;)Llombok/core/AnnotationValues$AnnotationValueDecodeFail;
athrow
30: .line 266
StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 12 /* defaultValue */
areturn
end local 12 // java.lang.Object defaultValue
31: .line 268
StackMap locals:
StackMap stack:
aload 11 /* result */
areturn
32: .line 270
StackMap locals:
StackMap stack:
aload 11 /* result */
ifnonnull 40
33: .line 271
aload 4 /* v */
getfield lombok.core.AnnotationValues$AnnotationValue.valueGuesses:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 37
34: .line 272
aload 2 /* method */
invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
astore 12 /* defaultValue */
start local 12 // java.lang.Object defaultValue
35: .line 273
aload 12 /* defaultValue */
ifnonnull 36
aload 4 /* v */
aload 2 /* method */
invokestatic lombok.core.AnnotationValues.makeNoDefaultFail:(Llombok/core/AnnotationValues$AnnotationValue;Ljava/lang/reflect/Method;)Llombok/core/AnnotationValues$AnnotationValueDecodeFail;
athrow
36: .line 274
StackMap locals: java.lang.Object
StackMap stack:
aload 12 /* defaultValue */
areturn
end local 12 // java.lang.Object defaultValue
37: .line 276
StackMap locals:
StackMap stack:
new lombok.core.AnnotationValues$AnnotationValueDecodeFail
dup
aload 4 /* v */
38: .line 277
ldc "I can't make sense of this annotation value. Try using a fully qualified literal."
iload 8 /* idx */
39: .line 276
invokespecial lombok.core.AnnotationValues$AnnotationValueDecodeFail.<init>:(Llombok/core/AnnotationValues$AnnotationValue;Ljava/lang/String;I)V
athrow
40: .line 279
StackMap locals:
StackMap stack:
aload 7 /* array */
iload 8 /* idx */
iinc 8 /* idx */ 1
aload 11 /* result */
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
end local 11 // java.lang.Object result
end local 9 // java.lang.Object guess
41: .line 260
StackMap locals: lombok.core.AnnotationValues$1 java.lang.Object java.lang.reflect.Method java.lang.Object[] lombok.core.AnnotationValues$AnnotationValue int java.lang.Class java.lang.Object int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
42: .line 282
aload 7 /* array */
areturn
end local 8 // int idx
end local 7 // java.lang.Object array
end local 6 // java.lang.Class expected
end local 5 // boolean isArray
end local 4 // lombok.core.AnnotationValues$AnnotationValue v
end local 3 // java.lang.Object[] args
end local 2 // java.lang.reflect.Method method
end local 1 // java.lang.Object proxy
end local 0 // lombok.core.AnnotationValues$1 this
LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Llombok/core/AnnotationValues$1;
0 43 1 proxy Ljava/lang/Object;
0 43 2 method Ljava/lang/reflect/Method;
0 43 3 args [Ljava/lang/Object;
1 43 4 v Llombok/core/AnnotationValues$AnnotationValue;
3 5 5 defaultValue Ljava/lang/Object;
6 43 5 isArray Z
7 43 6 expected Ljava/lang/Class<*>;
8 43 7 array Ljava/lang/Object;
18 20 8 defaultValue Ljava/lang/Object;
21 43 8 idx I
23 41 9 guess Ljava/lang/Object;
26 41 11 result Ljava/lang/Object;
29 31 12 defaultValue Ljava/lang/Object;
35 37 12 defaultValue Ljava/lang/Object;
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
proxy
method
args
}
SourceFile: "AnnotationValues.java"
EnclosingMethod: lombok.core.AnnotationValues.getInstance:()Ljava/lang/annotation/Annotation;
NestHost: lombok.core.AnnotationValues
InnerClasses:
lombok.core.AnnotationValues$1
public AnnotationValue = lombok.core.AnnotationValues$AnnotationValue of lombok.core.AnnotationValues
public AnnotationValueDecodeFail = lombok.core.AnnotationValues$AnnotationValueDecodeFail of lombok.core.AnnotationValues