public class org.springframework.expression.spel.ast.OperatorPower 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.OperatorPower
  super_class: org.springframework.expression.spel.ast.Operator
{
  public void <init>(int, int, org.springframework.expression.spel.ast.SpelNodeImpl[]);
    descriptor: (II[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.expression.spel.ast.OperatorPower this
        start local 1 // int startPos
        start local 2 // int endPos
        start local 3 // org.springframework.expression.spel.ast.SpelNodeImpl[] operands
         0: .line 38
            aload 0 /* this */
            ldc "^"
            iload 1 /* startPos */
            iload 2 /* endPos */
            aload 3 /* operands */
            invokespecial org.springframework.expression.spel.ast.Operator.<init>:(Ljava/lang/String;II[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
         1: .line 39
            return
        end local 3 // org.springframework.expression.spel.ast.SpelNodeImpl[] operands
        end local 2 // int endPos
        end local 1 // int startPos
        end local 0 // org.springframework.expression.spel.ast.OperatorPower this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/expression/spel/ast/OperatorPower;
            0    2     1  startPos  I
            0    2     2    endPos  I
            0    2     3  operands  [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
    MethodParameters:
          Name  Flags
      startPos  
      endPos    
      operands  

  public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
    descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.springframework.expression.spel.ast.OperatorPower this
        start local 1 // org.springframework.expression.spel.ExpressionState state
         0: .line 44
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorPower.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            astore 2 /* leftOp */
        start local 2 // org.springframework.expression.spel.ast.SpelNodeImpl leftOp
         1: .line 45
            aload 0 /* this */
            invokevirtual org.springframework.expression.spel.ast.OperatorPower.getRightOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            astore 3 /* rightOp */
        start local 3 // org.springframework.expression.spel.ast.SpelNodeImpl rightOp
         2: .line 47
            aload 2 /* leftOp */
            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 4 /* leftOperand */
        start local 4 // java.lang.Object leftOperand
         3: .line 48
            aload 3 /* rightOp */
            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 5 /* rightOperand */
        start local 5 // java.lang.Object rightOperand
         4: .line 50
            aload 4 /* leftOperand */
            instanceof java.lang.Number
            ifeq 21
            aload 5 /* rightOperand */
            instanceof java.lang.Number
            ifeq 21
         5: .line 51
            aload 4 /* leftOperand */
            checkcast java.lang.Number
            astore 6 /* leftNumber */
        start local 6 // java.lang.Number leftNumber
         6: .line 52
            aload 5 /* rightOperand */
            checkcast java.lang.Number
            astore 7 /* rightNumber */
        start local 7 // java.lang.Number rightNumber
         7: .line 54
            aload 6 /* leftNumber */
            instanceof java.math.BigDecimal
            ifeq 10
         8: .line 55
            aload 6 /* leftNumber */
            ldc Ljava/math/BigDecimal;
            invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
            checkcast java.math.BigDecimal
            astore 8 /* leftBigDecimal */
        start local 8 // java.math.BigDecimal leftBigDecimal
         9: .line 56
            new org.springframework.expression.TypedValue
            dup
            aload 8 /* leftBigDecimal */
            aload 7 /* rightNumber */
            invokevirtual java.lang.Number.intValue:()I
            invokevirtual java.math.BigDecimal.pow:(I)Ljava/math/BigDecimal;
            invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
            areturn
        end local 8 // java.math.BigDecimal leftBigDecimal
        10: .line 58
      StackMap locals: org.springframework.expression.spel.ast.OperatorPower org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.spel.ast.SpelNodeImpl java.lang.Object java.lang.Object java.lang.Number java.lang.Number
      StackMap stack:
            aload 6 /* leftNumber */
            instanceof java.math.BigInteger
            ifeq 13
        11: .line 59
            aload 6 /* leftNumber */
            ldc Ljava/math/BigInteger;
            invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
            checkcast java.math.BigInteger
            astore 8 /* leftBigInteger */
        start local 8 // java.math.BigInteger leftBigInteger
        12: .line 60
            new org.springframework.expression.TypedValue
            dup
            aload 8 /* leftBigInteger */
            aload 7 /* rightNumber */
            invokevirtual java.lang.Number.intValue:()I
            invokevirtual java.math.BigInteger.pow:(I)Ljava/math/BigInteger;
            invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
            areturn
        end local 8 // java.math.BigInteger leftBigInteger
        13: .line 62
      StackMap locals:
      StackMap stack:
            aload 6 /* leftNumber */
            instanceof java.lang.Double
            ifne 14
            aload 7 /* rightNumber */
            instanceof java.lang.Double
            ifeq 15
        14: .line 63
      StackMap locals:
      StackMap stack:
            new org.springframework.expression.TypedValue
            dup
            aload 6 /* leftNumber */
            invokevirtual java.lang.Number.doubleValue:()D
            aload 7 /* rightNumber */
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic java.lang.Math.pow:(DD)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
            areturn
        15: .line 65
      StackMap locals:
      StackMap stack:
            aload 6 /* leftNumber */
            instanceof java.lang.Float
            ifne 16
            aload 7 /* rightNumber */
            instanceof java.lang.Float
            ifeq 17
        16: .line 66
      StackMap locals:
      StackMap stack:
            new org.springframework.expression.TypedValue
            dup
            aload 6 /* leftNumber */
            invokevirtual java.lang.Number.floatValue:()F
            f2d
            aload 7 /* rightNumber */
            invokevirtual java.lang.Number.floatValue:()F
            f2d
            invokestatic java.lang.Math.pow:(DD)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
            areturn
        17: .line 69
      StackMap locals:
      StackMap stack:
            aload 6 /* leftNumber */
            invokevirtual java.lang.Number.doubleValue:()D
            aload 7 /* rightNumber */
            invokevirtual java.lang.Number.doubleValue:()D
            invokestatic java.lang.Math.pow:(DD)D
            dstore 8 /* d */
        start local 8 // double d
        18: .line 70
            dload 8 /* d */
            ldc 2.147483647E9
            dcmpl
            ifgt 19
            aload 6 /* leftNumber */
            instanceof java.lang.Long
            ifne 19
            aload 7 /* rightNumber */
            instanceof java.lang.Long
            ifeq 20
        19: .line 71
      StackMap locals: double
      StackMap stack:
            new org.springframework.expression.TypedValue
            dup
            dload 8 /* d */
            d2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
            areturn
        20: .line 74
      StackMap locals:
      StackMap stack:
            new org.springframework.expression.TypedValue
            dup
            dload 8 /* d */
            d2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;)V
            areturn
        end local 8 // double d
        end local 7 // java.lang.Number rightNumber
        end local 6 // java.lang.Number leftNumber
        21: .line 78
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getstatic org.springframework.expression.Operation.POWER:Lorg/springframework/expression/Operation;
            aload 4 /* leftOperand */
            aload 5 /* rightOperand */
            invokevirtual org.springframework.expression.spel.ExpressionState.operate:(Lorg/springframework/expression/Operation;Ljava/lang/Object;Ljava/lang/Object;)Lorg/springframework/expression/TypedValue;
            areturn
        end local 5 // java.lang.Object rightOperand
        end local 4 // java.lang.Object leftOperand
        end local 3 // org.springframework.expression.spel.ast.SpelNodeImpl rightOp
        end local 2 // org.springframework.expression.spel.ast.SpelNodeImpl leftOp
        end local 1 // org.springframework.expression.spel.ExpressionState state
        end local 0 // org.springframework.expression.spel.ast.OperatorPower this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lorg/springframework/expression/spel/ast/OperatorPower;
            0   22     1           state  Lorg/springframework/expression/spel/ExpressionState;
            1   22     2          leftOp  Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            2   22     3         rightOp  Lorg/springframework/expression/spel/ast/SpelNodeImpl;
            3   22     4     leftOperand  Ljava/lang/Object;
            4   22     5    rightOperand  Ljava/lang/Object;
            6   21     6      leftNumber  Ljava/lang/Number;
            7   21     7     rightNumber  Ljava/lang/Number;
            9   10     8  leftBigDecimal  Ljava/math/BigDecimal;
           12   13     8  leftBigInteger  Ljava/math/BigInteger;
           18   21     8               d  D
    Exceptions:
      throws org.springframework.expression.EvaluationException
    MethodParameters:
       Name  Flags
      state  
}
SourceFile: "OperatorPower.java"