final class freemarker.core.Assignment extends freemarker.core.TemplateElement
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: freemarker.core.Assignment
  super_class: freemarker.core.TemplateElement
{
  private static final int OPERATOR_TYPE_EQUALS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  private static final int OPERATOR_TYPE_PLUS_EQUALS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65537

  private static final int OPERATOR_TYPE_PLUS_PLUS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65538

  private static final int OPERATOR_TYPE_MINUS_MINUS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65539

  private final int scope;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final int operatorType;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final freemarker.core.Expression valueExp;
    descriptor: Lfreemarker/core/Expression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private freemarker.core.Expression namespaceExp;
    descriptor: Lfreemarker/core/Expression;
    flags: (0x0002) ACC_PRIVATE

  static final int NAMESPACE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int LOCAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int GLOBAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final java.lang.Number ONE;
    descriptor: Ljava/lang/Number;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic freemarker.core.Assignment.ONE:Ljava/lang/Number;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String, int, freemarker.core.Expression, int);
    descriptor: (Ljava/lang/String;ILfreemarker/core/Expression;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // freemarker.core.Assignment this
        start local 1 // java.lang.String variableName
        start local 2 // int operator
        start local 3 // freemarker.core.Expression valueExp
        start local 4 // int scope
         0: .line 57
            aload 0 /* this */
            invokespecial freemarker.core.TemplateElement.<init>:()V
         1: .line 61
            aload 0 /* this */
            iload 4 /* scope */
            putfield freemarker.core.Assignment.scope:I
         2: .line 63
            aload 0 /* this */
            aload 1 /* variableName */
            putfield freemarker.core.Assignment.variableName:Ljava/lang/String;
         3: .line 65
            iload 2 /* operator */
            bipush 105
            if_icmpne 6
         4: .line 66
            aload 0 /* this */
            ldc 65536
            putfield freemarker.core.Assignment.operatorType:I
         5: .line 67
            goto 22
         6: .line 68
      StackMap locals: freemarker.core.Assignment java.lang.String int freemarker.core.Expression int
      StackMap stack:
            iload 2 /* operator */
            tableswitch { // 108 - 114
                  108: 11
                  109: 13
                  110: 15
                  111: 17
                  112: 19
                  113: 7
                  114: 9
              default: 21
          }
         7: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 65538
            putfield freemarker.core.Assignment.operatorType:I
         8: .line 71
            goto 22
         9: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 65539
            putfield freemarker.core.Assignment.operatorType:I
        10: .line 74
            goto 22
        11: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 65537
            putfield freemarker.core.Assignment.operatorType:I
        12: .line 77
            goto 22
        13: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield freemarker.core.Assignment.operatorType:I
        14: .line 80
            goto 22
        15: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.Assignment.operatorType:I
        16: .line 83
            goto 22
        17: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield freemarker.core.Assignment.operatorType:I
        18: .line 86
            goto 22
        19: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield freemarker.core.Assignment.operatorType:I
        20: .line 89
            goto 22
        21: .line 91
      StackMap locals:
      StackMap stack:
            new freemarker.core.BugException
            dup
            invokespecial freemarker.core.BugException.<init>:()V
            athrow
        22: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* valueExp */
            putfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
        23: .line 96
            return
        end local 4 // int scope
        end local 3 // freemarker.core.Expression valueExp
        end local 2 // int operator
        end local 1 // java.lang.String variableName
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lfreemarker/core/Assignment;
            0   24     1  variableName  Ljava/lang/String;
            0   24     2      operator  I
            0   24     3      valueExp  Lfreemarker/core/Expression;
            0   24     4         scope  I
    MethodParameters:
              Name  Flags
      variableName  
      operator      
      valueExp      
      scope         

  void setNamespaceExp(freemarker.core.Expression);
    descriptor: (Lfreemarker/core/Expression;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Assignment this
        start local 1 // freemarker.core.Expression namespaceExp
         0: .line 99
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
            iconst_1
            if_icmpeq 1
            aload 1 /* namespaceExp */
            ifnull 1
            new freemarker.core.BugException
            dup
            invokespecial freemarker.core.BugException.<init>:()V
            athrow
         1: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* namespaceExp */
            putfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
         2: .line 101
            return
        end local 1 // freemarker.core.Expression namespaceExp
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lfreemarker/core/Assignment;
            0    3     1  namespaceExp  Lfreemarker/core/Expression;
    MethodParameters:
              Name  Flags
      namespaceExp  

  freemarker.core.TemplateElement[] accept(freemarker.core.Environment);
    descriptor: (Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // freemarker.core.Assignment this
        start local 1 // freemarker.core.Environment env
         0: .line 106
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            ifnonnull 10
         1: .line 107
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
            tableswitch { // 1 - 3
                    1: 6
                    2: 2
                    3: 4
              default: 8
          }
         2: .line 109
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* namespace */
        start local 2 // freemarker.core.Environment$Namespace namespace
         3: .line 110
            goto 17
        end local 2 // freemarker.core.Environment$Namespace namespace
         4: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getGlobalNamespace:()Lfreemarker/core/Environment$Namespace;
            astore 2 /* namespace */
        start local 2 // freemarker.core.Environment$Namespace namespace
         5: .line 113
            goto 17
        end local 2 // freemarker.core.Environment$Namespace namespace
         6: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getCurrentNamespace:()Lfreemarker/core/Environment$Namespace;
            astore 2 /* namespace */
        start local 2 // freemarker.core.Environment$Namespace namespace
         7: .line 116
            goto 17
        end local 2 // freemarker.core.Environment$Namespace namespace
         8: .line 118
      StackMap locals:
      StackMap stack:
            new freemarker.core.BugException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected scope type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial freemarker.core.BugException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // freemarker.core.Environment$Namespace namespace
         9: .line 120
      StackMap locals: freemarker.core.Environment$Namespace
      StackMap stack:
            goto 17
        end local 2 // freemarker.core.Environment$Namespace namespace
        10: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
            astore 3 /* namespaceTM */
        start local 3 // freemarker.template.TemplateModel namespaceTM
        11: .line 123
            aload 3 /* namespaceTM */
            checkcast freemarker.core.Environment$Namespace
            astore 2 /* namespace */
        start local 2 // freemarker.core.Environment$Namespace namespace
        12: .line 124
            goto 15
        end local 2 // freemarker.core.Environment$Namespace namespace
      StackMap locals: freemarker.core.Assignment freemarker.core.Environment top freemarker.template.TemplateModel
      StackMap stack: java.lang.ClassCastException
        13: pop
        14: .line 125
            new freemarker.core.NonNamespaceException
            dup
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            aload 3 /* namespaceTM */
            aload 1 /* env */
            invokespecial freemarker.core.NonNamespaceException.<init>:(Lfreemarker/core/Expression;Lfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)V
            athrow
        start local 2 // freemarker.core.Environment$Namespace namespace
        15: .line 127
      StackMap locals: freemarker.core.Assignment freemarker.core.Environment freemarker.core.Environment$Namespace freemarker.template.TemplateModel
      StackMap stack:
            aload 2 /* namespace */
            ifnonnull 17
        16: .line 128
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokestatic freemarker.core.InvalidReferenceException.getInstance:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;)Lfreemarker/core/InvalidReferenceException;
            athrow
        end local 3 // freemarker.template.TemplateModel namespaceTM
        17: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65536
            if_icmpne 24
        18: .line 134
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        start local 3 // freemarker.template.TemplateModel value
        19: .line 135
            aload 3 /* value */
            ifnonnull 59
        20: .line 136
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
            ifeq 23
        21: .line 137
            getstatic freemarker.template.TemplateScalarModel.EMPTY_STRING:Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        22: .line 138
            goto 59
        23: .line 139
      StackMap locals: freemarker.template.TemplateModel
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokestatic freemarker.core.InvalidReferenceException.getInstance:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;)Lfreemarker/core/InvalidReferenceException;
            athrow
        end local 3 // freemarker.template.TemplateModel value
        24: .line 144
      StackMap locals:
      StackMap stack:
            aload 2 /* namespace */
            ifnonnull 27
        25: .line 145
            aload 1 /* env */
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            invokevirtual freemarker.core.Environment.getLocalVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
            astore 4 /* lhoValue */
        start local 4 // freemarker.template.TemplateModel lhoValue
        26: .line 146
            goto 28
        end local 4 // freemarker.template.TemplateModel lhoValue
        27: .line 147
      StackMap locals:
      StackMap stack:
            aload 2 /* namespace */
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
            astore 4 /* lhoValue */
        start local 4 // freemarker.template.TemplateModel lhoValue
        28: .line 150
      StackMap locals: freemarker.core.Assignment freemarker.core.Environment freemarker.core.Environment$Namespace top freemarker.template.TemplateModel
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65537
            if_icmpne 44
        29: .line 151
            aload 4 /* lhoValue */
            ifnonnull 36
        30: .line 152
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
            ifeq 33
        31: .line 153
            getstatic freemarker.template.TemplateScalarModel.EMPTY_STRING:Lfreemarker/template/TemplateModel;
            astore 4 /* lhoValue */
        32: .line 154
            goto 36
        33: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
        34: .line 156
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getOperatorTypeAsString:()Ljava/lang/String;
            aload 1 /* env */
        35: .line 155
            invokestatic freemarker.core.InvalidReferenceException.getInstance:(ILjava/lang/String;Ljava/lang/String;Lfreemarker/core/Environment;)Lfreemarker/core/InvalidReferenceException;
            athrow
        36: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        start local 3 // freemarker.template.TemplateModel value
        37: .line 161
            aload 3 /* value */
            ifnonnull 42
        38: .line 162
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
            ifeq 41
        39: .line 163
            getstatic freemarker.template.TemplateScalarModel.EMPTY_STRING:Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        40: .line 164
            goto 42
        41: .line 165
      StackMap locals: freemarker.core.Assignment freemarker.core.Environment freemarker.core.Environment$Namespace freemarker.template.TemplateModel freemarker.template.TemplateModel
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokestatic freemarker.core.InvalidReferenceException.getInstance:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;)Lfreemarker/core/InvalidReferenceException;
            athrow
        42: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            aconst_null
            aload 4 /* lhoValue */
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            aload 3 /* value */
            invokestatic freemarker.core.AddConcatExpression._eval:(Lfreemarker/core/Environment;Lfreemarker/core/TemplateObject;Lfreemarker/core/Expression;Lfreemarker/template/TemplateModel;Lfreemarker/core/Expression;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        43: .line 169
            goto 59
        end local 3 // freemarker.template.TemplateModel value
        44: .line 171
      StackMap locals: freemarker.core.Assignment freemarker.core.Environment freemarker.core.Environment$Namespace top freemarker.template.TemplateModel
      StackMap stack:
            aload 4 /* lhoValue */
            instanceof freemarker.template.TemplateNumberModel
            ifeq 47
        45: .line 172
            aload 4 /* lhoValue */
            checkcast freemarker.template.TemplateNumberModel
            aconst_null
            invokestatic freemarker.core.EvalUtil.modelToNumber:(Lfreemarker/template/TemplateNumberModel;Lfreemarker/core/Expression;)Ljava/lang/Number;
            astore 5 /* lhoNumber */
        start local 5 // java.lang.Number lhoNumber
        46: .line 173
            goto 50
        end local 5 // java.lang.Number lhoNumber
      StackMap locals:
      StackMap stack:
        47: aload 4 /* lhoValue */
            ifnonnull 49
        48: .line 174
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getOperatorTypeAsString:()Ljava/lang/String;
            aload 1 /* env */
            invokestatic freemarker.core.InvalidReferenceException.getInstance:(ILjava/lang/String;Ljava/lang/String;Lfreemarker/core/Environment;)Lfreemarker/core/InvalidReferenceException;
            athrow
        49: .line 176
      StackMap locals:
      StackMap stack:
            new freemarker.core.NonNumericalException
            dup
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            aload 4 /* lhoValue */
            aconst_null
            aload 1 /* env */
            invokespecial freemarker.core.NonNumericalException.<init>:(Ljava/lang/String;Lfreemarker/template/TemplateModel;[Ljava/lang/String;Lfreemarker/core/Environment;)V
            athrow
        start local 5 // java.lang.Number lhoNumber
        50: .line 179
      StackMap locals: java.lang.Number
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65538
            if_icmpne 53
        51: .line 180
            aload 1 /* env */
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getParentElement:()Lfreemarker/core/TemplateElement;
            aload 5 /* lhoNumber */
            getstatic freemarker.core.Assignment.ONE:Ljava/lang/Number;
            invokestatic freemarker.core.AddConcatExpression._evalOnNumbers:(Lfreemarker/core/Environment;Lfreemarker/core/TemplateObject;Ljava/lang/Number;Ljava/lang/Number;)Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        start local 3 // freemarker.template.TemplateModel value
        52: .line 181
            goto 59
        end local 3 // freemarker.template.TemplateModel value
      StackMap locals:
      StackMap stack:
        53: aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65539
            if_icmpne 57
        54: .line 183
            aload 1 /* env */
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getParentElement:()Lfreemarker/core/TemplateElement;
            aload 5 /* lhoNumber */
            iconst_0
            getstatic freemarker.core.Assignment.ONE:Ljava/lang/Number;
        55: .line 182
            invokestatic freemarker.core.ArithmeticExpression._eval:(Lfreemarker/core/Environment;Lfreemarker/core/TemplateObject;Ljava/lang/Number;ILjava/lang/Number;)Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        start local 3 // freemarker.template.TemplateModel value
        56: .line 184
            goto 59
        end local 3 // freemarker.template.TemplateModel value
        57: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            aload 1 /* env */
            invokevirtual freemarker.core.Expression.evalToNumber:(Lfreemarker/core/Environment;)Ljava/lang/Number;
            astore 6 /* rhoNumber */
        start local 6 // java.lang.Number rhoNumber
        58: .line 186
            aload 1 /* env */
            aload 0 /* this */
            aload 5 /* lhoNumber */
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            aload 6 /* rhoNumber */
            invokestatic freemarker.core.ArithmeticExpression._eval:(Lfreemarker/core/Environment;Lfreemarker/core/TemplateObject;Ljava/lang/Number;ILjava/lang/Number;)Lfreemarker/template/TemplateModel;
            astore 3 /* value */
        end local 6 // java.lang.Number rhoNumber
        end local 5 // java.lang.Number lhoNumber
        end local 4 // freemarker.template.TemplateModel lhoValue
        start local 3 // freemarker.template.TemplateModel value
        59: .line 191
      StackMap locals: freemarker.core.Assignment freemarker.core.Environment freemarker.core.Environment$Namespace freemarker.template.TemplateModel
      StackMap stack:
            aload 2 /* namespace */
            ifnonnull 62
        60: .line 192
            aload 1 /* env */
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            aload 3 /* value */
            invokevirtual freemarker.core.Environment.setLocalVariable:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
        61: .line 193
            goto 63
        62: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* namespace */
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            aload 3 /* value */
            invokevirtual freemarker.core.Environment$Namespace.put:(Ljava/lang/String;Ljava/lang/Object;)V
        63: .line 196
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // freemarker.template.TemplateModel value
        end local 2 // freemarker.core.Environment$Namespace namespace
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   64     0         this  Lfreemarker/core/Assignment;
            0   64     1          env  Lfreemarker/core/Environment;
            3    4     2    namespace  Lfreemarker/core/Environment$Namespace;
            5    6     2    namespace  Lfreemarker/core/Environment$Namespace;
            7    8     2    namespace  Lfreemarker/core/Environment$Namespace;
            9   10     2    namespace  Lfreemarker/core/Environment$Namespace;
           12   13     2    namespace  Lfreemarker/core/Environment$Namespace;
           15   64     2    namespace  Lfreemarker/core/Environment$Namespace;
           11   17     3  namespaceTM  Lfreemarker/template/TemplateModel;
           19   24     3        value  Lfreemarker/template/TemplateModel;
           37   44     3        value  Lfreemarker/template/TemplateModel;
           52   53     3        value  Lfreemarker/template/TemplateModel;
           56   57     3        value  Lfreemarker/template/TemplateModel;
           59   64     3        value  Lfreemarker/template/TemplateModel;
           26   27     4     lhoValue  Lfreemarker/template/TemplateModel;
           28   59     4     lhoValue  Lfreemarker/template/TemplateModel;
           46   47     5    lhoNumber  Ljava/lang/Number;
           50   59     5    lhoNumber  Ljava/lang/Number;
           58   59     6    rhoNumber  Ljava/lang/Number;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.ClassCastException
    Exceptions:
      throws freemarker.template.TemplateException
    MethodParameters:
      Name  Flags
      env   

  protected java.lang.String dump(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // freemarker.core.Assignment this
        start local 1 // boolean canonical
         0: .line 201
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 202
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getParentElement:()Lfreemarker/core/TemplateElement;
            instanceof freemarker.core.AssignmentInstruction
            ifeq 2
            aconst_null
            goto 3
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getNodeTypeSymbol:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* dn */
        start local 3 // java.lang.String dn
         4: .line 203
            aload 3 /* dn */
            ifnull 8
         5: .line 204
            iload 1 /* canonical */
            ifeq 6
            aload 2 /* buf */
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 205
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* buf */
            aload 3 /* dn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 206
            aload 2 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            invokestatic freemarker.core._CoreStringUtils.toFTLTopLevelTragetIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 211
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            ifnull 11
        10: .line 212
            aload 2 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getOperatorTypeAsString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 215
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            ifnull 15
        13: .line 216
            aload 2 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 217
            aload 2 /* buf */
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            invokevirtual freemarker.core.Expression.getCanonicalForm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 219
      StackMap locals:
      StackMap stack:
            aload 3 /* dn */
            ifnull 20
        16: .line 220
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            ifnull 19
        17: .line 221
            aload 2 /* buf */
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 222
            aload 2 /* buf */
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            invokevirtual freemarker.core.Expression.getCanonicalForm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 224
      StackMap locals:
      StackMap stack:
            iload 1 /* canonical */
            ifeq 20
            aload 2 /* buf */
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 226
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* result */
        start local 4 // java.lang.String result
        21: .line 227
            aload 4 /* result */
            areturn
        end local 4 // java.lang.String result
        end local 3 // java.lang.String dn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // boolean canonical
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lfreemarker/core/Assignment;
            0   22     1  canonical  Z
            1   22     2        buf  Ljava/lang/StringBuilder;
            4   22     3         dn  Ljava/lang/String;
           21   22     4     result  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      canonical  

  java.lang.String getNodeTypeSymbol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Assignment this
         0: .line 232
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
            invokestatic freemarker.core.Assignment.getDirectiveName:(I)Ljava/lang/String;
            areturn
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Assignment;

  static java.lang.String getDirectiveName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int scope
         0: .line 236
            iload 0 /* scope */
            iconst_2
            if_icmpne 2
         1: .line 237
            ldc "#local"
            areturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            iload 0 /* scope */
            iconst_3
            if_icmpne 4
         3: .line 239
            ldc "#global"
            areturn
         4: .line 240
      StackMap locals:
      StackMap stack:
            iload 0 /* scope */
            iconst_1
            if_icmpne 6
         5: .line 241
            ldc "#assign"
            areturn
         6: .line 243
      StackMap locals:
      StackMap stack:
            ldc "#{unknown_assignment_type}"
            areturn
        end local 0 // int scope
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  scope  I
    MethodParameters:
       Name  Flags
      scope  

  int getParameterCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Assignment this
         0: .line 249
            iconst_5
            ireturn
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Assignment;

  java.lang.Object getParameterValue(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Assignment this
        start local 1 // int idx
         0: .line 254
            iload 1 /* idx */
            tableswitch { // 0 - 4
                    0: 1
                    1: 2
                    2: 3
                    3: 4
                    4: 5
              default: 6
          }
         1: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.variableName:Ljava/lang/String;
            areturn
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Assignment.getOperatorTypeAsString:()Ljava/lang/String;
            areturn
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.valueExp:Lfreemarker/core/Expression;
            areturn
         4: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.scope:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         5: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.namespaceExp:Lfreemarker/core/Expression;
            areturn
         6: .line 260
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
        end local 1 // int idx
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/core/Assignment;
            0    7     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  freemarker.core.ParameterRole getParameterRole(int);
    descriptor: (I)Lfreemarker/core/ParameterRole;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Assignment this
        start local 1 // int idx
         0: .line 266
            iload 1 /* idx */
            tableswitch { // 0 - 4
                    0: 1
                    1: 2
                    2: 3
                    3: 4
                    4: 5
              default: 6
          }
         1: .line 267
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core.ParameterRole.ASSIGNMENT_TARGET:Lfreemarker/core/ParameterRole;
            areturn
         2: .line 268
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core.ParameterRole.ASSIGNMENT_OPERATOR:Lfreemarker/core/ParameterRole;
            areturn
         3: .line 269
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core.ParameterRole.ASSIGNMENT_SOURCE:Lfreemarker/core/ParameterRole;
            areturn
         4: .line 270
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core.ParameterRole.VARIABLE_SCOPE:Lfreemarker/core/ParameterRole;
            areturn
         5: .line 271
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core.ParameterRole.NAMESPACE:Lfreemarker/core/ParameterRole;
            areturn
         6: .line 272
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
        end local 1 // int idx
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/core/Assignment;
            0    7     1   idx  I
    MethodParameters:
      Name  Flags
      idx   

  boolean isNestedBlockRepeater();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Assignment this
         0: .line 278
            iconst_0
            ireturn
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Assignment;

  private java.lang.String getOperatorTypeAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.core.Assignment this
         0: .line 282
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65536
            if_icmpne 2
         1: .line 283
            ldc "="
            areturn
         2: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65537
            if_icmpne 4
         3: .line 285
            ldc "+="
            areturn
         4: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65538
            if_icmpne 6
         5: .line 287
            ldc "++"
            areturn
         6: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            ldc 65539
            if_icmpne 8
         7: .line 289
            ldc "--"
            areturn
         8: .line 291
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield freemarker.core.Assignment.operatorType:I
            invokestatic freemarker.core.ArithmeticExpression.getOperatorSymbol:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // freemarker.core.Assignment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lfreemarker/core/Assignment;

  static java.lang.String scopeAsString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int scope
         0: .line 296
            iload 0 /* scope */
            tableswitch { // 1 - 3
                    1: 1
                    2: 2
                    3: 3
              default: 4
          }
         1: .line 297
      StackMap locals:
      StackMap stack:
            ldc "template namespace"
            areturn
         2: .line 298
      StackMap locals:
      StackMap stack:
            ldc "local scope"
            areturn
         3: .line 299
      StackMap locals:
      StackMap stack:
            ldc "global scope"
            areturn
         4: .line 300
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported scope: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* scope */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 0 // int scope
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  scope  I
    MethodParameters:
       Name  Flags
      scope  
}
SourceFile: "Assignment.java"
InnerClasses:
  public Namespace = freemarker.core.Environment$Namespace of freemarker.core.Environment