public class freemarker.core._ObjectBuilderSettingEvaluator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.core._ObjectBuilderSettingEvaluator
  super_class: java.lang.Object
{
  private static final java.lang.String INSTANCE_FIELD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "INSTANCE"

  private static final java.lang.String BUILD_METHOD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "build"

  private static final java.lang.String BUILDER_CLASS_POSTFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Builder"

  private static java.util.Map<java.lang.String, java.lang.String> SHORTHANDS;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

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

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

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

  private final boolean allowNull;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private int pos;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean modernMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 81
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int, java.lang.Class, boolean, freemarker.core._SettingEvaluationEnvironment);
    descriptor: (Ljava/lang/String;ILjava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.String src
        start local 2 // int pos
        start local 3 // java.lang.Class expectedClass
        start local 4 // boolean allowNull
        start local 5 // freemarker.core._SettingEvaluationEnvironment env
         0: .line 94
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
            iconst_0
            putfield freemarker.core._ObjectBuilderSettingEvaluator.modernMode:Z
         2: .line 96
            aload 0 /* this */
            aload 1 /* src */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
         3: .line 97
            aload 0 /* this */
            iload 2 /* pos */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
         4: .line 98
            aload 0 /* this */
            aload 3 /* expectedClass */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.expectedClass:Ljava/lang/Class;
         5: .line 99
            aload 0 /* this */
            iload 4 /* allowNull */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.allowNull:Z
         6: .line 100
            aload 0 /* this */
            aload 5 /* env */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.env:Lfreemarker/core/_SettingEvaluationEnvironment;
         7: .line 101
            return
        end local 5 // freemarker.core._SettingEvaluationEnvironment env
        end local 4 // boolean allowNull
        end local 3 // java.lang.Class expectedClass
        end local 2 // int pos
        end local 1 // java.lang.String src
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    8     1            src  Ljava/lang/String;
            0    8     2            pos  I
            0    8     3  expectedClass  Ljava/lang/Class;
            0    8     4      allowNull  Z
            0    8     5            env  Lfreemarker/core/_SettingEvaluationEnvironment;
    MethodParameters:
               Name  Flags
      src            
      pos            
      expectedClass  
      allowNull      
      env            

  public static java.lang.Object eval(java.lang.String, java.lang.Class, boolean, freemarker.core._SettingEvaluationEnvironment);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.String src
        start local 1 // java.lang.Class expectedClass
        start local 2 // boolean allowNull
        start local 3 // freemarker.core._SettingEvaluationEnvironment env
         0: .line 106
            new freemarker.core._ObjectBuilderSettingEvaluator
            dup
            aload 0 /* src */
            iconst_0
            aload 1 /* expectedClass */
            iload 2 /* allowNull */
            aload 3 /* env */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator.<init>:(Ljava/lang/String;ILjava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)V
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.eval:()Ljava/lang/Object;
            areturn
        end local 3 // freemarker.core._SettingEvaluationEnvironment env
        end local 2 // boolean allowNull
        end local 1 // java.lang.Class expectedClass
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0            src  Ljava/lang/String;
            0    1     1  expectedClass  Ljava/lang/Class;
            0    1     2      allowNull  Z
            0    1     3            env  Lfreemarker/core/_SettingEvaluationEnvironment;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException, java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
    MethodParameters:
               Name  Flags
      src            
      expectedClass  
      allowNull      
      env            

  public static int configureBean(java.lang.String, int, java.lang.Object, freemarker.core._SettingEvaluationEnvironment);
    descriptor: (Ljava/lang/String;ILjava/lang/Object;Lfreemarker/core/_SettingEvaluationEnvironment;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.String argumentListSrc
        start local 1 // int posAfterOpenParen
        start local 2 // java.lang.Object bean
        start local 3 // freemarker.core._SettingEvaluationEnvironment env
         0: .line 119
            new freemarker.core._ObjectBuilderSettingEvaluator
            dup
         1: .line 120
            aload 0 /* argumentListSrc */
            iload 1 /* posAfterOpenParen */
            aload 2 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_1
            aload 3 /* env */
         2: .line 119
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator.<init>:(Ljava/lang/String;ILjava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)V
         3: .line 120
            aload 2 /* bean */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.configureBean:(Ljava/lang/Object;)I
         4: .line 119
            ireturn
        end local 3 // freemarker.core._SettingEvaluationEnvironment env
        end local 2 // java.lang.Object bean
        end local 1 // int posAfterOpenParen
        end local 0 // java.lang.String argumentListSrc
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0    argumentListSrc  Ljava/lang/String;
            0    5     1  posAfterOpenParen  I
            0    5     2               bean  Ljava/lang/Object;
            0    5     3                env  Lfreemarker/core/_SettingEvaluationEnvironment;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException, java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
    MethodParameters:
                   Name  Flags
      argumentListSrc    
      posAfterOpenParen  
      bean               
      env                

  private java.lang.Object eval();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
         0: .line 127
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         1: .line 129
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            iconst_1
            iconst_0
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchValue:(ZZZZ)Ljava/lang/Object;
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.ensureEvaled:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* value */
        start local 1 // java.lang.Object value
         2: .line 130
            goto 6
        end local 1 // java.lang.Object value
      StackMap locals:
      StackMap stack: freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
         3: astore 2 /* e */
        start local 2 // freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression e
         4: .line 131
            aload 2 /* e */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.rethrowLegacy:()V
         5: .line 132
            aconst_null
            astore 1 /* value */
        end local 2 // freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression e
        start local 1 // java.lang.Object value
         6: .line 134
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         7: .line 136
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpeq 9
         8: .line 137
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "end-of-expression"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         9: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            ifnonnull 11
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.allowNull:Z
            ifne 11
        10: .line 141
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "Value can't be null."
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 143
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            ifnull 15
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.expectedClass:Ljava/lang/Class;
            aload 1 /* value */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 15
        12: .line 144
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The resulting object (of class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 145
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") is not a(n) "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.expectedClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 144
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.Object value
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            2    3     1  value  Ljava/lang/Object;
            6   16     1  value  Ljava/lang/Object;
            4    6     2      e  Lfreemarker/core/_ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression;
      Exception table:
        from    to  target  type
           1     2       3  Class freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException, java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException

  private int configureBean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.Object bean
         0: .line 153
            new freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression
            dup
            aload 0 /* this */
            aload 1 /* bean */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression.<init>:(Lfreemarker/core/_ObjectBuilderSettingEvaluator;Ljava/lang/Object;)V
            astore 2 /* propAssignments */
        start local 2 // freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression propAssignments
         1: .line 154
            aload 0 /* this */
            aload 2 /* propAssignments */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchParameterListInto:(Lfreemarker/core/_ObjectBuilderSettingEvaluator$ExpressionWithParameters;)V
         2: .line 155
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         3: .line 156
            aload 2 /* propAssignments */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression.eval:()Ljava/lang/Object;
            pop
         4: .line 157
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            ireturn
        end local 2 // freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression propAssignments
        end local 1 // java.lang.Object bean
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    5     1             bean  Ljava/lang/Object;
            1    5     2  propAssignments  Lfreemarker/core/_ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException, java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      bean  

  private java.lang.Object ensureEvaled(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.Object value
         0: .line 161
            aload 1 /* value */
            instanceof freemarker.core._ObjectBuilderSettingEvaluator$SettingExpression
            ifeq 1
            aload 1 /* value */
            checkcast freemarker.core._ObjectBuilderSettingEvaluator$SettingExpression
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$SettingExpression.eval:()Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.lang.Object value
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    3     1  value  Ljava/lang/Object;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
       Name  Flags
      value  

  private java.lang.Object fetchBuilderCall(boolean, boolean);
    descriptor: (ZZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
        start local 2 // boolean topLevel
         0: .line 166
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            istore 3 /* startPos */
        start local 3 // int startPos
         1: .line 168
            new freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression
            dup
            aload 0 /* this */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.<init>:(Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
            astore 4 /* exp */
        start local 4 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression exp
         2: .line 171
            aload 4 /* exp */
            iconst_1
            putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
         3: .line 173
            aload 0 /* this */
            iload 1 /* optional */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchClassName:(Z)Ljava/lang/String;
            astore 5 /* fetchedClassName */
        start local 5 // java.lang.String fetchedClassName
         4: .line 175
            aload 5 /* fetchedClassName */
            ifnonnull 8
         5: .line 176
            iload 1 /* optional */
            ifne 7
         6: .line 177
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "class name"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         7: .line 179
      StackMap locals: int freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.String
      StackMap stack:
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
         8: .line 181
      StackMap locals:
      StackMap stack:
            aload 4 /* exp */
            aload 5 /* fetchedClassName */
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.shorthandToFullQualified:(Ljava/lang/String;)Ljava/lang/String;
            putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
         9: .line 182
            aload 5 /* fetchedClassName */
            aload 4 /* exp */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
        10: .line 184
            aload 0 /* this */
            iconst_1
            putfield freemarker.core._ObjectBuilderSettingEvaluator.modernMode:Z
        11: .line 185
            aload 4 /* exp */
            iconst_0
            putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
        12: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        13: .line 191
            aload 0 /* this */
            ldc "("
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchOptionalChar:(Ljava/lang/String;)C
            istore 6 /* openParen */
        start local 6 // char openParen
        14: .line 193
            iload 6 /* openParen */
            ifne 20
            iload 2 /* topLevel */
            ifne 20
        15: .line 194
            aload 5 /* fetchedClassName */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 18
        16: .line 195
            aload 4 /* exp */
            iconst_1
            putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.mustBeStaticField:Z
        17: .line 196
            goto 20
        18: .line 197
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* startPos */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        19: .line 198
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
        20: .line 202
      StackMap locals:
      StackMap stack:
            iload 6 /* openParen */
            ifeq 23
        21: .line 203
            aload 0 /* this */
            aload 4 /* exp */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchParameterListInto:(Lfreemarker/core/_ObjectBuilderSettingEvaluator$ExpressionWithParameters;)V
        22: .line 204
            aload 4 /* exp */
            iconst_0
            putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
        23: .line 207
      StackMap locals:
      StackMap stack:
            aload 4 /* exp */
            areturn
        end local 6 // char openParen
        end local 5 // java.lang.String fetchedClassName
        end local 4 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression exp
        end local 3 // int startPos
        end local 2 // boolean topLevel
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   24     0              this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   24     1          optional  Z
            0   24     2          topLevel  Z
            1   24     3          startPos  I
            2   24     4               exp  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
            4   24     5  fetchedClassName  Ljava/lang/String;
           14   24     6         openParen  C
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
          Name  Flags
      optional  
      topLevel  

  private void fetchParameterListInto(freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters);
    descriptor: (Lfreemarker/core/_ObjectBuilderSettingEvaluator$ExpressionWithParameters;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters exp
         0: .line 212
            aload 0 /* this */
            iconst_1
            putfield freemarker.core._ObjectBuilderSettingEvaluator.modernMode:Z
         1: .line 214
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         2: .line 215
            aload 0 /* this */
            ldc ")"
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchOptionalChar:(Ljava/lang/String;)C
            bipush 41
            if_icmpeq 26
         3: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         4: .line 219
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_1
            iconst_0
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchValue:(ZZZZ)Ljava/lang/Object;
            astore 2 /* paramNameOrValue */
        start local 2 // java.lang.Object paramNameOrValue
         5: .line 220
            aload 2 /* paramNameOrValue */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 25
         6: .line 221
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         7: .line 222
            aload 2 /* paramNameOrValue */
            instanceof freemarker.core._ObjectBuilderSettingEvaluator$Name
            ifeq 15
         8: .line 223
            aload 1 /* exp */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.namedParamNames:Ljava/util/List;
            aload 2 /* paramNameOrValue */
            checkcast freemarker.core._ObjectBuilderSettingEvaluator$Name
            getfield freemarker.core._ObjectBuilderSettingEvaluator$Name.name:Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 225
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        10: .line 226
            aload 0 /* this */
            ldc "="
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchRequiredChar:(Ljava/lang/String;)C
            pop
        11: .line 227
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        12: .line 229
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_1
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchValue:(ZZZZ)Ljava/lang/Object;
            astore 3 /* paramValue */
        start local 3 // java.lang.Object paramValue
        13: .line 230
            aload 1 /* exp */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.namedParamValues:Ljava/util/List;
            aload 0 /* this */
            aload 3 /* paramValue */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.ensureEvaled:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object paramValue
        14: .line 231
            goto 24
        15: .line 232
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* exp */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.namedParamNames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 19
        16: .line 233
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        17: .line 234
            ldc "Positional parameters must precede named parameters"
        18: .line 233
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* exp */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.getAllowPositionalParameters:()Z
            ifne 23
        20: .line 237
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        21: .line 238
            ldc "Positional parameters not supported here"
        22: .line 237
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* exp */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.positionalParamValues:Ljava/util/List;
            aload 0 /* this */
            aload 2 /* paramNameOrValue */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.ensureEvaled:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        end local 2 // java.lang.Object paramNameOrValue
        25: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ",)"
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchRequiredChar:(Ljava/lang/String;)C
            bipush 44
            if_icmpeq 3
        26: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 1 // freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters exp
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   27     1               exp  Lfreemarker/core/_ObjectBuilderSettingEvaluator$ExpressionWithParameters;
            5   25     2  paramNameOrValue  Ljava/lang/Object;
           13   14     3        paramValue  Ljava/lang/Object;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
      Name  Flags
      exp   

  private java.lang.Object fetchValue(boolean, boolean, boolean, boolean);
    descriptor: (ZZZZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
        start local 2 // boolean topLevel
        start local 3 // boolean resultCoerced
        start local 4 // boolean resolveVariables
         0: .line 251
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 24
         1: .line 252
            aload 0 /* this */
            iconst_1
            iload 3 /* resultCoerced */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchNumberLike:(ZZ)Ljava/lang/Object;
            astore 5 /* val */
        start local 5 // java.lang.Object val
         2: .line 253
            aload 5 /* val */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 4
         3: .line 254
            aload 5 /* val */
            areturn
         4: .line 257
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchStringLiteral:(Z)Ljava/lang/Object;
            astore 5 /* val */
         5: .line 258
            aload 5 /* val */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 7
         6: .line 259
            aload 5 /* val */
            areturn
         7: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchListLiteral:(Z)Ljava/lang/Object;
            astore 5 /* val */
         8: .line 263
            aload 5 /* val */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 10
         9: .line 264
            aload 5 /* val */
            areturn
        10: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchMapLiteral:(Z)Ljava/lang/Object;
            astore 5 /* val */
        11: .line 268
            aload 5 /* val */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 13
        12: .line 269
            aload 5 /* val */
            areturn
        13: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            iload 2 /* topLevel */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchBuilderCall:(ZZ)Ljava/lang/Object;
            astore 5 /* val */
        14: .line 273
            aload 5 /* val */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 16
        15: .line 274
            aload 5 /* val */
            areturn
        16: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchSimpleName:(Z)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
        17: .line 278
            aload 6 /* name */
            ifnull 24
        18: .line 279
            aload 0 /* this */
            aload 6 /* name */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.keywordToValueOrVoid:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* val */
        19: .line 280
            aload 5 /* val */
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 21
        20: .line 281
            aload 5 /* val */
            areturn
        21: .line 284
      StackMap locals: java.lang.String
      StackMap stack:
            iload 4 /* resolveVariables */
            ifeq 23
        22: .line 286
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't resolve variable reference: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 288
      StackMap locals:
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluator$Name
            dup
            aload 6 /* name */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$Name.<init>:(Ljava/lang/String;)V
            areturn
        end local 6 // java.lang.String name
        end local 5 // java.lang.Object val
        24: .line 293
      StackMap locals:
      StackMap stack:
            iload 1 /* optional */
            ifeq 26
        25: .line 294
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
        26: .line 296
      StackMap locals:
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "value or name"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        end local 4 // boolean resolveVariables
        end local 3 // boolean resultCoerced
        end local 2 // boolean topLevel
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0              this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   27     1          optional  Z
            0   27     2          topLevel  Z
            0   27     3     resultCoerced  Z
            0   27     4  resolveVariables  Z
            2   24     5               val  Ljava/lang/Object;
           17   24     6              name  Ljava/lang/String;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
                  Name  Flags
      optional          
      topLevel          
      resultCoerced     
      resolveVariables  

  private boolean isKeyword(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.String name
         0: .line 301
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.keywordToValueOrVoid:(Ljava/lang/String;)Ljava/lang/Object;
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.Object keywordToValueOrVoid(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.String name
         0: .line 305
            aload 1 /* name */
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
         1: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "false"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
         2: .line 307
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ldc "null"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aconst_null
            areturn
         3: .line 308
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String fetchSimpleName(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
         0: .line 312
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 1
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* c */
        start local 2 // char c
         3: .line 313
            aload 0 /* this */
            iload 2 /* c */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.isIdentifierStart:(C)Z
            ifne 7
         4: .line 314
            iload 1 /* optional */
            ifeq 6
         5: .line 315
            aconst_null
            areturn
         6: .line 317
      StackMap locals: int
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "class name"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         7: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            istore 3 /* startPos */
        start local 3 // int startPos
         8: .line 321
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
         9: .line 324
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 11
        10: .line 325
            goto 16
        11: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        12: .line 328
            aload 0 /* this */
            iload 2 /* c */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.isIdentifierMiddle:(C)Z
            ifne 14
        13: .line 329
            goto 16
        14: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        15: .line 323
            goto 9
        16: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            iload 3 /* startPos */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int startPos
        end local 2 // char c
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   17     1  optional  Z
            3   17     2         c  C
            8   17     3  startPos  I
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
          Name  Flags
      optional  

  private java.lang.String fetchClassName(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
         0: .line 338
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            istore 2 /* startPos */
        start local 2 // int startPos
         1: .line 339
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         2: .line 341
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchSimpleName:(Z)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         3: .line 342
            aload 4 /* name */
            ifnonnull 8
         4: .line 343
            iload 1 /* optional */
            ifne 6
         5: .line 344
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "name"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         6: .line 346
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            iload 2 /* startPos */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
         7: .line 347
            aconst_null
            areturn
         8: .line 350
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 352
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        10: .line 354
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 16
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 12
        11: .line 355
            goto 16
        12: .line 357
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 358
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        14: .line 360
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        end local 4 // java.lang.String name
        15: .line 361
            goto 2
        16: .line 363
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
        17: .line 364
            aload 0 /* this */
            aload 4 /* className */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.isKeyword:(Ljava/lang/String;)Z
            ifeq 20
        18: .line 365
            aload 0 /* this */
            iload 2 /* startPos */
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        19: .line 366
            aconst_null
            areturn
        20: .line 368
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* className */
            areturn
        end local 4 // java.lang.String className
        end local 3 // java.lang.StringBuilder sb
        end local 2 // int startPos
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   21     1   optional  Z
            1   21     2   startPos  I
            2   21     3         sb  Ljava/lang/StringBuilder;
            3   15     4       name  Ljava/lang/String;
           17   21     4  className  Ljava/lang/String;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
          Name  Flags
      optional  

  private java.lang.Object fetchNumberLike(boolean, boolean);
    descriptor: (ZZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
        start local 2 // boolean resultCoerced
         0: .line 373
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            istore 3 /* startPos */
        start local 3 // int startPos
         1: .line 374
            iconst_0
            istore 4 /* isVersion */
        start local 4 // boolean isVersion
         2: .line 375
            iconst_0
            istore 5 /* hasDot */
        start local 5 // boolean hasDot
         3: .line 377
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 5
         4: .line 378
            goto 16
         5: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         6: .line 381
            iload 6 /* c */
            bipush 46
            if_icmpne 12
         7: .line 382
            iload 5 /* hasDot */
            ifeq 10
         8: .line 384
            iconst_1
            istore 4 /* isVersion */
         9: .line 385
            goto 14
        10: .line 386
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* hasDot */
        11: .line 388
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            iload 6 /* c */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.isASCIIDigit:(C)Z
            ifne 14
            iload 6 /* c */
            bipush 45
            if_icmpeq 14
        13: .line 389
            goto 16
        14: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        end local 6 // char c
        15: .line 376
            goto 3
        16: .line 394
      StackMap locals:
      StackMap stack:
            iload 3 /* startPos */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            if_icmpne 20
        17: .line 395
            iload 1 /* optional */
            ifeq 19
        18: .line 396
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
        19: .line 398
      StackMap locals:
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "number-like"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        20: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            iload 3 /* startPos */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* numStr */
        start local 6 // java.lang.String numStr
        21: .line 403
            iload 4 /* isVersion */
            ifeq 26
        22: .line 405
            new freemarker.template.Version
            dup
            aload 6 /* numStr */
            invokespecial freemarker.template.Version.<init>:(Ljava/lang/String;)V
        23: areturn
        24: .line 406
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator int int int int int java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            astore 7 /* e */
        start local 7 // java.lang.IllegalArgumentException e
        25: .line 407
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Malformed version number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* numStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.IllegalArgumentException e
        26: .line 411
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* typePostfix */
        start local 7 // java.lang.String typePostfix
        27: .line 413
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 29
        28: .line 414
            goto 38
        29: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
        30: .line 417
            iload 8 /* c */
            invokestatic java.lang.Character.isLetter:(C)Z
            ifeq 38
        31: .line 418
            aload 7 /* typePostfix */
            ifnonnull 34
        32: .line 419
            iload 8 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 7 /* typePostfix */
        33: .line 420
            goto 35
        34: .line 421
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 7 /* typePostfix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* typePostfix */
        35: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
        36: .line 426
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        end local 8 // char c
        37: .line 412
            goto 27
        38: .line 430
      StackMap locals:
      StackMap stack:
            aload 6 /* numStr */
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 40
        39: .line 431
            new java.lang.NumberFormatException
            dup
            ldc "A number can't end with a dot"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 433
      StackMap locals:
      StackMap stack:
            aload 6 /* numStr */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 41
            aload 6 /* numStr */
            ldc "-."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 41
            aload 6 /* numStr */
            ldc "+."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 42
        41: .line 434
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            ldc "A number can't start with a dot"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 437
      StackMap locals:
      StackMap stack:
            aload 7 /* typePostfix */
            ifnonnull 59
        43: .line 439
            aload 6 /* numStr */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 54
        44: .line 440
            new java.math.BigInteger
            dup
            aload 6 /* numStr */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
            astore 8 /* biNum */
        start local 8 // java.math.BigInteger biNum
        45: .line 441
            aload 8 /* biNum */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 9 /* bitLength */
        start local 9 // int bitLength
        46: .line 442
            iload 9 /* bitLength */
            bipush 31
            if_icmpgt 49
        47: .line 443
            aload 8 /* biNum */
            invokevirtual java.math.BigInteger.intValue:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        48: areturn
        49: .line 444
      StackMap locals: java.math.BigInteger int
      StackMap stack:
            iload 9 /* bitLength */
            bipush 63
            if_icmpgt 52
        50: .line 445
            aload 8 /* biNum */
            invokevirtual java.math.BigInteger.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
        51: areturn
        52: .line 447
      StackMap locals:
      StackMap stack:
            aload 8 /* biNum */
        53: areturn
        end local 9 // int bitLength
        end local 8 // java.math.BigInteger biNum
        54: .line 450
      StackMap locals:
      StackMap stack:
            iload 2 /* resultCoerced */
            ifeq 57
        55: .line 452
            new java.math.BigDecimal
            dup
            aload 6 /* numStr */
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
        56: areturn
        57: .line 455
      StackMap locals:
      StackMap stack:
            aload 6 /* numStr */
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
        58: areturn
        59: .line 459
      StackMap locals:
      StackMap stack:
            aload 7 /* typePostfix */
            ldc "l"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 62
        60: .line 460
            aload 6 /* numStr */
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
        61: areturn
        62: .line 461
      StackMap locals:
      StackMap stack:
            aload 7 /* typePostfix */
            ldc "bi"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 65
        63: .line 462
            new java.math.BigInteger
            dup
            aload 6 /* numStr */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
        64: areturn
        65: .line 463
      StackMap locals:
      StackMap stack:
            aload 7 /* typePostfix */
            ldc "bd"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 68
        66: .line 464
            new java.math.BigDecimal
            dup
            aload 6 /* numStr */
            invokespecial java.math.BigDecimal.<init>:(Ljava/lang/String;)V
        67: areturn
        68: .line 465
      StackMap locals:
      StackMap stack:
            aload 7 /* typePostfix */
            ldc "d"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 71
        69: .line 466
            aload 6 /* numStr */
            invokestatic java.lang.Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
        70: areturn
        71: .line 467
      StackMap locals:
      StackMap stack:
            aload 7 /* typePostfix */
            ldc "f"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 74
        72: .line 468
            aload 6 /* numStr */
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
        73: areturn
        74: .line 470
      StackMap locals:
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        75: .line 471
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized number type postfix: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* typePostfix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        76: .line 470
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 475
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            astore 8 /* e */
        start local 8 // java.lang.NumberFormatException e
        78: .line 476
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Malformed number: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* numStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.NumberFormatException e
        end local 7 // java.lang.String typePostfix
        end local 6 // java.lang.String numStr
        end local 5 // boolean hasDot
        end local 4 // boolean isVersion
        end local 3 // int startPos
        end local 2 // boolean resultCoerced
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   79     0           this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   79     1       optional  Z
            0   79     2  resultCoerced  Z
            1   79     3       startPos  I
            2   79     4      isVersion  Z
            3   79     5         hasDot  Z
            6   15     6              c  C
           21   79     6         numStr  Ljava/lang/String;
           25   26     7              e  Ljava/lang/IllegalArgumentException;
           27   79     7    typePostfix  Ljava/lang/String;
           30   37     8              c  C
           45   54     8          biNum  Ljava/math/BigInteger;
           46   54     9      bitLength  I
           78   79     8              e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
          22    23      24  Class java.lang.IllegalArgumentException
          38    48      77  Class java.lang.NumberFormatException
          49    51      77  Class java.lang.NumberFormatException
          52    53      77  Class java.lang.NumberFormatException
          54    56      77  Class java.lang.NumberFormatException
          57    58      77  Class java.lang.NumberFormatException
          59    61      77  Class java.lang.NumberFormatException
          62    64      77  Class java.lang.NumberFormatException
          65    67      77  Class java.lang.NumberFormatException
          68    70      77  Class java.lang.NumberFormatException
          71    73      77  Class java.lang.NumberFormatException
          74    77      77  Class java.lang.NumberFormatException
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
               Name  Flags
      optional       
      resultCoerced  

  private java.lang.Object fetchStringLiteral(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
         0: .line 482
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            istore 2 /* startPos */
        start local 2 // int startPos
         1: .line 483
            iconst_0
            istore 3 /* q */
        start local 3 // char q
         2: .line 484
            iconst_0
            istore 4 /* afterEscape */
        start local 4 // boolean afterEscape
         3: .line 485
            iconst_0
            istore 5 /* raw */
        start local 5 // boolean raw
         4: .line 487
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 7
         5: .line 488
            iload 3 /* q */
            ifeq 35
         6: .line 490
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            iload 3 /* q */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         7: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         8: .line 495
            iload 3 /* q */
            ifne 20
         9: .line 496
            iload 6 /* c */
            bipush 114
            if_icmpne 12
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 12
        10: .line 498
            iconst_1
            istore 5 /* raw */
        11: .line 499
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        12: .line 501
      StackMap locals: int
      StackMap stack:
            iload 6 /* c */
            bipush 39
            if_icmpne 15
        13: .line 502
            bipush 39
            istore 3 /* q */
        14: .line 503
            goto 17
      StackMap locals:
      StackMap stack:
        15: iload 6 /* c */
            bipush 34
            if_icmpne 35
        16: .line 504
            bipush 34
            istore 3 /* q */
        17: .line 508
      StackMap locals:
      StackMap stack:
            iload 5 /* raw */
            ifeq 33
        18: .line 510
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        19: .line 512
            goto 33
        20: .line 513
      StackMap locals:
      StackMap stack:
            iload 4 /* afterEscape */
            ifne 32
        21: .line 514
            iload 6 /* c */
            bipush 92
            if_icmpne 24
            iload 5 /* raw */
            ifne 24
        22: .line 515
            iconst_1
            istore 4 /* afterEscape */
        23: .line 516
            goto 33
      StackMap locals:
      StackMap stack:
        24: iload 6 /* c */
            iload 3 /* q */
            if_icmpne 26
        25: .line 517
            goto 35
        26: .line 518
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            bipush 123
            if_icmpne 33
        27: .line 519
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* prevC */
        start local 7 // char prevC
        28: .line 520
            iload 7 /* prevC */
            bipush 36
            if_icmpeq 29
            iload 7 /* prevC */
            bipush 35
            if_icmpne 33
        29: .line 521
      StackMap locals: int
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        30: .line 522
            ldc "${...} and #{...} aren't allowed here."
        31: .line 521
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // char prevC
        32: .line 526
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* afterEscape */
        33: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        end local 6 // char c
        34: .line 486
            goto 4
        35: .line 531
      StackMap locals:
      StackMap stack:
            iload 2 /* startPos */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            if_icmpne 39
        36: .line 532
            iload 1 /* optional */
            ifeq 38
        37: .line 533
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
        38: .line 535
      StackMap locals:
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "string literal"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        39: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            iload 2 /* startPos */
            iload 5 /* raw */
            ifeq 40
            iconst_2
            goto 41
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator int int int int int
      StackMap stack: java.lang.String int
        40: iconst_1
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator int int int int int
      StackMap stack: java.lang.String int int
        41: iadd
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* sInside */
        start local 6 // java.lang.String sInside
        42: .line 541
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        43: .line 542
            iload 5 /* raw */
            ifeq 44
            aload 6 /* sInside */
            goto 45
      StackMap locals: java.lang.String
      StackMap stack:
        44: aload 6 /* sInside */
            invokestatic freemarker.template.utility.StringUtil.FTLStringLiteralDec:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        45: areturn
        46: .line 543
      StackMap locals:
      StackMap stack: freemarker.core.ParseException
            astore 7 /* e */
        start local 7 // freemarker.core.ParseException e
        47: .line 544
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Malformed string literal: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* sInside */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // freemarker.core.ParseException e
        end local 6 // java.lang.String sInside
        end local 5 // boolean raw
        end local 4 // boolean afterEscape
        end local 3 // char q
        end local 2 // int startPos
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   48     0         this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   48     1     optional  Z
            1   48     2     startPos  I
            2   48     3            q  C
            3   48     4  afterEscape  Z
            4   48     5          raw  Z
            8   34     6            c  C
           28   32     7        prevC  C
           42   48     6      sInside  Ljava/lang/String;
           47   48     7            e  Lfreemarker/core/ParseException;
      Exception table:
        from    to  target  type
          42    45      46  Class freemarker.core.ParseException
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
          Name  Flags
      optional  

  private java.lang.Object fetchListLiteral(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
         0: .line 549
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpeq 1
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 4
         1: .line 550
      StackMap locals:
      StackMap stack:
            iload 1 /* optional */
            ifne 3
         2: .line 551
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "["
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         3: .line 553
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
         4: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
         5: .line 557
            new freemarker.core._ObjectBuilderSettingEvaluator$ListExpression
            dup
            aload 0 /* this */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$ListExpression.<init>:(Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
            astore 2 /* listExp */
        start local 2 // freemarker.core._ObjectBuilderSettingEvaluator$ListExpression listExp
         6: .line 560
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$ListExpression
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         7: .line 562
            aload 0 /* this */
            ldc "]"
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchOptionalChar:(Ljava/lang/String;)C
            ifeq 9
         8: .line 563
            aload 2 /* listExp */
            areturn
         9: .line 565
      StackMap locals:
      StackMap stack:
            aload 2 /* listExp */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$ListExpression.itemCount:()I
            ifeq 12
        10: .line 566
            aload 0 /* this */
            ldc ","
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchRequiredChar:(Ljava/lang/String;)C
            pop
        11: .line 567
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        12: .line 570
      StackMap locals:
      StackMap stack:
            aload 2 /* listExp */
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_0
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchValue:(ZZZZ)Ljava/lang/Object;
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$ListExpression.addItem:(Ljava/lang/Object;)V
        13: .line 572
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        14: .line 559
            goto 6
        end local 2 // freemarker.core._ObjectBuilderSettingEvaluator$ListExpression listExp
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   15     1  optional  Z
            6   15     2   listExp  Lfreemarker/core/_ObjectBuilderSettingEvaluator$ListExpression;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
          Name  Flags
      optional  

  private java.lang.Object fetchMapLiteral(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // boolean optional
         0: .line 577
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpeq 1
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 123
            if_icmpeq 4
         1: .line 578
      StackMap locals:
      StackMap stack:
            iload 1 /* optional */
            ifne 3
         2: .line 579
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            ldc "{"
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
         3: .line 581
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.VOID:Ljava/lang/Object;
            areturn
         4: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
         5: .line 585
            new freemarker.core._ObjectBuilderSettingEvaluator$MapExpression
            dup
            aload 0 /* this */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$MapExpression.<init>:(Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
            astore 2 /* mapExp */
        start local 2 // freemarker.core._ObjectBuilderSettingEvaluator$MapExpression mapExp
         6: .line 588
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$MapExpression
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
         7: .line 590
            aload 0 /* this */
            ldc "}"
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchOptionalChar:(Ljava/lang/String;)C
            ifeq 9
         8: .line 591
            aload 2 /* mapExp */
            areturn
         9: .line 593
      StackMap locals:
      StackMap stack:
            aload 2 /* mapExp */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$MapExpression.itemCount:()I
            ifeq 12
        10: .line 594
            aload 0 /* this */
            ldc ","
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchRequiredChar:(Ljava/lang/String;)C
            pop
        11: .line 595
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        12: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_0
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchValue:(ZZZZ)Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
        13: .line 599
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        14: .line 600
            aload 0 /* this */
            ldc ":"
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchRequiredChar:(Ljava/lang/String;)C
            pop
        15: .line 601
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        16: .line 602
            aload 0 /* this */
            iconst_0
            iconst_0
            iconst_0
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchValue:(ZZZZ)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
        17: .line 603
            aload 2 /* mapExp */
            new freemarker.core._ObjectBuilderSettingEvaluator$KeyValuePair
            dup
            aload 3 /* key */
            aload 4 /* value */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$MapExpression.addItem:(Lfreemarker/core/_ObjectBuilderSettingEvaluator$KeyValuePair;)V
        18: .line 605
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.skipWS:()V
        end local 4 // java.lang.Object value
        end local 3 // java.lang.Object key
        19: .line 587
            goto 6
        end local 2 // freemarker.core._ObjectBuilderSettingEvaluator$MapExpression mapExp
        end local 1 // boolean optional
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   20     1  optional  Z
            6   20     2    mapExp  Lfreemarker/core/_ObjectBuilderSettingEvaluator$MapExpression;
           13   19     3       key  Ljava/lang/Object;
           17   19     4     value  Ljava/lang/Object;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
          Name  Flags
      optional  

  private void skipWS();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
         0: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpne 2
         1: .line 612
            return
         2: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        start local 1 // char c
         3: .line 615
            iload 1 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 5
         4: .line 616
            return
         5: .line 618
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        end local 1 // char c
         6: .line 610
            goto 0
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            3    6     1     c  C

  private char fetchOptionalChar(java.lang.String);
    descriptor: (Ljava/lang/String;)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.String expectedChars
         0: .line 623
            aload 0 /* this */
            aload 1 /* expectedChars */
            iconst_1
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchChar:(Ljava/lang/String;Z)C
            ireturn
        end local 1 // java.lang.String expectedChars
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    1     1  expectedChars  Ljava/lang/String;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
               Name  Flags
      expectedChars  

  private char fetchRequiredChar(java.lang.String);
    descriptor: (Ljava/lang/String;)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.String expectedChars
         0: .line 627
            aload 0 /* this */
            aload 1 /* expectedChars */
            iconst_0
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.fetchChar:(Ljava/lang/String;Z)C
            ireturn
        end local 1 // java.lang.String expectedChars
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    1     1  expectedChars  Ljava/lang/String;
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
               Name  Flags
      expectedChars  

  private char fetchChar(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.String expectedChars
        start local 2 // boolean optional
         0: .line 631
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 1
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            invokevirtual java.lang.String.charAt:(I)C
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* c */
        start local 3 // char c
         3: .line 632
            aload 1 /* expectedChars */
            iload 3 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 6
         4: .line 633
            aload 0 /* this */
            dup
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
            iconst_1
            iadd
            putfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
         5: .line 634
            iload 3 /* c */
            ireturn
         6: .line 635
      StackMap locals: int
      StackMap stack:
            iload 2 /* optional */
            ifeq 8
         7: .line 636
            iconst_0
            ireturn
         8: .line 638
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         9: .line 639
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 15
        11: .line 640
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 5 /* i */
            ifeq 13
        12: .line 641
            aload 4 /* sb */
            ldc " or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 643
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 1 /* expectedChars */
            iload 5 /* i */
            iload 5 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 639
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 1 /* expectedChars */
            invokevirtual java.lang.String.length:()I
            if_icmplt 11
        end local 5 // int i
        16: .line 645
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        17: .line 646
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 647
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.src:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.pos:I
        19: .line 645
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        end local 4 // java.lang.StringBuilder sb
        end local 3 // char c
        end local 2 // boolean optional
        end local 1 // java.lang.String expectedChars
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   20     1  expectedChars  Ljava/lang/String;
            0   20     2       optional  Z
            3   20     3              c  C
            9   20     4             sb  Ljava/lang/StringBuilder;
           10   16     5              i  I
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
               Name  Flags
      expectedChars  
      optional       

  private boolean isASCIIDigit(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // char c
         0: .line 652
            iload 1 /* c */
            bipush 48
            if_icmplt 1
            iload 1 /* c */
            bipush 57
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private boolean isIdentifierStart(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // char c
         0: .line 656
            iload 1 /* c */
            invokestatic java.lang.Character.isLetter:(C)Z
            ifne 1
            iload 1 /* c */
            bipush 95
            if_icmpeq 1
            iload 1 /* c */
            bipush 36
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // char c
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private boolean isIdentifierMiddle(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // char c
         0: .line 660
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.isIdentifierStart:(C)Z
            ifne 1
            aload 0 /* this */
            iload 1 /* c */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.isASCIIDigit:(C)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // char c
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private static synchronized java.lang.String shorthandToFullQualified(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String className
         0: .line 664
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ifnonnull 25
         1: .line 665
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
         2: .line 667
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/template/DefaultObjectWrapper;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         3: .line 668
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/ext/beans/BeansWrapper;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         4: .line 669
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/template/SimpleObjectWrapper;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         5: .line 671
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/TemplateConfiguration;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         6: .line 673
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/PathGlobMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         7: .line 674
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/FileNameGlobMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         8: .line 675
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/FileExtensionMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
         9: .line 676
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/PathRegexMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        10: .line 677
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/AndMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        11: .line 678
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/OrMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        12: .line 679
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/NotMatcher;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        13: .line 681
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/ConditionalTemplateConfigurationFactory;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        14: .line 682
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/MergingTemplateConfigurationFactory;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        15: .line 683
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/cache/FirstMatchTemplateConfigurationFactory;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        16: .line 685
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/HTMLOutputFormat;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        17: .line 686
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/XHTMLOutputFormat;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        18: .line 687
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/XMLOutputFormat;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        19: .line 688
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/RTFOutputFormat;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        20: .line 689
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/PlainTextOutputFormat;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        21: .line 690
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/core/UndefinedOutputFormat;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        22: .line 692
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Ljava/util/Locale;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        23: .line 693
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc "TimeZone"
            ldc "freemarker.core._TimeZone"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 696
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            ldc Lfreemarker/template/Configuration;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.addWithSimpleName:(Ljava/util/Map;Ljava/lang/Class;)V
        25: .line 698
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core._ObjectBuilderSettingEvaluator.SHORTHANDS:Ljava/util/Map;
            aload 0 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* fullClassName */
        start local 1 // java.lang.String fullClassName
        26: .line 699
            aload 1 /* fullClassName */
            ifnonnull 27
            aload 0 /* className */
            goto 28
      StackMap locals: java.lang.String
      StackMap stack:
        27: aload 1 /* fullClassName */
      StackMap locals:
      StackMap stack: java.lang.String
        28: areturn
        end local 1 // java.lang.String fullClassName
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0      className  Ljava/lang/String;
           26   29     1  fullClassName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  private static void addWithSimpleName(java.util.Map, java.lang.Class<?>);
    descriptor: (Ljava/util/Map;Ljava/lang/Class;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Map map
        start local 1 // java.lang.Class pClass
         0: .line 703
            aload 0 /* map */
            aload 1 /* pClass */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aload 1 /* pClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 704
            return
        end local 1 // java.lang.Class pClass
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     map  Ljava/util/Map;
            0    2     1  pClass  Ljava/lang/Class<*>;
    Signature: (Ljava/util/Map;Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      map     
      pClass  

  private void setJavaBeanProperties(java.lang.Object, java.util.List, java.util.List);
    descriptor: (Ljava/lang/Object;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
        start local 1 // java.lang.Object bean
        start local 2 // java.util.List namedParamNames
        start local 3 // java.util.List namedParamValues
         0: .line 709
            aload 2 /* namedParamNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 710
            return
         2: .line 713
      StackMap locals:
      StackMap stack:
            aload 1 /* bean */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
         3: .line 716
            aload 4 /* cl */
            invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
            invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
            astore 6 /* propDescs */
        start local 6 // java.beans.PropertyDescriptor[] propDescs
         4: .line 717
            new java.util.HashMap
            dup
            aload 6 /* propDescs */
            arraylength
            iconst_4
            imul
            iconst_3
            idiv
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
            astore 5 /* beanPropSetters */
        start local 5 // java.util.Map beanPropSetters
         5: .line 718
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 12
         7: .line 719
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator java.lang.Object java.util.List java.util.List java.lang.Class java.util.Map java.beans.PropertyDescriptor[] int
      StackMap stack:
            aload 6 /* propDescs */
            iload 7 /* i */
            aaload
            astore 8 /* propDesc */
        start local 8 // java.beans.PropertyDescriptor propDesc
         8: .line 720
            aload 8 /* propDesc */
            invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
            astore 9 /* writeMethod */
        start local 9 // java.lang.reflect.Method writeMethod
         9: .line 721
            aload 9 /* writeMethod */
            ifnull 11
        10: .line 722
            aload 5 /* beanPropSetters */
            aload 8 /* propDesc */
            invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
            aload 9 /* writeMethod */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.reflect.Method writeMethod
        end local 8 // java.beans.PropertyDescriptor propDesc
        11: .line 718
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            aload 6 /* propDescs */
            arraylength
            if_icmplt 7
        end local 7 // int i
        end local 6 // java.beans.PropertyDescriptor[] propDescs
        13: .line 725
            goto 16
        end local 5 // java.util.Map beanPropSetters
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator java.lang.Object java.util.List java.util.List java.lang.Class
      StackMap stack: java.lang.Exception
        14: astore 6 /* e */
        start local 6 // java.lang.Exception e
        15: .line 726
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to inspect "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        start local 5 // java.util.Map beanPropSetters
        16: .line 729
      StackMap locals: java.util.Map
      StackMap stack:
            aconst_null
            astore 6 /* beanTM */
        start local 6 // freemarker.template.TemplateHashModel beanTM
        17: .line 730
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        18: goto 56
        19: .line 731
      StackMap locals: freemarker.template.TemplateHashModel int
      StackMap stack:
            aload 2 /* namedParamNames */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* name */
        start local 8 // java.lang.String name
        20: .line 732
            aload 5 /* beanPropSetters */
            aload 8 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 26
        21: .line 733
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        22: .line 734
            new java.lang.StringBuilder
            dup
            ldc "The "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " class has no writeable JavaBeans property called "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 735
            aload 8 /* name */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 734
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 733
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 738
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* beanPropSetters */
            aload 8 /* name */
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 9 /* beanPropSetter */
        start local 9 // java.lang.reflect.Method beanPropSetter
        27: .line 739
            aload 9 /* beanPropSetter */
            ifnonnull 31
        28: .line 740
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        29: .line 741
            new java.lang.StringBuilder
            dup
            ldc "JavaBeans property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* name */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is set twice."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 740
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 745
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 6 /* beanTM */
            ifnonnull 38
        32: .line 746
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.env:Lfreemarker/core/_SettingEvaluationEnvironment;
            invokevirtual freemarker.core._SettingEvaluationEnvironment.getObjectWrapper:()Lfreemarker/ext/beans/BeansWrapper;
            aload 1 /* bean */
            invokevirtual freemarker.ext.beans.BeansWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            astore 10 /* wrappedObj */
        start local 10 // freemarker.template.TemplateModel wrappedObj
        33: .line 747
            aload 10 /* wrappedObj */
            instanceof freemarker.template.TemplateHashModel
            ifne 37
        34: .line 748
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        35: .line 749
            new java.lang.StringBuilder
            dup
            ldc "The "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " class is not a wrapped as TemplateHashModel."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 748
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 751
      StackMap locals: freemarker.template.TemplateModel
      StackMap stack:
            aload 10 /* wrappedObj */
            checkcast freemarker.template.TemplateHashModel
            astore 6 /* beanTM */
        end local 10 // freemarker.template.TemplateModel wrappedObj
        38: .line 754
      StackMap locals:
      StackMap stack:
            aload 6 /* beanTM */
            aload 9 /* beanPropSetter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokeinterface freemarker.template.TemplateHashModel.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
            astore 10 /* m */
        start local 10 // freemarker.template.TemplateModel m
        39: .line 755
            aload 10 /* m */
            ifnonnull 43
        40: .line 756
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        41: .line 757
            new java.lang.StringBuilder
            dup
            ldc "Can't find "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* beanPropSetter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " as FreeMarker method."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        42: .line 756
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 759
      StackMap locals: freemarker.template.TemplateModel
      StackMap stack:
            aload 10 /* m */
            instanceof freemarker.template.TemplateMethodModelEx
            ifne 47
        44: .line 760
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        45: .line 761
            new java.lang.StringBuilder
            dup
            aload 9 /* beanPropSetter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " wasn't a TemplateMethodModelEx."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        46: .line 760
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 763
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* args */
        start local 11 // java.util.List args
        48: .line 764
            aload 11 /* args */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator.env:Lfreemarker/core/_SettingEvaluationEnvironment;
            invokevirtual freemarker.core._SettingEvaluationEnvironment.getObjectWrapper:()Lfreemarker/ext/beans/BeansWrapper;
            aload 3 /* namedParamValues */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual freemarker.ext.beans.BeansWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        49: .line 765
            aload 10 /* m */
            checkcast freemarker.template.TemplateMethodModelEx
            aload 11 /* args */
            invokeinterface freemarker.template.TemplateMethodModelEx.exec:(Ljava/util/List;)Ljava/lang/Object;
            pop
        end local 11 // java.util.List args
        end local 10 // freemarker.template.TemplateModel m
        50: .line 766
            goto 55
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator java.lang.Object java.util.List java.util.List java.lang.Class java.util.Map freemarker.template.TemplateHashModel int java.lang.String java.lang.reflect.Method
      StackMap stack: java.lang.Exception
        51: astore 10 /* e */
        start local 10 // java.lang.Exception e
        52: .line 767
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        53: .line 768
            new java.lang.StringBuilder
            dup
            ldc "Failed to set "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* name */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 10 /* e */
        54: .line 767
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.lang.Exception e
        end local 9 // java.lang.reflect.Method beanPropSetter
        end local 8 // java.lang.String name
        55: .line 730
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 7 /* i */
            aload 2 /* namedParamNames */
            invokeinterface java.util.List.size:()I
            if_icmplt 19
        end local 7 // int i
        57: .line 771
            return
        end local 6 // freemarker.template.TemplateHashModel beanTM
        end local 5 // java.util.Map beanPropSetters
        end local 4 // java.lang.Class cl
        end local 3 // java.util.List namedParamValues
        end local 2 // java.util.List namedParamNames
        end local 1 // java.lang.Object bean
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   58     0              this  Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            0   58     1              bean  Ljava/lang/Object;
            0   58     2   namedParamNames  Ljava/util/List;
            0   58     3  namedParamValues  Ljava/util/List;
            3   58     4                cl  Ljava/lang/Class;
            5   14     5   beanPropSetters  Ljava/util/Map;
           16   58     5   beanPropSetters  Ljava/util/Map;
            4   13     6         propDescs  [Ljava/beans/PropertyDescriptor;
            6   13     7                 i  I
            8   11     8          propDesc  Ljava/beans/PropertyDescriptor;
            9   11     9       writeMethod  Ljava/lang/reflect/Method;
           15   16     6                 e  Ljava/lang/Exception;
           17   58     6            beanTM  Lfreemarker/template/TemplateHashModel;
           18   57     7                 i  I
           20   55     8              name  Ljava/lang/String;
           27   55     9    beanPropSetter  Ljava/lang/reflect/Method;
           33   38    10        wrappedObj  Lfreemarker/template/TemplateModel;
           39   50    10                 m  Lfreemarker/template/TemplateModel;
           48   50    11              args  Ljava/util/List;
           52   55    10                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    13      14  Class java.lang.Exception
          31    50      51  Class java.lang.Exception
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
                  Name  Flags
      bean              
      namedParamNames   
      namedParamValues  
}
SourceFile: "_ObjectBuilderSettingEvaluator.java"
NestMembers:
  freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression  freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters  freemarker.core._ObjectBuilderSettingEvaluator$KeyValuePair  freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression  freemarker.core._ObjectBuilderSettingEvaluator$ListExpression  freemarker.core._ObjectBuilderSettingEvaluator$MapExpression  freemarker.core._ObjectBuilderSettingEvaluator$Name  freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression  freemarker.core._ObjectBuilderSettingEvaluator$SettingExpression
InnerClasses:
  private BuilderCallExpression = freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression of freemarker.core._ObjectBuilderSettingEvaluator
  private abstract ExpressionWithParameters = freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters of freemarker.core._ObjectBuilderSettingEvaluator
  private KeyValuePair = freemarker.core._ObjectBuilderSettingEvaluator$KeyValuePair of freemarker.core._ObjectBuilderSettingEvaluator
  private LegacyExceptionWrapperSettingEvaluationExpression = freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression of freemarker.core._ObjectBuilderSettingEvaluator
  private ListExpression = freemarker.core._ObjectBuilderSettingEvaluator$ListExpression of freemarker.core._ObjectBuilderSettingEvaluator
  private MapExpression = freemarker.core._ObjectBuilderSettingEvaluator$MapExpression of freemarker.core._ObjectBuilderSettingEvaluator
  private Name = freemarker.core._ObjectBuilderSettingEvaluator$Name of freemarker.core._ObjectBuilderSettingEvaluator
  private PropertyAssignmentsExpression = freemarker.core._ObjectBuilderSettingEvaluator$PropertyAssignmentsExpression of freemarker.core._ObjectBuilderSettingEvaluator
  private abstract SettingExpression = freemarker.core._ObjectBuilderSettingEvaluator$SettingExpression of freemarker.core._ObjectBuilderSettingEvaluator