class org.springframework.data.projection.SpelEvaluatingMethodInterceptor implements org.aopalliance.intercept.MethodInterceptor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.data.projection.SpelEvaluatingMethodInterceptor
  super_class: java.lang.Object
{
  private static final org.springframework.expression.ParserContext PARSER_CONTEXT;
    descriptor: Lorg/springframework/expression/ParserContext;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final org.aopalliance.intercept.MethodInterceptor delegate;
    descriptor: Lorg/aopalliance/intercept/MethodInterceptor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.Integer, org.springframework.expression.Expression> expressions;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lorg/springframework/expression/Expression;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 50
            new org.springframework.expression.common.TemplateParserContext
            dup
            invokespecial org.springframework.expression.common.TemplateParserContext.<init>:()V
            putstatic org.springframework.data.projection.SpelEvaluatingMethodInterceptor.PARSER_CONTEXT:Lorg/springframework/expression/ParserContext;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.aopalliance.intercept.MethodInterceptor, , org.springframework.beans.factory.BeanFactory, org.springframework.expression.spel.standard.SpelExpressionParser, java.lang.Class<?>);
    descriptor: (Lorg/aopalliance/intercept/MethodInterceptor;Ljava/lang/Object;Lorg/springframework/beans/factory/BeanFactory;Lorg/springframework/expression/spel/standard/SpelExpressionParser;Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.springframework.data.projection.SpelEvaluatingMethodInterceptor this
        start local 1 // org.aopalliance.intercept.MethodInterceptor delegate
        start local 2 // java.lang.Object target
        start local 3 // org.springframework.beans.factory.BeanFactory beanFactory
        start local 4 // org.springframework.expression.spel.standard.SpelExpressionParser parser
        start local 5 // java.lang.Class targetInterface
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 1 /* delegate */
            ldc "Delegate MethodInterceptor must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 72
            aload 2 /* target */
            ldc "Target object must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 73
            aload 4 /* parser */
            ldc "SpelExpressionParser must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         4: .line 74
            aload 5 /* targetInterface */
            ldc "Target interface must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         5: .line 76
            new org.springframework.expression.spel.support.StandardEvaluationContext
            dup
            invokespecial org.springframework.expression.spel.support.StandardEvaluationContext.<init>:()V
            astore 6 /* evaluationContext */
        start local 6 // org.springframework.expression.spel.support.StandardEvaluationContext evaluationContext
         6: .line 78
            aload 2 /* target */
            instanceof java.util.Map
            ifeq 8
         7: .line 79
            aload 6 /* evaluationContext */
            new org.springframework.context.expression.MapAccessor
            dup
            invokespecial org.springframework.context.expression.MapAccessor.<init>:()V
            invokevirtual org.springframework.expression.spel.support.StandardEvaluationContext.addPropertyAccessor:(Lorg/springframework/expression/PropertyAccessor;)V
         8: .line 82
      StackMap locals: org.springframework.data.projection.SpelEvaluatingMethodInterceptor org.aopalliance.intercept.MethodInterceptor java.lang.Object org.springframework.beans.factory.BeanFactory org.springframework.expression.spel.standard.SpelExpressionParser java.lang.Class org.springframework.expression.spel.support.StandardEvaluationContext
      StackMap stack:
            aload 3 /* beanFactory */
            ifnull 10
         9: .line 83
            aload 6 /* evaluationContext */
            new org.springframework.context.expression.BeanFactoryResolver
            dup
            aload 3 /* beanFactory */
            invokespecial org.springframework.context.expression.BeanFactoryResolver.<init>:(Lorg/springframework/beans/factory/BeanFactory;)V
            invokevirtual org.springframework.expression.spel.support.StandardEvaluationContext.setBeanResolver:(Lorg/springframework/expression/BeanResolver;)V
        10: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* parser */
            aload 5 /* targetInterface */
            invokestatic org.springframework.data.projection.SpelEvaluatingMethodInterceptor.potentiallyCreateExpressionsForMethodsOnTargetInterface:(Lorg/springframework/expression/spel/standard/SpelExpressionParser;Ljava/lang/Class;)Ljava/util/Map;
            putfield org.springframework.data.projection.SpelEvaluatingMethodInterceptor.expressions:Ljava/util/Map;
        11: .line 88
            aload 0 /* this */
            aload 6 /* evaluationContext */
            putfield org.springframework.data.projection.SpelEvaluatingMethodInterceptor.evaluationContext:Lorg/springframework/expression/EvaluationContext;
        12: .line 89
            aload 0 /* this */
            aload 1 /* delegate */
            putfield org.springframework.data.projection.SpelEvaluatingMethodInterceptor.delegate:Lorg/aopalliance/intercept/MethodInterceptor;
        13: .line 90
            aload 0 /* this */
            aload 2 /* target */
            putfield org.springframework.data.projection.SpelEvaluatingMethodInterceptor.target:Ljava/lang/Object;
        14: .line 91
            return
        end local 6 // org.springframework.expression.spel.support.StandardEvaluationContext evaluationContext
        end local 5 // java.lang.Class targetInterface
        end local 4 // org.springframework.expression.spel.standard.SpelExpressionParser parser
        end local 3 // org.springframework.beans.factory.BeanFactory beanFactory
        end local 2 // java.lang.Object target
        end local 1 // org.aopalliance.intercept.MethodInterceptor delegate
        end local 0 // org.springframework.data.projection.SpelEvaluatingMethodInterceptor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/springframework/data/projection/SpelEvaluatingMethodInterceptor;
            0   15     1           delegate  Lorg/aopalliance/intercept/MethodInterceptor;
            0   15     2             target  Ljava/lang/Object;
            0   15     3        beanFactory  Lorg/springframework/beans/factory/BeanFactory;
            0   15     4             parser  Lorg/springframework/expression/spel/standard/SpelExpressionParser;
            0   15     5    targetInterface  Ljava/lang/Class<*>;
            6   15     6  evaluationContext  Lorg/springframework/expression/spel/support/StandardEvaluationContext;
    Signature: (Lorg/aopalliance/intercept/MethodInterceptor;Ljava/lang/Object;Lorg/springframework/beans/factory/BeanFactory;Lorg/springframework/expression/spel/standard/SpelExpressionParser;Ljava/lang/Class<*>;)V
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
      3:
      4:
    MethodParameters:
                 Name  Flags
      delegate         
      target           
      beanFactory      
      parser           
      targetInterface  

  private static java.util.Map<java.lang.Integer, org.springframework.expression.Expression> potentiallyCreateExpressionsForMethodsOnTargetInterface(org.springframework.expression.spel.standard.SpelExpressionParser, java.lang.Class<?>);
    descriptor: (Lorg/springframework/expression/spel/standard/SpelExpressionParser;Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.springframework.expression.spel.standard.SpelExpressionParser parser
        start local 1 // java.lang.Class targetInterface
         0: .line 105
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* expressions */
        start local 2 // java.util.Map expressions
         1: .line 107
            aload 1 /* targetInterface */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: org.springframework.expression.spel.standard.SpelExpressionParser java.lang.Class java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         3: .line 109
            aload 3 /* method */
            ldc Lorg/springframework/beans/factory/annotation/Value;
            invokevirtual java.lang.reflect.Method.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 5
         4: .line 110
            goto 9
         5: .line 113
      StackMap locals: org.springframework.expression.spel.standard.SpelExpressionParser java.lang.Class java.util.Map java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 3 /* method */
            ldc Lorg/springframework/beans/factory/annotation/Value;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.springframework.beans.factory.annotation.Value
            astore 7 /* value */
        start local 7 // org.springframework.beans.factory.annotation.Value value
         6: .line 115
            aload 7 /* value */
            invokeinterface org.springframework.beans.factory.annotation.Value.value:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 8
         7: .line 116
            new java.lang.IllegalStateException
            dup
            ldc "@Value annotation on %s contains empty expression!"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* method */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 119
      StackMap locals: org.springframework.beans.factory.annotation.Value
      StackMap stack:
            aload 2 /* expressions */
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* parser */
            aload 7 /* value */
            invokeinterface org.springframework.beans.factory.annotation.Value.value:()Ljava/lang/String;
            getstatic org.springframework.data.projection.SpelEvaluatingMethodInterceptor.PARSER_CONTEXT:Lorg/springframework/expression/ParserContext;
            invokevirtual org.springframework.expression.spel.standard.SpelExpressionParser.parseExpression:(Ljava/lang/String;Lorg/springframework/expression/ParserContext;)Lorg/springframework/expression/Expression;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.springframework.beans.factory.annotation.Value value
        end local 3 // java.lang.reflect.Method method
         9: .line 107
      StackMap locals: org.springframework.expression.spel.standard.SpelExpressionParser java.lang.Class java.util.Map top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 2
        11: .line 122
            aload 2 /* expressions */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 2 // java.util.Map expressions
        end local 1 // java.lang.Class targetInterface
        end local 0 // org.springframework.expression.spel.standard.SpelExpressionParser parser
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0           parser  Lorg/springframework/expression/spel/standard/SpelExpressionParser;
            0   12     1  targetInterface  Ljava/lang/Class<*>;
            1   12     2      expressions  Ljava/util/Map<Ljava/lang/Integer;Lorg/springframework/expression/Expression;>;
            3    9     3           method  Ljava/lang/reflect/Method;
            6    9     7            value  Lorg/springframework/beans/factory/annotation/Value;
    Signature: (Lorg/springframework/expression/spel/standard/SpelExpressionParser;Ljava/lang/Class<*>;)Ljava/util/Map<Ljava/lang/Integer;Lorg/springframework/expression/Expression;>;
    MethodParameters:
                 Name  Flags
      parser           
      targetInterface  

  public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation);
    descriptor: (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.projection.SpelEvaluatingMethodInterceptor this
         0: .line 139
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method of(Object, Object[]) is undefined for the type SpelEvaluatingMethodInterceptor.TargetWrapper\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.projection.SpelEvaluatingMethodInterceptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/projection/SpelEvaluatingMethodInterceptor;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      invocation  
}
SourceFile: "SpelEvaluatingMethodInterceptor.java"
NestMembers:
  org.springframework.data.projection.SpelEvaluatingMethodInterceptor$TargetWrapper
InnerClasses:
  TargetWrapper = org.springframework.data.projection.SpelEvaluatingMethodInterceptor$TargetWrapper of org.springframework.data.projection.SpelEvaluatingMethodInterceptor