class freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression extends freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression
  super_class: freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters
{
  private java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  final freemarker.core._ObjectBuilderSettingEvaluator this$0;
    descriptor: Lfreemarker/core/_ObjectBuilderSettingEvaluator;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(freemarker.core._ObjectBuilderSettingEvaluator);
    descriptor: (Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
         0: .line 854
            aload 0 /* this */
            aload 1
            putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            aload 0 /* this */
            aload 1
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.<init>:(Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
            return
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
    MethodParameters:
        Name  Flags
      this$0  final

  java.lang.Object eval();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
         0: .line 861
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.mustBeStaticField:Z
            ifeq 4
         1: .line 862
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
            ifne 3
         2: .line 863
            new freemarker.core.BugException
            dup
            invokespecial freemarker.core.BugException.<init>:()V
            athrow
         3: .line 865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
         4: .line 870
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            getfield freemarker.core._ObjectBuilderSettingEvaluator.modernMode:Z
            ifne 20
         5: .line 873
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
         6: areturn
         7: .line 874
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 2 /* e */
        start local 2 // java.lang.InstantiationException e
         8: .line 875
            new freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
            dup
            aload 2 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.InstantiationException e
         9: .line 876
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        10: .line 877
            new freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
            dup
            aload 2 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException e
        11: .line 878
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 2 /* e */
        start local 2 // java.lang.ClassNotFoundException e
        12: .line 879
            new freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
            dup
            aload 2 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ClassNotFoundException e
        13: .line 881
      StackMap locals:
      StackMap stack: freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
            astore 2 /* e */
        start local 2 // freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression e
        14: .line 882
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
            ifeq 15
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 16
        15: .line 883
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
      StackMap stack:
            aload 2 /* e */
            athrow
        16: .line 887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
        17: areturn
        18: .line 888
      StackMap locals:
      StackMap stack: freemarker.core._ObjectBuilderSettingEvaluationException
            pop
        19: .line 889
            aload 2 /* e */
            athrow
        end local 2 // freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression e
        20: .line 896
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Builder"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
        21: .line 897
            iconst_1
            istore 2 /* clIsBuilderClass */
        start local 2 // boolean clIsBuilderClass
        22: .line 898
            goto 44
        end local 2 // boolean clIsBuilderClass
        end local 1 // java.lang.Class cl
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        23: pop
        24: .line 899
            iconst_0
            istore 2 /* clIsBuilderClass */
        start local 2 // boolean clIsBuilderClass
        25: .line 901
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
        26: .line 902
            goto 44
        end local 1 // java.lang.Class cl
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int
      StackMap stack: java.lang.Exception
        27: astore 3 /* e2 */
        start local 3 // java.lang.Exception e2
        28: .line 904
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
            ifeq 34
        29: .line 907
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
        30: areturn
        31: .line 908
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int java.lang.Exception
      StackMap stack: freemarker.core._ObjectBuilderSettingEvaluationException
            pop
        32: .line 910
            iconst_1
            istore 4 /* failedToGetAsStaticField */
        start local 4 // boolean failedToGetAsStaticField
        33: .line 912
            goto 35
        end local 4 // boolean failedToGetAsStaticField
        34: .line 913
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* failedToGetAsStaticField */
        start local 4 // boolean failedToGetAsStaticField
        35: .line 915
      StackMap locals: int
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        36: .line 916
            new java.lang.StringBuilder
            dup
            ldc "Failed to get class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className: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;
        37: .line 917
            iload 4 /* failedToGetAsStaticField */
            ifeq 38
            ldc " (also failed to resolve name as static field)"
            goto 39
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int java.lang.Exception int
      StackMap stack: new 35 new 35 java.lang.StringBuilder
        38: ldc ""
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int java.lang.Exception int
      StackMap stack: new 35 new 35 java.lang.StringBuilder java.lang.String
        39: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 918
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 916
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        42: .line 919
            aload 3 /* e2 */
        43: .line 915
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // boolean failedToGetAsStaticField
        end local 3 // java.lang.Exception e2
        start local 1 // java.lang.Class cl
        44: .line 923
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.Class int
      StackMap stack:
            iload 2 /* clIsBuilderClass */
            ifne 59
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.hasNoParameters:()Z
            ifeq 59
        45: .line 925
            aload 1 /* cl */
            ldc "INSTANCE"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 3 /* f */
        start local 3 // java.lang.reflect.Field f
        46: .line 926
            aload 3 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            bipush 9
            iand
        47: .line 927
            bipush 9
        48: .line 926
            if_icmpne 59
        49: .line 928
            aload 3 /* f */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
        50: areturn
        end local 3 // java.lang.reflect.Field f
        51: .line 930
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldException
            pop
            goto 59
        52: .line 932
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        53: .line 933
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        54: .line 934
            new java.lang.StringBuilder
            dup
            ldc "Error when trying to access "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className: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;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        55: .line 935
            ldc "INSTANCE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        56: .line 934
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        57: .line 935
            aload 3 /* e */
        58: .line 933
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        59: .line 940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cl */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.callConstructor:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* constructorResult */
        start local 3 // java.lang.Object constructorResult
        60: .line 943
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            aload 3 /* constructorResult */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.namedParamNames:Ljava/util/List;
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.namedParamValues:Ljava/util/List;
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.setJavaBeanProperties:(Ljava/lang/Object;Ljava/util/List;Ljava/util/List;)V
        61: .line 946
            iload 2 /* clIsBuilderClass */
            ifeq 64
        62: .line 947
            aload 0 /* this */
            aload 3 /* constructorResult */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.callBuild:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
        63: .line 948
            goto 67
        end local 4 // java.lang.Object result
        64: .line 949
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* constructorResult */
            instanceof freemarker.template.utility.WriteProtectable
            ifeq 66
        65: .line 950
            aload 3 /* constructorResult */
            checkcast freemarker.template.utility.WriteProtectable
            invokeinterface freemarker.template.utility.WriteProtectable.writeProtect:()V
        66: .line 952
      StackMap locals:
      StackMap stack:
            aload 3 /* constructorResult */
            astore 4 /* result */
        start local 4 // java.lang.Object result
        67: .line 955
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // java.lang.Object result
        end local 3 // java.lang.Object constructorResult
        end local 2 // boolean clIsBuilderClass
        end local 1 // java.lang.Class cl
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   68     0                      this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
           21   23     1                        cl  Ljava/lang/Class;
           26   27     1                        cl  Ljava/lang/Class;
           44   68     1                        cl  Ljava/lang/Class;
            8    9     2                         e  Ljava/lang/InstantiationException;
           10   11     2                         e  Ljava/lang/IllegalAccessException;
           12   13     2                         e  Ljava/lang/ClassNotFoundException;
           14   20     2                         e  Lfreemarker/core/_ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression;
           22   23     2          clIsBuilderClass  Z
           25   68     2          clIsBuilderClass  Z
           28   44     3                        e2  Ljava/lang/Exception;
           33   34     4  failedToGetAsStaticField  Z
           35   44     4  failedToGetAsStaticField  Z
           46   51     3                         f  Ljava/lang/reflect/Field;
           53   59     3                         e  Ljava/lang/Exception;
           60   68     3         constructorResult  Ljava/lang/Object;
           63   64     4                    result  Ljava/lang/Object;
           67   68     4                    result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.InstantiationException
           5     6       9  Class java.lang.IllegalAccessException
           5     6      11  Class java.lang.ClassNotFoundException
           5     6      13  Class freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
           7    13      13  Class freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
          16    17      18  Class freemarker.core._ObjectBuilderSettingEvaluationException
          20    22      23  Class java.lang.ClassNotFoundException
          25    26      27  Class java.lang.Exception
          29    30      31  Class freemarker.core._ObjectBuilderSettingEvaluationException
          45    50      51  Class java.lang.NoSuchFieldException
          45    50      52  Class java.lang.Exception
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException

  private java.lang.Object getStaticFieldValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
        start local 1 // java.lang.String dottedName
         0: .line 959
            aload 1 /* dottedName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastDotIdx */
        start local 2 // int lastDotIdx
         1: .line 960
            iload 2 /* lastDotIdx */
            iconst_m1
            if_icmpne 3
         2: .line 961
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 963
      StackMap locals: int
      StackMap stack:
            aload 1 /* dottedName */
            iconst_0
            iload 2 /* lastDotIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.shorthandToFullQualified:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* className */
        start local 3 // java.lang.String className
         4: .line 964
            aload 1 /* dottedName */
            iload 2 /* lastDotIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* fieldName */
        start local 4 // java.lang.String fieldName
         5: .line 968
            aload 3 /* className */
            invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
         6: .line 969
            goto 12
        end local 5 // java.lang.Class cl
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.String int java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
         7: astore 6 /* e */
        start local 6 // java.lang.Exception e
         8: .line 970
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
         9: .line 971
            new java.lang.StringBuilder
            dup
            ldc "Failed to get field's parent class, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* className */
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 972
            aload 6 /* e */
        11: .line 970
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        start local 5 // java.lang.Class cl
        12: .line 977
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 5 /* cl */
            aload 4 /* fieldName */
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 6 /* field */
        start local 6 // java.lang.reflect.Field field
        13: .line 978
            goto 21
        end local 6 // java.lang.reflect.Field field
      StackMap locals:
      StackMap stack: java.lang.Exception
        14: astore 7 /* e */
        start local 7 // java.lang.Exception e
        15: .line 979
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        16: .line 980
            new java.lang.StringBuilder
            dup
            ldc "Failed to get field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* fieldName */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " from class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 981
            aload 3 /* className */
            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;
        18: .line 980
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 982
            aload 7 /* e */
        20: .line 979
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Exception e
        start local 6 // java.lang.reflect.Field field
        21: .line 985
      StackMap locals: java.lang.reflect.Field
      StackMap stack:
            aload 6 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            bipush 8
            iand
            ifne 23
        22: .line 986
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Referred field isn't static: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 988
      StackMap locals:
      StackMap stack:
            aload 6 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iconst_1
            iand
            ifne 25
        24: .line 989
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Referred field isn't public: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 992
      StackMap locals:
      StackMap stack:
            aload 6 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "INSTANCE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        26: .line 993
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        27: .line 994
            new java.lang.StringBuilder
            dup
            ldc "The INSTANCE field is only accessible through pseudo-constructor call: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 995
            aload 3 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 994
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 993
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 999
      StackMap locals:
      StackMap stack:
            aload 6 /* field */
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
        32: areturn
        33: .line 1000
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        34: .line 1001
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to get field value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* field */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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.Exception e
        end local 6 // java.lang.reflect.Field field
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.String fieldName
        end local 3 // java.lang.String className
        end local 2 // int lastDotIdx
        end local 1 // java.lang.String dottedName
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
            0   35     1  dottedName  Ljava/lang/String;
            1   35     2  lastDotIdx  I
            4   35     3   className  Ljava/lang/String;
            5   35     4   fieldName  Ljava/lang/String;
            6    7     5          cl  Ljava/lang/Class<*>;
           12   35     5          cl  Ljava/lang/Class<*>;
            8   12     6           e  Ljava/lang/Exception;
           13   14     6       field  Ljava/lang/reflect/Field;
           21   35     6       field  Ljava/lang/reflect/Field;
           15   21     7           e  Ljava/lang/Exception;
           34   35     7           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.Exception
          12    13      14  Class java.lang.Exception
          31    32      33  Class java.lang.Exception
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
            Name  Flags
      dottedName  

  private java.lang.Object callConstructor(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
        start local 1 // java.lang.Class cl
         0: .line 1007
            aload 0 /* this */
            invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.hasNoParameters:()Z
            ifeq 7
         1: .line 1010
            aload 1 /* cl */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
         2: areturn
         3: .line 1011
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         4: .line 1012
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
         5: .line 1013
            new java.lang.StringBuilder
            dup
            ldc "Failed to call "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " 0-argument constructor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
         6: .line 1012
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
         7: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
            getfield freemarker.core._ObjectBuilderSettingEvaluator.env:Lfreemarker/core/_SettingEvaluationEnvironment;
            invokevirtual freemarker.core._SettingEvaluationEnvironment.getObjectWrapper:()Lfreemarker/ext/beans/BeansWrapper;
            astore 2 /* ow */
        start local 2 // freemarker.ext.beans.BeansWrapper ow
         8: .line 1017
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* tmArgs */
        start local 3 // java.util.List tmArgs
         9: .line 1018
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 16
        11: .line 1020
      StackMap locals: freemarker.ext.beans.BeansWrapper java.util.List int
      StackMap stack:
            aload 3 /* tmArgs */
            aload 2 /* ow */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
            iload 4 /* 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
        12: .line 1021
            goto 15
      StackMap locals:
      StackMap stack: freemarker.template.TemplateModelException
        13: astore 5 /* e */
        start local 5 // freemarker.template.TemplateModelException e
        14: .line 1022
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to wrap arg #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // freemarker.template.TemplateModelException e
        15: .line 1018
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 11
        end local 4 // int i
        17: .line 1026
            aload 2 /* ow */
            aload 1 /* cl */
            aload 3 /* tmArgs */
            invokevirtual freemarker.ext.beans.BeansWrapper.newInstance:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
        18: areturn
        19: .line 1027
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.Class freemarker.ext.beans.BeansWrapper java.util.List
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        20: .line 1028
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
        21: .line 1029
            new java.lang.StringBuilder
            dup
            ldc "Failed to call "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " constructor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
        22: .line 1028
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.util.List tmArgs
        end local 2 // freemarker.ext.beans.BeansWrapper ow
        end local 1 // java.lang.Class cl
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
            0   23     1      cl  Ljava/lang/Class;
            4    7     2       e  Ljava/lang/Exception;
            8   23     2      ow  Lfreemarker/ext/beans/BeansWrapper;
            9   23     3  tmArgs  Ljava/util/List;
           10   17     4       i  I
           14   15     5       e  Lfreemarker/template/TemplateModelException;
           20   23     4       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
          11    12      13  Class freemarker.template.TemplateModelException
          17    18      19  Class java.lang.Exception
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
      Name  Flags
      cl    

  private java.lang.Object callBuild(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
        start local 1 // java.lang.Object constructorResult
         0: .line 1036
            aload 1 /* constructorResult */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* cl */
        start local 2 // java.lang.Class cl
         1: .line 1039
            aload 1 /* constructorResult */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "build"
            aconst_null
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* buildMethod */
        start local 3 // java.lang.reflect.Method buildMethod
         2: .line 1040
            goto 11
        end local 3 // java.lang.reflect.Method buildMethod
      StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.Object java.lang.Class
      StackMap stack: java.lang.NoSuchMethodException
         3: astore 4 /* e */
        start local 4 // java.lang.NoSuchMethodException e
         4: .line 1041
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1042
            ldc " builder class must have a public "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "build"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() method"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
         6: .line 1041
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.NoSuchMethodException e
         7: .line 1043
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         8: .line 1044
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to get the build() method of the "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 1045
            aload 2 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " builder class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
        10: .line 1044
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        start local 3 // java.lang.reflect.Method buildMethod
        11: .line 1049
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 3 /* buildMethod */
            aload 1 /* constructorResult */
            aconst_null
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
        12: areturn
        13: .line 1050
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        14: .line 1052
            aload 4 /* e */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 17
        15: .line 1053
            aload 4 /* e */
            checkcast java.lang.reflect.InvocationTargetException
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
        16: .line 1054
            goto 18
        end local 5 // java.lang.Throwable cause
        17: .line 1055
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e */
            astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
        18: .line 1057
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new freemarker.core._ObjectBuilderSettingEvaluationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to call build() method on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 1058
            aload 2 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " instance"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* cause */
        20: .line 1057
            invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Throwable cause
        end local 4 // java.lang.Exception e
        end local 3 // java.lang.reflect.Method buildMethod
        end local 2 // java.lang.Class cl
        end local 1 // java.lang.Object constructorResult
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
            0   21     1  constructorResult  Ljava/lang/Object;
            1   21     2                 cl  Ljava/lang/Class;
            2    3     3        buildMethod  Ljava/lang/reflect/Method;
           11   21     3        buildMethod  Ljava/lang/reflect/Method;
            4    7     4                  e  Ljava/lang/NoSuchMethodException;
            8   11     4                  e  Ljava/lang/Exception;
           14   21     4                  e  Ljava/lang/Exception;
           16   17     5              cause  Ljava/lang/Throwable;
           18   21     5              cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.NoSuchMethodException
           1     2       7  Class java.lang.Exception
          11    12      13  Class java.lang.Exception
    Exceptions:
      throws freemarker.core._ObjectBuilderSettingEvaluationException
    MethodParameters:
                   Name  Flags
      constructorResult  

  private boolean hasNoParameters();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
         0: .line 1063
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.namedParamValues:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;

  protected boolean getAllowPositionalParameters();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
         0: .line 1068
            iconst_1
            ireturn
        end local 0 // freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
}
SourceFile: "_ObjectBuilderSettingEvaluator.java"
NestHost: freemarker.core._ObjectBuilderSettingEvaluator
InnerClasses:
  private BuilderCallExpression = freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression of freemarker.core._ObjectBuilderSettingEvaluator
  private abstract ExpressionWithParameters = freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters of freemarker.core._ObjectBuilderSettingEvaluator
  private LegacyExceptionWrapperSettingEvaluationExpression = freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression of freemarker.core._ObjectBuilderSettingEvaluator