public final class freemarker.core.Macro extends freemarker.core.TemplateElement implements freemarker.template.TemplateModel
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: freemarker.core.Macro
  super_class: freemarker.core.TemplateElement
{
  static final freemarker.core.Macro DO_NOTHING_MACRO;
    descriptor: Lfreemarker/core/Macro;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

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

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

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

  private final java.util.Map paramDefaults;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 42
            new freemarker.core.Macro
            dup
            ldc ".pass"
         1: .line 43
            getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
         2: .line 44
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
         3: .line 45
            aconst_null
            iconst_0
         4: .line 46
            getstatic freemarker.core.TemplateElements.EMPTY:Lfreemarker/core/TemplateElements;
         5: .line 42
            invokespecial freemarker.core.Macro.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;ZLfreemarker/core/TemplateElements;)V
            putstatic freemarker.core.Macro.DO_NOTHING_MACRO:Lfreemarker/core/Macro;
         6: .line 49
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String, java.util.List, java.util.Map, java.lang.String, boolean, freemarker.core.TemplateElements);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;ZLfreemarker/core/TemplateElements;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=7
        start local 0 // freemarker.core.Macro this
        start local 1 // java.lang.String name
        start local 2 // java.util.List argumentNames
        start local 3 // java.util.Map args
        start local 4 // java.lang.String catchAllParamName
        start local 5 // boolean function
        start local 6 // freemarker.core.TemplateElements children
         0: .line 57
            aload 0 /* this */
            invokespecial freemarker.core.TemplateElement.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 1 /* name */
            putfield freemarker.core.Macro.name:Ljava/lang/String;
         2: .line 61
            aload 0 /* this */
            aload 2 /* argumentNames */
         3: .line 62
            aload 2 /* argumentNames */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
         4: .line 61
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
         5: .line 63
            aload 0 /* this */
            aload 3 /* args */
            putfield freemarker.core.Macro.paramDefaults:Ljava/util/Map;
         6: .line 65
            aload 0 /* this */
            iload 5 /* function */
            putfield freemarker.core.Macro.function:Z
         7: .line 66
            aload 0 /* this */
            aload 4 /* catchAllParamName */
            putfield freemarker.core.Macro.catchAllParamName:Ljava/lang/String;
         8: .line 68
            aload 0 /* this */
            aload 6 /* children */
            invokevirtual freemarker.core.Macro.setChildren:(Lfreemarker/core/TemplateElements;)V
         9: .line 69
            return
        end local 6 // freemarker.core.TemplateElements children
        end local 5 // boolean function
        end local 4 // java.lang.String catchAllParamName
        end local 3 // java.util.Map args
        end local 2 // java.util.List argumentNames
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lfreemarker/core/Macro;
            0   10     1               name  Ljava/lang/String;
            0   10     2      argumentNames  Ljava/util/List;
            0   10     3               args  Ljava/util/Map;
            0   10     4  catchAllParamName  Ljava/lang/String;
            0   10     5           function  Z
            0   10     6           children  Lfreemarker/core/TemplateElements;
    MethodParameters:
                   Name  Flags
      name               
      argumentNames      
      args               
      catchAllParamName  
      function           
      children           

  public java.lang.String getCatchAll();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 72
            aload 0 /* this */
            getfield freemarker.core.Macro.catchAllParamName:Ljava/lang/String;
            areturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;

  public java.lang.String[] getArgumentNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 76
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;

  java.lang.String[] getArgumentNamesInternal();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 80
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            areturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;

  boolean hasArgNamed(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Macro this
        start local 1 // java.lang.String name
         0: .line 84
            aload 0 /* this */
            getfield freemarker.core.Macro.paramDefaults:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 88
            aload 0 /* this */
            getfield freemarker.core.Macro.name:Ljava/lang/String;
            areturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;

  freemarker.core.TemplateElement[] accept(freemarker.core.Environment);
    descriptor: (Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Macro this
        start local 1 // freemarker.core.Environment env
         0: .line 93
            aload 1 /* env */
            aload 0 /* this */
            invokevirtual freemarker.core.Environment.visitMacroDef:(Lfreemarker/core/Macro;)V
         1: .line 94
            aconst_null
            areturn
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Macro;
            0    2     1   env  Lfreemarker/core/Environment;
    MethodParameters:
      Name  Flags
      env   

  protected java.lang.String dump(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // freemarker.core.Macro this
        start local 1 // boolean canonical
         0: .line 99
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 100
            iload 1 /* canonical */
            ifeq 2
            aload 2 /* sb */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 101
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            invokevirtual freemarker.core.Macro.getNodeTypeSymbol:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 102
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 103
            aload 2 /* sb */
            aload 0 /* this */
            getfield freemarker.core.Macro.name:Ljava/lang/String;
            invokestatic freemarker.core._CoreStringUtils.toFTLTopLevelTragetIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 104
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 6
            aload 2 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            arraylength
            istore 3 /* argCnt */
        start local 3 // int argCnt
         7: .line 106
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 24
         9: .line 107
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 13
        10: .line 108
            iload 4 /* i */
            ifeq 14
        11: .line 109
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 111
            goto 14
        13: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            astore 5 /* argName */
        start local 5 // java.lang.String argName
        15: .line 115
            aload 2 /* sb */
            aload 5 /* argName */
            invokestatic freemarker.core._CoreStringUtils.toFTLTopLevelIdentifierReference:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 116
            aload 0 /* this */
            getfield freemarker.core.Macro.paramDefaults:Ljava/util/Map;
            ifnull 23
            aload 0 /* this */
            getfield freemarker.core.Macro.paramDefaults:Ljava/util/Map;
            aload 5 /* argName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 23
        17: .line 117
            aload 2 /* sb */
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 118
            aload 0 /* this */
            getfield freemarker.core.Macro.paramDefaults:Ljava/util/Map;
            aload 5 /* argName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.Expression
            astore 6 /* defaultExpr */
        start local 6 // freemarker.core.Expression defaultExpr
        19: .line 119
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 22
        20: .line 120
            aload 2 /* sb */
            aload 6 /* defaultExpr */
            invokevirtual freemarker.core.Expression.getCanonicalForm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 121
            goto 23
        22: .line 122
      StackMap locals: java.lang.String freemarker.core.Expression
      StackMap stack:
            aload 2 /* sb */
            aload 6 /* defaultExpr */
            invokestatic freemarker.core._MessageUtil.appendExpressionAsUntearable:(Ljava/lang/StringBuilder;Lfreemarker/core/Expression;)Ljava/lang/StringBuilder;
            pop
        end local 6 // freemarker.core.Expression defaultExpr
        end local 5 // java.lang.String argName
        23: .line 106
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 4 /* i */
            iload 3 /* argCnt */
            if_icmplt 9
        end local 4 // int i
        25: .line 126
            aload 0 /* this */
            getfield freemarker.core.Macro.catchAllParamName:Ljava/lang/String;
            ifnull 33
        26: .line 127
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 30
        27: .line 128
            iload 3 /* argCnt */
            ifeq 31
        28: .line 129
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 131
            goto 31
        30: .line 132
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 134
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            getfield freemarker.core.Macro.catchAllParamName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 135
            aload 2 /* sb */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 34
            aload 2 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        34: .line 138
      StackMap locals:
      StackMap stack:
            iload 1 /* canonical */
            ifeq 38
        35: .line 139
            aload 2 /* sb */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        36: .line 140
            aload 2 /* sb */
            aload 0 /* this */
            invokevirtual freemarker.core.Macro.getChildrenCanonicalForm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 141
            aload 2 /* sb */
            ldc "</"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual freemarker.core.Macro.getNodeTypeSymbol:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        38: .line 143
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int argCnt
        end local 2 // java.lang.StringBuilder sb
        end local 1 // boolean canonical
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   39     0         this  Lfreemarker/core/Macro;
            0   39     1    canonical  Z
            1   39     2           sb  Ljava/lang/StringBuilder;
            7   39     3       argCnt  I
            8   25     4            i  I
           15   23     5      argName  Ljava/lang/String;
           19   23     6  defaultExpr  Lfreemarker/core/Expression;
    MethodParameters:
           Name  Flags
      canonical  

  java.lang.String getNodeTypeSymbol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 148
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 1
            ldc "#function"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "#macro"
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Macro;

  public boolean isFunction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 152
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ireturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;

  int getParameterCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 275
            iconst_1
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            arraylength
            iconst_2
            imul
            iadd
            iconst_1
            iadd
            iconst_1
            iadd
            ireturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;

  java.lang.Object getParameterValue(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // freemarker.core.Macro this
        start local 1 // int idx
         0: .line 280
            iload 1 /* idx */
            ifne 2
         1: .line 281
            aload 0 /* this */
            getfield freemarker.core.Macro.name:Ljava/lang/String;
            areturn
         2: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            arraylength
            iconst_2
            imul
            iconst_1
            iadd
            istore 2 /* argDescsEnd */
        start local 2 // int argDescsEnd
         3: .line 284
            iload 1 /* idx */
            iload 2 /* argDescsEnd */
            if_icmpge 8
         4: .line 285
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            iload 1 /* idx */
            iconst_1
            isub
            iconst_2
            idiv
            aaload
            astore 3 /* paramName */
        start local 3 // java.lang.String paramName
         5: .line 286
            iload 1 /* idx */
            iconst_2
            irem
            ifeq 7
         6: .line 287
            aload 3 /* paramName */
            areturn
         7: .line 289
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.paramDefaults:Ljava/util/Map;
            aload 3 /* paramName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.String paramName
         8: .line 291
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            iload 2 /* argDescsEnd */
            if_icmpne 10
         9: .line 292
            aload 0 /* this */
            getfield freemarker.core.Macro.catchAllParamName:Ljava/lang/String;
            areturn
        10: .line 293
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            iload 2 /* argDescsEnd */
            iconst_1
            iadd
            if_icmpne 14
        11: .line 294
            aload 0 /* this */
            getfield freemarker.core.Macro.function:Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        14: .line 296
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
        end local 2 // int argDescsEnd
        end local 1 // int idx
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lfreemarker/core/Macro;
            0   15     1          idx  I
            3   15     2  argDescsEnd  I
            5    8     3    paramName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      idx   

  freemarker.core.ParameterRole getParameterRole(int);
    descriptor: (I)Lfreemarker/core/ParameterRole;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.core.Macro this
        start local 1 // int idx
         0: .line 303
            iload 1 /* idx */
            ifne 2
         1: .line 304
            getstatic freemarker.core.ParameterRole.ASSIGNMENT_TARGET:Lfreemarker/core/ParameterRole;
            areturn
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Macro.paramNames:[Ljava/lang/String;
            arraylength
            iconst_2
            imul
            iconst_1
            iadd
            istore 2 /* argDescsEnd */
        start local 2 // int argDescsEnd
         3: .line 307
            iload 1 /* idx */
            iload 2 /* argDescsEnd */
            if_icmpge 7
         4: .line 308
            iload 1 /* idx */
            iconst_2
            irem
            ifeq 6
         5: .line 309
            getstatic freemarker.core.ParameterRole.PARAMETER_NAME:Lfreemarker/core/ParameterRole;
            areturn
         6: .line 311
      StackMap locals: int
      StackMap stack:
            getstatic freemarker.core.ParameterRole.PARAMETER_DEFAULT:Lfreemarker/core/ParameterRole;
            areturn
         7: .line 313
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            iload 2 /* argDescsEnd */
            if_icmpne 9
         8: .line 314
            getstatic freemarker.core.ParameterRole.CATCH_ALL_PARAMETER_NAME:Lfreemarker/core/ParameterRole;
            areturn
         9: .line 315
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            iload 2 /* argDescsEnd */
            iconst_1
            iadd
            if_icmpne 11
        10: .line 316
            getstatic freemarker.core.ParameterRole.AST_NODE_SUBTYPE:Lfreemarker/core/ParameterRole;
            areturn
        11: .line 318
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
        end local 2 // int argDescsEnd
        end local 1 // int idx
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lfreemarker/core/Macro;
            0   12     1          idx  I
            3   12     2  argDescsEnd  I
    MethodParameters:
      Name  Flags
      idx   

  boolean isNestedBlockRepeater();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Macro this
         0: .line 326
            iconst_1
            ireturn
        end local 0 // freemarker.core.Macro this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Macro;
}
SourceFile: "Macro.java"
NestMembers:
  freemarker.core.Macro$Context
InnerClasses:
  Context = freemarker.core.Macro$Context of freemarker.core.Macro
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()