class org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef implements org.springframework.expression.spel.ast.ValueRef
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef
  super_class: java.lang.Object
{
  private final java.lang.Object targetObject;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.expression.EvaluationContext evaluationContext;
    descriptor: Lorg/springframework/expression/EvaluationContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor;
    descriptor: Lorg/springframework/core/convert/TypeDescriptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.springframework.expression.spel.ast.Indexer this$0;
    descriptor: Lorg/springframework/expression/spel/ast/Indexer;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.springframework.expression.spel.ast.Indexer, java.lang.Object, java.lang.String, org.springframework.expression.EvaluationContext, org.springframework.core.convert.TypeDescriptor);
    descriptor: (Lorg/springframework/expression/spel/ast/Indexer;Ljava/lang/Object;Ljava/lang/String;Lorg/springframework/expression/EvaluationContext;Lorg/springframework/core/convert/TypeDescriptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
        start local 2 // java.lang.Object targetObject
        start local 3 // java.lang.String value
        start local 4 // org.springframework.expression.EvaluationContext evaluationContext
        start local 5 // org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor
         0: .line 551
            aload 0 /* this */
            aload 1
            putfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
         1: .line 550
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 553
            aload 0 /* this */
            aload 2 /* targetObject */
            putfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
         3: .line 554
            aload 0 /* this */
            aload 3 /* value */
            putfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
         4: .line 555
            aload 0 /* this */
            aload 4 /* evaluationContext */
            putfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
         5: .line 556
            aload 0 /* this */
            aload 5 /* targetObjectTypeDescriptor */
            putfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObjectTypeDescriptor:Lorg/springframework/core/convert/TypeDescriptor;
         6: .line 557
            return
        end local 5 // org.springframework.core.convert.TypeDescriptor targetObjectTypeDescriptor
        end local 4 // org.springframework.expression.EvaluationContext evaluationContext
        end local 3 // java.lang.String value
        end local 2 // java.lang.Object targetObject
        end local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    7     0                        this  Lorg/springframework/expression/spel/ast/Indexer$PropertyIndexingValueRef;
            0    7     2                targetObject  Ljava/lang/Object;
            0    7     3                       value  Ljava/lang/String;
            0    7     4           evaluationContext  Lorg/springframework/expression/EvaluationContext;
            0    7     5  targetObjectTypeDescriptor  Lorg/springframework/core/convert/TypeDescriptor;
    MethodParameters:
                            Name  Flags
      this$0                      final
      targetObject                
      value                       
      evaluationContext           
      targetObjectTypeDescriptor  

  public org.springframework.expression.TypedValue getValue();
    descriptor: ()Lorg/springframework/expression/TypedValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=1
        start local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
         0: .line 561
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            invokevirtual org.springframework.expression.spel.ast.Indexer.getObjectClass:(Ljava/lang/Object;)Ljava/lang/Class;
            astore 1 /* targetObjectRuntimeClass */
        start local 1 // java.lang.Class targetObjectRuntimeClass
         1: .line 563
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedReadName:Ljava/lang/String;
            ifnull 10
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedReadName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         2: .line 564
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedReadTargetType:Ljava/lang/Class;
            ifnull 10
         3: .line 565
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedReadTargetType:Ljava/lang/Class;
            aload 1 /* targetObjectRuntimeClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 567
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedReadAccessor:Lorg/springframework/expression/PropertyAccessor;
            astore 2 /* accessor */
        start local 2 // org.springframework.expression.PropertyAccessor accessor
         5: .line 568
            aload 2 /* accessor */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals: java.lang.Class org.springframework.expression.PropertyAccessor
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: ldc "No cached read accessor"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         8: .line 569
            aload 2 /* accessor */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            invokeinterface org.springframework.expression.PropertyAccessor.read:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/expression/TypedValue;
         9: areturn
        end local 2 // org.springframework.expression.PropertyAccessor accessor
        10: .line 572
      StackMap locals:
      StackMap stack:
            aload 1 /* targetObjectRuntimeClass */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            invokeinterface org.springframework.expression.EvaluationContext.getPropertyAccessors:()Ljava/util/List;
        11: .line 571
            invokestatic org.springframework.expression.spel.ast.AstUtils.getPropertyAccessorsToTry:(Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
            astore 2 /* accessorsToTry */
        start local 2 // java.util.List accessorsToTry
        12: .line 573
            aload 2 /* accessorsToTry */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 32
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Class java.util.List top java.util.Iterator
      StackMap stack:
        13: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.expression.PropertyAccessor
            astore 3 /* accessor */
        start local 3 // org.springframework.expression.PropertyAccessor accessor
        14: .line 574
            aload 3 /* accessor */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            invokeinterface org.springframework.expression.PropertyAccessor.canRead:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 32
        15: .line 575
            aload 3 /* accessor */
            instanceof org.springframework.expression.spel.support.ReflectivePropertyAccessor
            ifeq 19
        16: .line 576
            aload 3 /* accessor */
            checkcast org.springframework.expression.spel.support.ReflectivePropertyAccessor
        17: .line 577
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
        18: .line 576
            invokevirtual org.springframework.expression.spel.support.ReflectivePropertyAccessor.createOptimalAccessor:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/expression/PropertyAccessor;
            astore 3 /* accessor */
        19: .line 579
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Class java.util.List org.springframework.expression.PropertyAccessor java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 3 /* accessor */
            putfield org.springframework.expression.spel.ast.Indexer.cachedReadAccessor:Lorg/springframework/expression/PropertyAccessor;
        20: .line 580
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            putfield org.springframework.expression.spel.ast.Indexer.cachedReadName:Ljava/lang/String;
        21: .line 581
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 1 /* targetObjectRuntimeClass */
            putfield org.springframework.expression.spel.ast.Indexer.cachedReadTargetType:Ljava/lang/Class;
        22: .line 582
            aload 3 /* accessor */
            instanceof org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor
            ifeq 30
        23: .line 584
            aload 3 /* accessor */
            checkcast org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor
        24: .line 583
            astore 5 /* optimalAccessor */
        start local 5 // org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor optimalAccessor
        25: .line 585
            aload 5 /* optimalAccessor */
            getfield org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor.member:Ljava/lang/reflect/Member;
            astore 6 /* member */
        start local 6 // java.lang.reflect.Member member
        26: .line 586
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 6 /* member */
            instanceof java.lang.reflect.Method
            ifeq 28
        27: .line 587
            aload 6 /* member */
            checkcast java.lang.reflect.Method
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            goto 29
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Class java.util.List org.springframework.expression.PropertyAccessor java.util.Iterator org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor java.lang.reflect.Member
      StackMap stack: org.springframework.expression.spel.ast.Indexer
        28: aload 6 /* member */
            checkcast java.lang.reflect.Field
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
        29: .line 586
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Class java.util.List org.springframework.expression.PropertyAccessor java.util.Iterator org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor java.lang.reflect.Member
      StackMap stack: org.springframework.expression.spel.ast.Indexer java.lang.Class
            invokestatic org.springframework.expression.spel.CodeFlow.toDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            putfield org.springframework.expression.spel.ast.Indexer.exitTypeDescriptor:Ljava/lang/String;
        end local 6 // java.lang.reflect.Member member
        end local 5 // org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor optimalAccessor
        30: .line 589
      StackMap locals:
      StackMap stack:
            aload 3 /* accessor */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            invokeinterface org.springframework.expression.PropertyAccessor.read:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/expression/TypedValue;
        31: areturn
        end local 3 // org.springframework.expression.PropertyAccessor accessor
        32: .line 573
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Class java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 2 // java.util.List accessorsToTry
        33: .line 592
            goto 38
        34: .line 593
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Class
      StackMap stack: org.springframework.expression.AccessException
            astore 2 /* ex */
        start local 2 // org.springframework.expression.AccessException ex
        35: .line 594
            new org.springframework.expression.spel.SpelEvaluationException
            dup
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            invokevirtual org.springframework.expression.spel.ast.Indexer.getStartPosition:()I
            aload 2 /* ex */
        36: .line 595
            getstatic org.springframework.expression.spel.SpelMessage.INDEXING_NOT_SUPPORTED_FOR_TYPE:Lorg/springframework/expression/spel/SpelMessage;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObjectTypeDescriptor:Lorg/springframework/core/convert/TypeDescriptor;
            invokevirtual org.springframework.core.convert.TypeDescriptor.toString:()Ljava/lang/String;
        37: .line 594
            aastore
            invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILjava/lang/Throwable;Lorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
            athrow
        end local 2 // org.springframework.expression.AccessException ex
        38: .line 597
      StackMap locals:
      StackMap stack:
            new org.springframework.expression.spel.SpelEvaluationException
            dup
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            invokevirtual org.springframework.expression.spel.ast.Indexer.getStartPosition:()I
        39: .line 598
            getstatic org.springframework.expression.spel.SpelMessage.INDEXING_NOT_SUPPORTED_FOR_TYPE:Lorg/springframework/expression/spel/SpelMessage;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObjectTypeDescriptor:Lorg/springframework/core/convert/TypeDescriptor;
            invokevirtual org.springframework.core.convert.TypeDescriptor.toString:()Ljava/lang/String;
        40: .line 597
            aastore
            invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.Class targetObjectRuntimeClass
        end local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   41     0                      this  Lorg/springframework/expression/spel/ast/Indexer$PropertyIndexingValueRef;
            1   41     1  targetObjectRuntimeClass  Ljava/lang/Class<*>;
            5   10     2                  accessor  Lorg/springframework/expression/PropertyAccessor;
           12   33     2            accessorsToTry  Ljava/util/List<Lorg/springframework/expression/PropertyAccessor;>;
           14   32     3                  accessor  Lorg/springframework/expression/PropertyAccessor;
           25   30     5           optimalAccessor  Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$OptimalPropertyAccessor;
           26   30     6                    member  Ljava/lang/reflect/Member;
           35   38     2                        ex  Lorg/springframework/expression/AccessException;
      Exception table:
        from    to  target  type
           1     9      34  Class org.springframework.expression.AccessException
          10    31      34  Class org.springframework.expression.AccessException
          32    33      34  Class org.springframework.expression.AccessException

  public void setValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
        start local 1 // java.lang.Object newValue
         0: .line 603
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            invokevirtual org.springframework.expression.spel.ast.Indexer.getObjectClass:(Ljava/lang/Object;)Ljava/lang/Class;
            astore 2 /* contextObjectClass */
        start local 2 // java.lang.Class contextObjectClass
         1: .line 605
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedWriteName:Ljava/lang/String;
            ifnull 10
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedWriteName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         2: .line 606
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedWriteTargetType:Ljava/lang/Class;
            ifnull 10
         3: .line 607
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedWriteTargetType:Ljava/lang/Class;
            aload 2 /* contextObjectClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         4: .line 609
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            getfield org.springframework.expression.spel.ast.Indexer.cachedWriteAccessor:Lorg/springframework/expression/PropertyAccessor;
            astore 3 /* accessor */
        start local 3 // org.springframework.expression.PropertyAccessor accessor
         5: .line 610
            aload 3 /* accessor */
            ifnull 6
            iconst_1
            goto 7
      StackMap locals: java.lang.Class org.springframework.expression.PropertyAccessor
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: ldc "No cached write accessor"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         8: .line 611
            aload 3 /* accessor */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            aload 1 /* newValue */
            invokeinterface org.springframework.expression.PropertyAccessor.write:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 612
            return
        end local 3 // org.springframework.expression.PropertyAccessor accessor
        10: .line 615
      StackMap locals:
      StackMap stack:
            aload 2 /* contextObjectClass */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            invokeinterface org.springframework.expression.EvaluationContext.getPropertyAccessors:()Ljava/util/List;
        11: .line 614
            invokestatic org.springframework.expression.spel.ast.AstUtils.getPropertyAccessorsToTry:(Ljava/lang/Class;Ljava/util/List;)Ljava/util/List;
            astore 3 /* accessorsToTry */
        start local 3 // java.util.List accessorsToTry
        12: .line 616
            aload 3 /* accessorsToTry */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Object java.lang.Class java.util.List top java.util.Iterator
      StackMap stack:
        13: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.expression.PropertyAccessor
            astore 4 /* accessor */
        start local 4 // org.springframework.expression.PropertyAccessor accessor
        14: .line 617
            aload 4 /* accessor */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            invokeinterface org.springframework.expression.PropertyAccessor.canWrite:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;)Z
            ifeq 20
        15: .line 618
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            putfield org.springframework.expression.spel.ast.Indexer.cachedWriteName:Ljava/lang/String;
        16: .line 619
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 2 /* contextObjectClass */
            putfield org.springframework.expression.spel.ast.Indexer.cachedWriteTargetType:Ljava/lang/Class;
        17: .line 620
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            aload 4 /* accessor */
            putfield org.springframework.expression.spel.ast.Indexer.cachedWriteAccessor:Lorg/springframework/expression/PropertyAccessor;
        18: .line 621
            aload 4 /* accessor */
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.evaluationContext:Lorg/springframework/expression/EvaluationContext;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.targetObject:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            aload 1 /* newValue */
            invokeinterface org.springframework.expression.PropertyAccessor.write:(Lorg/springframework/expression/EvaluationContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 622
            return
        end local 4 // org.springframework.expression.PropertyAccessor accessor
        20: .line 616
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 3 // java.util.List accessorsToTry
        21: .line 625
            goto 26
        22: .line 626
      StackMap locals: org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef java.lang.Object java.lang.Class
      StackMap stack: org.springframework.expression.AccessException
            astore 3 /* ex */
        start local 3 // org.springframework.expression.AccessException ex
        23: .line 627
            new org.springframework.expression.spel.SpelEvaluationException
            dup
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.this$0:Lorg/springframework/expression/spel/ast/Indexer;
            invokevirtual org.springframework.expression.spel.ast.Indexer.getStartPosition:()I
            aload 3 /* ex */
        24: .line 628
            getstatic org.springframework.expression.spel.SpelMessage.EXCEPTION_DURING_PROPERTY_WRITE:Lorg/springframework/expression/spel/SpelMessage;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* ex */
            invokevirtual org.springframework.expression.AccessException.getMessage:()Ljava/lang/String;
        25: .line 627
            aastore
            invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILjava/lang/Throwable;Lorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
            athrow
        end local 3 // org.springframework.expression.AccessException ex
        26: .line 630
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Class contextObjectClass
        end local 1 // java.lang.Object newValue
        end local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   27     0                this  Lorg/springframework/expression/spel/ast/Indexer$PropertyIndexingValueRef;
            0   27     1            newValue  Ljava/lang/Object;
            1   27     2  contextObjectClass  Ljava/lang/Class<*>;
            5   10     3            accessor  Lorg/springframework/expression/PropertyAccessor;
           12   21     3      accessorsToTry  Ljava/util/List<Lorg/springframework/expression/PropertyAccessor;>;
           14   20     4            accessor  Lorg/springframework/expression/PropertyAccessor;
           23   26     3                  ex  Lorg/springframework/expression/AccessException;
      Exception table:
        from    to  target  type
           1     9      22  Class org.springframework.expression.AccessException
          10    19      22  Class org.springframework.expression.AccessException
          20    21      22  Class org.springframework.expression.AccessException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      newValue  

  public boolean isWritable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
         0: .line 634
            iconst_1
            ireturn
        end local 0 // org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/expression/spel/ast/Indexer$PropertyIndexingValueRef;
}
SourceFile: "Indexer.java"
NestHost: org.springframework.expression.spel.ast.Indexer
InnerClasses:
  private PropertyIndexingValueRef = org.springframework.expression.spel.ast.Indexer$PropertyIndexingValueRef of org.springframework.expression.spel.ast.Indexer
  public OptimalPropertyAccessor = org.springframework.expression.spel.support.ReflectivePropertyAccessor$OptimalPropertyAccessor of org.springframework.expression.spel.support.ReflectivePropertyAccessor