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