public class org.springframework.expression.spel.ast.OperatorBetween extends org.springframework.expression.spel.ast.Operator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.expression.spel.ast.OperatorBetween
  super_class: org.springframework.expression.spel.ast.Operator
{
  public void <init>(int, org.springframework.expression.spel.ast.SpelNodeImpl[]);
    descriptor: (I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.expression.spel.ast.OperatorBetween this
        start local 1 // int pos
        start local 2 // org.springframework.expression.spel.ast.SpelNodeImpl[] operands
         0: .line 40
            aload 0 /* this */
            ldc "between"
            iload 1 /* pos */
            aload 2 /* operands */
            invokespecial org.springframework.expression.spel.ast.Operator.<init>:(Ljava/lang/String;I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
         1: .line 41
            return
        end local 2 // org.springframework.expression.spel.ast.SpelNodeImpl[] operands
        end local 1 // int pos
        end local 0 // org.springframework.expression.spel.ast.OperatorBetween this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/expression/spel/ast/OperatorBetween;
            0    2     1       pos  I
            0    2     2  operands  [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
    MethodParameters:
          Name  Flags
      pos       
      operands  

  public org.springframework.expression.spel.support.BooleanTypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
    descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/support/BooleanTypedValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.springframework.expression.spel.ast.OperatorBetween this
        start local 1 // org.springframework.expression.spel.ExpressionState state
         0: .line 54
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorBetween.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            aload 1 /* state */
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
            invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
            astore 2 /* left */
        start local 2 // java.lang.Object left
         1: .line 55
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorBetween.getRightOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            aload 1 /* state */
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
            invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
            astore 3 /* right */
        start local 3 // java.lang.Object right
         2: .line 56
            aload 3 /* right */
            instanceof java.util.List
            ifeq 3
            aload 3 /* right */
            checkcast java.util.List
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpeq 6
         3: .line 57
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            new org.springframework.expression.spel.SpelEvaluationException
            dup
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorBetween.getRightOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getStartPosition:()I
         4: .line 58
            getstatic org.springframework.expression.spel.SpelMessage.BETWEEN_RIGHT_OPERAND_MUST_BE_TWO_ELEMENT_LIST:Lorg/springframework/expression/spel/SpelMessage;
         5: .line 57
            iconst_0
            anewarray java.lang.Object
            invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
            athrow
         6: .line 61
      StackMap locals:
      StackMap stack:
            aload 3 /* right */
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
         7: .line 62
            aload 4 /* list */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 5 /* low */
        start local 5 // java.lang.Object low
         8: .line 63
            aload 4 /* list */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 6 /* high */
        start local 6 // java.lang.Object high
         9: .line 64
            aload 1 /* state */
            invokevirtual org.springframework.expression.spel.ExpressionState.getTypeComparator:()Lorg/springframework/expression/TypeComparator;
            astore 7 /* comp */
        start local 7 // org.springframework.expression.TypeComparator comp
        10: .line 66
            aload 7 /* comp */
            aload 2 /* left */
            aload 5 /* low */
            invokeinterface org.springframework.expression.TypeComparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            iflt 11
            aload 7 /* comp */
            aload 2 /* left */
            aload 6 /* high */
            invokeinterface org.springframework.expression.TypeComparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifgt 11
            iconst_1
            goto 12
      StackMap locals: org.springframework.expression.spel.ast.OperatorBetween org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.Object java.util.List java.lang.Object java.lang.Object org.springframework.expression.TypeComparator
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
        13: areturn
        14: .line 68
      StackMap locals:
      StackMap stack: org.springframework.expression.spel.SpelEvaluationException
            astore 8 /* ex */
        start local 8 // org.springframework.expression.spel.SpelEvaluationException ex
        15: .line 69
            aload 8 /* ex */
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorBetween.getStartPosition:()I
            invokevirtual org.springframework.expression.spel.SpelEvaluationException.setPosition:(I)V
        16: .line 70
            aload 8 /* ex */
            athrow
        end local 8 // org.springframework.expression.spel.SpelEvaluationException ex
        end local 7 // org.springframework.expression.TypeComparator comp
        end local 6 // java.lang.Object high
        end local 5 // java.lang.Object low
        end local 4 // java.util.List list
        end local 3 // java.lang.Object right
        end local 2 // java.lang.Object left
        end local 1 // org.springframework.expression.spel.ExpressionState state
        end local 0 // org.springframework.expression.spel.ast.OperatorBetween this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/springframework/expression/spel/ast/OperatorBetween;
            0   17     1  state  Lorg/springframework/expression/spel/ExpressionState;
            1   17     2   left  Ljava/lang/Object;
            2   17     3  right  Ljava/lang/Object;
            7   17     4   list  Ljava/util/List<*>;
            8   17     5    low  Ljava/lang/Object;
            9   17     6   high  Ljava/lang/Object;
           10   17     7   comp  Lorg/springframework/expression/TypeComparator;
           15   17     8     ex  Lorg/springframework/expression/spel/SpelEvaluationException;
      Exception table:
        from    to  target  type
          10    13      14  Class org.springframework.expression.spel.SpelEvaluationException
    Exceptions:
      throws org.springframework.expression.EvaluationException
    MethodParameters:
       Name  Flags
      state  

  public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
    descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.springframework.expression.spel.ast.OperatorBetween.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/support/BooleanTypedValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.springframework.expression.EvaluationException
}
SourceFile: "OperatorBetween.java"