public class org.stringtemplate.v4.compiler.CompiledST implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.stringtemplate.v4.compiler.CompiledST
  super_class: java.lang.Object
{
  public java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String template;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.runtime.Token templateDefStartToken;
    descriptor: Lorg/antlr/runtime/Token;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.runtime.TokenStream tokens;
    descriptor: Lorg/antlr/runtime/TokenStream;
    flags: (0x0001) ACC_PUBLIC

  public org.antlr.runtime.tree.CommonTree ast;
    descriptor: Lorg/antlr/runtime/tree/CommonTree;
    flags: (0x0001) ACC_PUBLIC

  public java.util.Map<java.lang.String, org.stringtemplate.v4.compiler.FormalArgument> formalArguments;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/stringtemplate/v4/compiler/FormalArgument;>;

  public boolean hasFormalArgs;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public int numberOfArgsWithDefaultValues;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public java.util.List<org.stringtemplate.v4.compiler.CompiledST> implicitlyDefinedTemplates;
    descriptor: Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/List<Lorg/stringtemplate/v4/compiler/CompiledST;>;

  public org.stringtemplate.v4.STGroup nativeGroup;
    descriptor: Lorg/stringtemplate/v4/STGroup;
    flags: (0x0001) ACC_PUBLIC

  public boolean isRegion;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public org.stringtemplate.v4.ST$RegionType regionDefType;
    descriptor: Lorg/stringtemplate/v4/ST$RegionType;
    flags: (0x0001) ACC_PUBLIC

  public boolean isAnonSubtemplate;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String[] strings;
    descriptor: [Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public byte[] instrs;
    descriptor: [B
    flags: (0x0001) ACC_PUBLIC

  public int codeSize;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public org.stringtemplate.v4.misc.Interval[] sourceMap;
    descriptor: [Lorg/stringtemplate/v4/misc/Interval;
    flags: (0x0001) ACC_PUBLIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 120
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            ldc "/"
            putfield org.stringtemplate.v4.compiler.CompiledST.prefix:Ljava/lang/String;
         2: .line 94
            aload 0 /* this */
            getstatic org.stringtemplate.v4.STGroup.defaultGroup:Lorg/stringtemplate/v4/STGroup;
            putfield org.stringtemplate.v4.compiler.CompiledST.nativeGroup:Lorg/stringtemplate/v4/STGroup;
         3: .line 121
            aload 0 /* this */
            bipush 15
            newarray 8
            putfield org.stringtemplate.v4.compiler.CompiledST.instrs:[B
         4: .line 122
            aload 0 /* this */
            bipush 15
            anewarray org.stringtemplate.v4.misc.Interval
            putfield org.stringtemplate.v4.compiler.CompiledST.sourceMap:[Lorg/stringtemplate/v4/misc/Interval;
         5: .line 123
            aload 0 /* this */
            ldc ""
            putfield org.stringtemplate.v4.compiler.CompiledST.template:Ljava/lang/String;
         6: .line 124
            return
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;

  public org.stringtemplate.v4.compiler.CompiledST clone();
    descriptor: ()Lorg/stringtemplate/v4/compiler/CompiledST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 140
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast org.stringtemplate.v4.compiler.CompiledST
            astore 1 /* clone */
        start local 1 // org.stringtemplate.v4.compiler.CompiledST clone
         1: .line 141
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            ifnull 3
         2: .line 142
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
         3: .line 145
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST
      StackMap stack:
            aload 1 /* clone */
            areturn
        end local 1 // org.stringtemplate.v4.compiler.CompiledST clone
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/stringtemplate/v4/compiler/CompiledST;
            1    4     1  clone  Lorg/stringtemplate/v4/compiler/CompiledST;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  public void addImplicitlyDefinedTemplate(org.stringtemplate.v4.compiler.CompiledST);
    descriptor: (Lorg/stringtemplate/v4/compiler/CompiledST;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
        start local 1 // org.stringtemplate.v4.compiler.CompiledST sub
         0: .line 149
            aload 1 /* sub */
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.prefix:Ljava/lang/String;
            putfield org.stringtemplate.v4.compiler.CompiledST.prefix:Ljava/lang/String;
         1: .line 150
            aload 1 /* sub */
            getfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 2
            aload 1 /* sub */
            new java.lang.StringBuilder
            dup
            aload 1 /* sub */
            getfield org.stringtemplate.v4.compiler.CompiledST.prefix:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sub */
            getfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
         2: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.implicitlyDefinedTemplates:Ljava/util/List;
            ifnonnull 4
         3: .line 152
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.stringtemplate.v4.compiler.CompiledST.implicitlyDefinedTemplates:Ljava/util/List;
         4: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.implicitlyDefinedTemplates:Ljava/util/List;
            aload 1 /* sub */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 155
            return
        end local 1 // org.stringtemplate.v4.compiler.CompiledST sub
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            0    6     1   sub  Lorg/stringtemplate/v4/compiler/CompiledST;
    MethodParameters:
      Name  Flags
      sub   

  public void defineArgDefaultValueTemplates(org.stringtemplate.v4.STGroup);
    descriptor: (Lorg/stringtemplate/v4/STGroup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
        start local 1 // org.stringtemplate.v4.STGroup group
         0: .line 158
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            ifnonnull 1
            return
         1: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 28
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST org.stringtemplate.v4.STGroup top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* a */
        start local 2 // java.lang.String a
         3: .line 160
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            aload 2 /* a */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.stringtemplate.v4.compiler.FormalArgument
            astore 4 /* fa */
        start local 4 // org.stringtemplate.v4.compiler.FormalArgument fa
         4: .line 161
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.defaultValueToken:Lorg/antlr/runtime/Token;
            ifnull 28
         5: .line 162
            aload 0 /* this */
            dup
            getfield org.stringtemplate.v4.compiler.CompiledST.numberOfArgsWithDefaultValues:I
            iconst_1
            iadd
            putfield org.stringtemplate.v4.compiler.CompiledST.numberOfArgsWithDefaultValues:I
         6: .line 163
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.defaultValueToken:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getType:()I
            tableswitch { // 4 - 14
                    4: 7
                    5: 27
                    6: 27
                    7: 27
                    8: 23
                    9: 27
                   10: 21
                   11: 27
                   12: 27
                   13: 19
                   14: 23
              default: 27
          }
         7: .line 165
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST org.stringtemplate.v4.STGroup java.lang.String java.util.Iterator org.stringtemplate.v4.compiler.FormalArgument
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_default_value"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* argSTname */
        start local 5 // java.lang.String argSTname
         8: .line 166
            new org.stringtemplate.v4.compiler.Compiler
            dup
            aload 1 /* group */
            invokespecial org.stringtemplate.v4.compiler.Compiler.<init>:(Lorg/stringtemplate/v4/STGroup;)V
            astore 6 /* c2 */
        start local 6 // org.stringtemplate.v4.compiler.Compiler c2
         9: .line 168
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.defaultValueToken:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            iconst_1
            invokestatic org.stringtemplate.v4.misc.Misc.strip:(Ljava/lang/String;I)Ljava/lang/String;
        10: .line 167
            astore 7 /* defArgTemplate */
        start local 7 // java.lang.String defArgTemplate
        11: .line 169
            aload 4 /* fa */
        12: .line 170
            aload 6 /* c2 */
            aload 1 /* group */
            invokevirtual org.stringtemplate.v4.STGroup.getFileName:()Ljava/lang/String;
            aload 5 /* argSTname */
            aconst_null
        13: .line 171
            aload 7 /* defArgTemplate */
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.defaultValueToken:Lorg/antlr/runtime/Token;
        14: .line 170
            invokevirtual org.stringtemplate.v4.compiler.Compiler.compile:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/stringtemplate/v4/compiler/CompiledST;
        15: .line 169
            putfield org.stringtemplate.v4.compiler.FormalArgument.compiledDefaultValue:Lorg/stringtemplate/v4/compiler/CompiledST;
        16: .line 172
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.compiledDefaultValue:Lorg/stringtemplate/v4/compiler/CompiledST;
            aload 5 /* argSTname */
            putfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
        17: .line 173
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.compiledDefaultValue:Lorg/stringtemplate/v4/compiler/CompiledST;
            aload 1 /* group */
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.defineImplicitlyDefinedTemplates:(Lorg/stringtemplate/v4/STGroup;)V
        18: .line 174
            goto 28
        end local 7 // java.lang.String defArgTemplate
        end local 6 // org.stringtemplate.v4.compiler.Compiler c2
        end local 5 // java.lang.String argSTname
        19: .line 177
      StackMap locals:
      StackMap stack:
            aload 4 /* fa */
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.defaultValueToken:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            iconst_1
            invokestatic org.stringtemplate.v4.misc.Misc.strip:(Ljava/lang/String;I)Ljava/lang/String;
            putfield org.stringtemplate.v4.compiler.FormalArgument.defaultValue:Ljava/lang/Object;
        20: .line 178
            goto 28
        21: .line 181
      StackMap locals:
      StackMap stack:
            aload 4 /* fa */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.stringtemplate.v4.compiler.FormalArgument.defaultValue:Ljava/lang/Object;
        22: .line 182
            goto 28
        23: .line 186
      StackMap locals:
      StackMap stack:
            aload 4 /* fa */
            aload 4 /* fa */
            getfield org.stringtemplate.v4.compiler.FormalArgument.defaultValueToken:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getType:()I
            bipush 14
            if_icmpne 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack: org.stringtemplate.v4.compiler.FormalArgument
        24: iconst_0
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST org.stringtemplate.v4.STGroup java.lang.String java.util.Iterator org.stringtemplate.v4.compiler.FormalArgument
      StackMap stack: org.stringtemplate.v4.compiler.FormalArgument int
        25: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.stringtemplate.v4.compiler.FormalArgument.defaultValue:Ljava/lang/Object;
        26: .line 187
            goto 28
        27: .line 190
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "Unexpected default value token type."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.stringtemplate.v4.compiler.FormalArgument fa
        end local 2 // java.lang.String a
        28: .line 159
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST org.stringtemplate.v4.STGroup top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        29: .line 194
            return
        end local 1 // org.stringtemplate.v4.STGroup group
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0            this  Lorg/stringtemplate/v4/compiler/CompiledST;
            0   30     1           group  Lorg/stringtemplate/v4/STGroup;
            3   28     2               a  Ljava/lang/String;
            4   28     4              fa  Lorg/stringtemplate/v4/compiler/FormalArgument;
            8   19     5       argSTname  Ljava/lang/String;
            9   19     6              c2  Lorg/stringtemplate/v4/compiler/Compiler;
           11   19     7  defArgTemplate  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      group  

  public void defineFormalArgs(java.util.List<org.stringtemplate.v4.compiler.FormalArgument>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
        start local 1 // java.util.List args
         0: .line 197
            aload 0 /* this */
            iconst_1
            putfield org.stringtemplate.v4.compiler.CompiledST.hasFormalArgs:Z
         1: .line 198
            aload 1 /* args */
            ifnonnull 2
            aload 0 /* this */
            aconst_null
            putfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            goto 6
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.stringtemplate.v4.compiler.FormalArgument
            astore 2 /* a */
        start local 2 // org.stringtemplate.v4.compiler.FormalArgument a
         4: aload 0 /* this */
            aload 2 /* a */
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.addArg:(Lorg/stringtemplate/v4/compiler/FormalArgument;)V
        end local 2 // org.stringtemplate.v4.compiler.FormalArgument a
      StackMap locals:
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 200
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST java.util.List
      StackMap stack:
            return
        end local 1 // java.util.List args
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            0    7     1  args  Ljava/util/List<Lorg/stringtemplate/v4/compiler/FormalArgument;>;
            4    5     2     a  Lorg/stringtemplate/v4/compiler/FormalArgument;
    Signature: (Ljava/util/List<Lorg/stringtemplate/v4/compiler/FormalArgument;>;)V
    MethodParameters:
      Name  Flags
      args  

  public void addArg(org.stringtemplate.v4.compiler.FormalArgument);
    descriptor: (Lorg/stringtemplate/v4/compiler/FormalArgument;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
        start local 1 // org.stringtemplate.v4.compiler.FormalArgument a
         0: .line 204
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            ifnonnull 3
         1: .line 205
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
         2: .line 206
            goto 5
         3: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            aload 1 /* a */
            getfield org.stringtemplate.v4.compiler.FormalArgument.name:Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 208
            new java.lang.IllegalArgumentException
            dup
            ldc "Formal argument %s already exists."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* a */
            getfield org.stringtemplate.v4.compiler.FormalArgument.name:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            putfield org.stringtemplate.v4.compiler.FormalArgument.index:I
         6: .line 212
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.formalArguments:Ljava/util/Map;
            aload 1 /* a */
            getfield org.stringtemplate.v4.compiler.FormalArgument.name:Ljava/lang/String;
            aload 1 /* a */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 213
            return
        end local 1 // org.stringtemplate.v4.compiler.FormalArgument a
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            0    8     1     a  Lorg/stringtemplate/v4/compiler/FormalArgument;
    MethodParameters:
      Name  Flags
      a     

  public void defineImplicitlyDefinedTemplates(org.stringtemplate.v4.STGroup);
    descriptor: (Lorg/stringtemplate/v4/STGroup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
        start local 1 // org.stringtemplate.v4.STGroup group
         0: .line 216
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.implicitlyDefinedTemplates:Ljava/util/List;
            ifnull 6
         1: .line 217
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.implicitlyDefinedTemplates:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST org.stringtemplate.v4.STGroup top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.stringtemplate.v4.compiler.CompiledST
            astore 2 /* sub */
        start local 2 // org.stringtemplate.v4.compiler.CompiledST sub
         3: .line 218
            aload 1 /* group */
            aload 2 /* sub */
            getfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
            aload 2 /* sub */
            aload 2 /* sub */
            getfield org.stringtemplate.v4.compiler.CompiledST.templateDefStartToken:Lorg/antlr/runtime/Token;
            invokevirtual org.stringtemplate.v4.STGroup.rawDefineTemplate:(Ljava/lang/String;Lorg/stringtemplate/v4/compiler/CompiledST;Lorg/antlr/runtime/Token;)V
         4: .line 219
            aload 2 /* sub */
            aload 1 /* group */
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.defineImplicitlyDefinedTemplates:(Lorg/stringtemplate/v4/STGroup;)V
        end local 2 // org.stringtemplate.v4.compiler.CompiledST sub
         5: .line 217
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 222
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST org.stringtemplate.v4.STGroup
      StackMap stack:
            return
        end local 1 // org.stringtemplate.v4.STGroup group
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/stringtemplate/v4/compiler/CompiledST;
            0    7     1  group  Lorg/stringtemplate/v4/STGroup;
            3    5     2    sub  Lorg/stringtemplate/v4/compiler/CompiledST;
    MethodParameters:
       Name  Flags
      group  

  public java.lang.String getTemplateSource();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 225
            aload 0 /* this */
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.getTemplateRange:()Lorg/stringtemplate/v4/misc/Interval;
            astore 1 /* r */
        start local 1 // org.stringtemplate.v4.misc.Interval r
         1: .line 226
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.template:Ljava/lang/String;
            aload 1 /* r */
            getfield org.stringtemplate.v4.misc.Interval.a:I
            aload 1 /* r */
            getfield org.stringtemplate.v4.misc.Interval.b:I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // org.stringtemplate.v4.misc.Interval r
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            1    2     1     r  Lorg/stringtemplate/v4/misc/Interval;

  public org.stringtemplate.v4.misc.Interval getTemplateRange();
    descriptor: ()Lorg/stringtemplate/v4/misc/Interval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 230
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.isAnonSubtemplate:Z
            ifeq 13
         1: .line 231
            ldc 2147483647
            istore 1 /* start */
        start local 1 // int start
         2: .line 232
            ldc -2147483648
            istore 2 /* stop */
        start local 2 // int stop
         3: .line 233
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.sourceMap:[Lorg/stringtemplate/v4/misc/Interval;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST int int top int int org.stringtemplate.v4.misc.Interval[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* interval */
        start local 3 // org.stringtemplate.v4.misc.Interval interval
         5: .line 234
            aload 3 /* interval */
            ifnonnull 7
         6: .line 235
            goto 9
         7: .line 238
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST int int org.stringtemplate.v4.misc.Interval int int org.stringtemplate.v4.misc.Interval[]
      StackMap stack:
            iload 1 /* start */
            aload 3 /* interval */
            getfield org.stringtemplate.v4.misc.Interval.a:I
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* start */
         8: .line 239
            iload 2 /* stop */
            aload 3 /* interval */
            getfield org.stringtemplate.v4.misc.Interval.b:I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* stop */
        end local 3 // org.stringtemplate.v4.misc.Interval interval
         9: .line 233
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST int int top int int org.stringtemplate.v4.misc.Interval[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 4
        11: .line 242
            iload 1 /* start */
            iload 2 /* stop */
            iconst_1
            iadd
            if_icmpgt 13
        12: .line 243
            new org.stringtemplate.v4.misc.Interval
            dup
            iload 1 /* start */
            iload 2 /* stop */
            invokespecial org.stringtemplate.v4.misc.Interval.<init>:(II)V
            areturn
        end local 2 // int stop
        end local 1 // int start
        13: .line 246
      StackMap locals: org.stringtemplate.v4.compiler.CompiledST
      StackMap stack:
            new org.stringtemplate.v4.misc.Interval
            dup
            iconst_0
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.template:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokespecial org.stringtemplate.v4.misc.Interval.<init>:(II)V
            areturn
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/stringtemplate/v4/compiler/CompiledST;
            2   13     1     start  I
            3   13     2      stop  I
            5    9     3  interval  Lorg/stringtemplate/v4/misc/Interval;

  public java.lang.String instrs();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 250
            new org.stringtemplate.v4.compiler.BytecodeDisassembler
            dup
            aload 0 /* this */
            invokespecial org.stringtemplate.v4.compiler.BytecodeDisassembler.<init>:(Lorg/stringtemplate/v4/compiler/CompiledST;)V
            astore 1 /* dis */
        start local 1 // org.stringtemplate.v4.compiler.BytecodeDisassembler dis
         1: .line 251
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.instrs:()Ljava/lang/String;
            areturn
        end local 1 // org.stringtemplate.v4.compiler.BytecodeDisassembler dis
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            1    2     1   dis  Lorg/stringtemplate/v4/compiler/BytecodeDisassembler;

  public void dump();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 255
            new org.stringtemplate.v4.compiler.BytecodeDisassembler
            dup
            aload 0 /* this */
            invokespecial org.stringtemplate.v4.compiler.BytecodeDisassembler.<init>:(Lorg/stringtemplate/v4/compiler/CompiledST;)V
            astore 1 /* dis */
        start local 1 // org.stringtemplate.v4.compiler.BytecodeDisassembler dis
         1: .line 256
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 257
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.disassemble:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 258
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Strings:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 259
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.strings:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 260
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Bytecode to template map:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 261
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.sourceMap:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 262
            return
        end local 1 // org.stringtemplate.v4.compiler.BytecodeDisassembler dis
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            1    8     1   dis  Lorg/stringtemplate/v4/compiler/BytecodeDisassembler;

  public java.lang.String disasm();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.CompiledST this
         0: .line 265
            new org.stringtemplate.v4.compiler.BytecodeDisassembler
            dup
            aload 0 /* this */
            invokespecial org.stringtemplate.v4.compiler.BytecodeDisassembler.<init>:(Lorg/stringtemplate/v4/compiler/CompiledST;)V
            astore 1 /* dis */
        start local 1 // org.stringtemplate.v4.compiler.BytecodeDisassembler dis
         1: .line 266
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* sw */
        start local 2 // java.io.StringWriter sw
         2: .line 267
            new java.io.PrintWriter
            dup
            aload 2 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         3: .line 268
            aload 3 /* pw */
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.disassemble:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 269
            aload 3 /* pw */
            ldc "Strings:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 270
            aload 3 /* pw */
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.strings:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 271
            aload 3 /* pw */
            ldc "Bytecode to template map:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 272
            aload 3 /* pw */
            aload 1 /* dis */
            invokevirtual org.stringtemplate.v4.compiler.BytecodeDisassembler.sourceMap:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 273
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
         9: .line 274
            aload 2 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.io.PrintWriter pw
        end local 2 // java.io.StringWriter sw
        end local 1 // org.stringtemplate.v4.compiler.BytecodeDisassembler dis
        end local 0 // org.stringtemplate.v4.compiler.CompiledST this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/stringtemplate/v4/compiler/CompiledST;
            1   10     1   dis  Lorg/stringtemplate/v4/compiler/BytecodeDisassembler;
            2   10     2    sw  Ljava/io/StringWriter;
            3   10     3    pw  Ljava/io/PrintWriter;

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.clone:()Lorg/stringtemplate/v4/compiler/CompiledST;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.CloneNotSupportedException
}
SourceFile: "CompiledST.java"
InnerClasses:
  public final RegionType = org.stringtemplate.v4.ST$RegionType of org.stringtemplate.v4.ST