public class org.stringtemplate.v4.compiler.Compiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.stringtemplate.v4.compiler.Compiler
  super_class: java.lang.Object
{
  public static final java.lang.String SUBTEMPLATE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "_sub"

  public static final int TEMPLATE_INITIAL_CODE_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  public static final java.util.Map<java.lang.String, org.stringtemplate.v4.Interpreter$Option> supportedOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/stringtemplate/v4/Interpreter$Option;>;

  public static final int NUM_OPTIONS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.util.Map<java.lang.String, java.lang.String> defaultOptionValues;
    descriptor: Ljava/util/Map;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public static java.util.Map<java.lang.String, java.lang.Short> funcs;
    descriptor: Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Short;>;

  public static java.util.concurrent.atomic.AtomicInteger subtemplateCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 58
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* map */
        start local 0 // java.util.Map map
         1: .line 59
            aload 0 /* map */
            ldc "anchor"
            getstatic org.stringtemplate.v4.Interpreter$Option.ANCHOR:Lorg/stringtemplate/v4/Interpreter$Option;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 60
            aload 0 /* map */
            ldc "format"
            getstatic org.stringtemplate.v4.Interpreter$Option.FORMAT:Lorg/stringtemplate/v4/Interpreter$Option;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 61
            aload 0 /* map */
            ldc "null"
            getstatic org.stringtemplate.v4.Interpreter$Option.NULL:Lorg/stringtemplate/v4/Interpreter$Option;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 62
            aload 0 /* map */
            ldc "separator"
            getstatic org.stringtemplate.v4.Interpreter$Option.SEPARATOR:Lorg/stringtemplate/v4/Interpreter$Option;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 63
            aload 0 /* map */
            ldc "wrap"
            getstatic org.stringtemplate.v4.Interpreter$Option.WRAP:Lorg/stringtemplate/v4/Interpreter$Option;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 64
            aload 0 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putstatic org.stringtemplate.v4.compiler.Compiler.supportedOptions:Ljava/util/Map;
        end local 0 // java.util.Map map
         7: .line 67
            getstatic org.stringtemplate.v4.compiler.Compiler.supportedOptions:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            putstatic org.stringtemplate.v4.compiler.Compiler.NUM_OPTIONS:I
         8: .line 72
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* map */
        start local 0 // java.util.Map map
         9: .line 73
            aload 0 /* map */
            ldc "anchor"
            ldc "true"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 74
            aload 0 /* map */
            ldc "wrap"
            ldc "\n"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 75
            aload 0 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putstatic org.stringtemplate.v4.compiler.Compiler.defaultOptionValues:Ljava/util/Map;
        end local 0 // java.util.Map map
        12: .line 81
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* map */
        start local 0 // java.util.Map map
        13: .line 82
            aload 0 /* map */
            ldc "first"
            bipush 27
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 83
            aload 0 /* map */
            ldc "last"
            bipush 28
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 84
            aload 0 /* map */
            ldc "rest"
            bipush 29
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 85
            aload 0 /* map */
            ldc "trunc"
            bipush 30
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 86
            aload 0 /* map */
            ldc "strip"
            bipush 31
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 87
            aload 0 /* map */
            ldc "trim"
            bipush 32
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 88
            aload 0 /* map */
            ldc "length"
            bipush 33
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 89
            aload 0 /* map */
            ldc "strlen"
            bipush 34
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 90
            aload 0 /* map */
            ldc "reverse"
            bipush 35
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 91
            aload 0 /* map */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putstatic org.stringtemplate.v4.compiler.Compiler.funcs:Ljava/util/Map;
        end local 0 // java.util.Map map
        23: .line 95
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic org.stringtemplate.v4.compiler.Compiler.subtemplateCount:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    7     0   map  Ljava/util/Map<Ljava/lang/String;Lorg/stringtemplate/v4/Interpreter$Option;>;
            9   12     0   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           13   23     0   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Short;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.stringtemplate.v4.compiler.Compiler this
         0: .line 99
            aload 0 /* this */
            getstatic org.stringtemplate.v4.STGroup.defaultGroup:Lorg/stringtemplate/v4/STGroup;
            invokespecial org.stringtemplate.v4.compiler.Compiler.<init>:(Lorg/stringtemplate/v4/STGroup;)V
            return
        end local 0 // org.stringtemplate.v4.compiler.Compiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/stringtemplate/v4/compiler/Compiler;

  public void <init>(org.stringtemplate.v4.STGroup);
    descriptor: (Lorg/stringtemplate/v4/STGroup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.Compiler this
        start local 1 // org.stringtemplate.v4.STGroup group
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            aload 0 /* this */
            aload 1 /* group */
            putfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            return
        end local 1 // org.stringtemplate.v4.STGroup group
        end local 0 // org.stringtemplate.v4.compiler.Compiler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/stringtemplate/v4/compiler/Compiler;
            0    1     1  group  Lorg/stringtemplate/v4/STGroup;
    MethodParameters:
       Name  Flags
      group  

  public org.stringtemplate.v4.compiler.CompiledST compile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/stringtemplate/v4/compiler/CompiledST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.Compiler this
        start local 1 // java.lang.String template
         0: .line 103
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            aload 1 /* template */
            aconst_null
            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;
            astore 2 /* code */
        start local 2 // org.stringtemplate.v4.compiler.CompiledST code
         1: .line 104
            aload 2 /* code */
            iconst_0
            putfield org.stringtemplate.v4.compiler.CompiledST.hasFormalArgs:Z
         2: .line 105
            aload 2 /* code */
            areturn
        end local 2 // org.stringtemplate.v4.compiler.CompiledST code
        end local 1 // java.lang.String template
        end local 0 // org.stringtemplate.v4.compiler.Compiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/stringtemplate/v4/compiler/Compiler;
            0    3     1  template  Ljava/lang/String;
            1    3     2      code  Lorg/stringtemplate/v4/compiler/CompiledST;
    MethodParameters:
          Name  Flags
      template  

  public org.stringtemplate.v4.compiler.CompiledST compile(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/stringtemplate/v4/compiler/CompiledST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.stringtemplate.v4.compiler.Compiler this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String template
         0: .line 110
            aload 0 /* this */
            aconst_null
            aload 1 /* name */
            aconst_null
            aload 2 /* template */
            aconst_null
            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;
            astore 3 /* code */
        start local 3 // org.stringtemplate.v4.compiler.CompiledST code
         1: .line 111
            aload 3 /* code */
            iconst_0
            putfield org.stringtemplate.v4.compiler.CompiledST.hasFormalArgs:Z
         2: .line 112
            aload 3 /* code */
            areturn
        end local 3 // org.stringtemplate.v4.compiler.CompiledST code
        end local 2 // java.lang.String template
        end local 1 // java.lang.String name
        end local 0 // org.stringtemplate.v4.compiler.Compiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/stringtemplate/v4/compiler/Compiler;
            0    3     1      name  Ljava/lang/String;
            0    3     2  template  Ljava/lang/String;
            1    3     3      code  Lorg/stringtemplate/v4/compiler/CompiledST;
    MethodParameters:
          Name  Flags
      name      
      template  

  public org.stringtemplate.v4.compiler.CompiledST compile(java.lang.String, java.lang.String, java.util.List<org.stringtemplate.v4.compiler.FormalArgument>, java.lang.String, org.antlr.runtime.Token);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/stringtemplate/v4/compiler/CompiledST;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=15, args_size=6
        start local 0 // org.stringtemplate.v4.compiler.Compiler this
        start local 1 // java.lang.String srcName
        start local 2 // java.lang.String name
        start local 3 // java.util.List args
        start local 4 // java.lang.String template
        start local 5 // org.antlr.runtime.Token templateToken
         0: .line 122
            new org.antlr.runtime.ANTLRStringStream
            dup
            aload 4 /* template */
            invokespecial org.antlr.runtime.ANTLRStringStream.<init>:(Ljava/lang/String;)V
            astore 6 /* is */
        start local 6 // org.antlr.runtime.ANTLRStringStream is
         1: .line 123
            aload 6 /* is */
            aload 1 /* srcName */
            ifnull 2
            aload 1 /* srcName */
            goto 3
      StackMap locals: org.stringtemplate.v4.compiler.Compiler java.lang.String java.lang.String java.util.List java.lang.String org.antlr.runtime.Token org.antlr.runtime.ANTLRStringStream
      StackMap stack: org.antlr.runtime.ANTLRStringStream
         2: aload 2 /* name */
      StackMap locals: org.stringtemplate.v4.compiler.Compiler java.lang.String java.lang.String java.util.List java.lang.String org.antlr.runtime.Token org.antlr.runtime.ANTLRStringStream
      StackMap stack: org.antlr.runtime.ANTLRStringStream java.lang.String
         3: putfield org.antlr.runtime.ANTLRStringStream.name:Ljava/lang/String;
         4: .line 125
            aload 5 /* templateToken */
            ifnull 10
         5: .line 126
            aload 5 /* templateToken */
            invokeinterface org.antlr.runtime.Token.getType:()I
            bipush 6
            if_icmpne 10
         6: .line 128
            new org.stringtemplate.v4.compiler.Compiler$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            aload 6 /* is */
            aload 5 /* templateToken */
         7: .line 129
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.delimiterStartChar:C
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.delimiterStopChar:C
         8: .line 128
            invokespecial org.stringtemplate.v4.compiler.Compiler$1.<init>:(Lorg/stringtemplate/v4/compiler/Compiler;Lorg/stringtemplate/v4/misc/ErrorManager;Lorg/antlr/runtime/CharStream;Lorg/antlr/runtime/Token;CC)V
            astore 7 /* lexer */
        start local 7 // org.stringtemplate.v4.compiler.STLexer lexer
         9: .line 142
            goto 13
        end local 7 // org.stringtemplate.v4.compiler.STLexer lexer
        10: .line 144
      StackMap locals:
      StackMap stack:
            new org.stringtemplate.v4.compiler.STLexer
            dup
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            aload 6 /* is */
            aload 5 /* templateToken */
        11: .line 145
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.delimiterStartChar:C
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.delimiterStopChar:C
        12: .line 144
            invokespecial org.stringtemplate.v4.compiler.STLexer.<init>:(Lorg/stringtemplate/v4/misc/ErrorManager;Lorg/antlr/runtime/CharStream;Lorg/antlr/runtime/Token;CC)V
            astore 7 /* lexer */
        start local 7 // org.stringtemplate.v4.compiler.STLexer lexer
        13: .line 147
      StackMap locals: org.stringtemplate.v4.compiler.STLexer
      StackMap stack:
            new org.antlr.runtime.CommonTokenStream
            dup
            aload 7 /* lexer */
            invokespecial org.antlr.runtime.CommonTokenStream.<init>:(Lorg/antlr/runtime/TokenSource;)V
            astore 8 /* tokens */
        start local 8 // org.antlr.runtime.CommonTokenStream tokens
        14: .line 148
            new org.stringtemplate.v4.compiler.STParser
            dup
            aload 8 /* tokens */
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            aload 5 /* templateToken */
            invokespecial org.stringtemplate.v4.compiler.STParser.<init>:(Lorg/antlr/runtime/TokenStream;Lorg/stringtemplate/v4/misc/ErrorManager;Lorg/antlr/runtime/Token;)V
            astore 9 /* p */
        start local 9 // org.stringtemplate.v4.compiler.STParser p
        15: .line 151
            aload 9 /* p */
            invokevirtual org.stringtemplate.v4.compiler.STParser.templateAndEOF:()Lorg/stringtemplate/v4/compiler/STParser$templateAndEOF_return;
            astore 10 /* r */
        start local 10 // org.stringtemplate.v4.compiler.STParser$templateAndEOF_return r
        16: .line 152
            goto 20
        end local 10 // org.stringtemplate.v4.compiler.STParser$templateAndEOF_return r
        17: .line 153
      StackMap locals: org.stringtemplate.v4.compiler.Compiler java.lang.String java.lang.String java.util.List java.lang.String org.antlr.runtime.Token org.antlr.runtime.ANTLRStringStream org.stringtemplate.v4.compiler.STLexer org.antlr.runtime.CommonTokenStream org.stringtemplate.v4.compiler.STParser
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 11 /* re */
        start local 11 // org.antlr.runtime.RecognitionException re
        18: .line 154
            aload 0 /* this */
            aload 8 /* tokens */
            aload 5 /* templateToken */
            aload 9 /* p */
            aload 11 /* re */
            invokevirtual org.stringtemplate.v4.compiler.Compiler.reportMessageAndThrowSTException:(Lorg/antlr/runtime/TokenStream;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Parser;Lorg/antlr/runtime/RecognitionException;)V
        19: .line 155
            aconst_null
            areturn
        end local 11 // org.antlr.runtime.RecognitionException re
        start local 10 // org.stringtemplate.v4.compiler.STParser$templateAndEOF_return r
        20: .line 157
      StackMap locals: org.stringtemplate.v4.compiler.STParser$templateAndEOF_return
      StackMap stack:
            aload 9 /* p */
            invokevirtual org.stringtemplate.v4.compiler.STParser.getNumberOfSyntaxErrors:()I
            ifgt 21
            aload 10 /* r */
            invokevirtual org.stringtemplate.v4.compiler.STParser$templateAndEOF_return.getTree:()Lorg/antlr/runtime/tree/CommonTree;
            ifnonnull 24
        21: .line 158
      StackMap locals:
      StackMap stack:
            new org.stringtemplate.v4.compiler.CompiledST
            dup
            invokespecial org.stringtemplate.v4.compiler.CompiledST.<init>:()V
            astore 11 /* impl */
        start local 11 // org.stringtemplate.v4.compiler.CompiledST impl
        22: .line 159
            aload 11 /* impl */
            aload 3 /* args */
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.defineFormalArgs:(Ljava/util/List;)V
        23: .line 160
            aload 11 /* impl */
            areturn
        end local 11 // org.stringtemplate.v4.compiler.CompiledST impl
        24: .line 164
      StackMap locals:
      StackMap stack:
            new org.antlr.runtime.tree.CommonTreeNodeStream
            dup
            aload 10 /* r */
            invokevirtual org.stringtemplate.v4.compiler.STParser$templateAndEOF_return.getTree:()Lorg/antlr/runtime/tree/CommonTree;
            invokespecial org.antlr.runtime.tree.CommonTreeNodeStream.<init>:(Ljava/lang/Object;)V
            astore 11 /* nodes */
        start local 11 // org.antlr.runtime.tree.CommonTreeNodeStream nodes
        25: .line 165
            aload 11 /* nodes */
            aload 8 /* tokens */
            invokevirtual org.antlr.runtime.tree.CommonTreeNodeStream.setTokenStream:(Lorg/antlr/runtime/TokenStream;)V
        26: .line 166
            new org.stringtemplate.v4.compiler.CodeGenerator
            dup
            aload 11 /* nodes */
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            aload 2 /* name */
            aload 4 /* template */
            aload 5 /* templateToken */
            invokespecial org.stringtemplate.v4.compiler.CodeGenerator.<init>:(Lorg/antlr/runtime/tree/TreeNodeStream;Lorg/stringtemplate/v4/misc/ErrorManager;Ljava/lang/String;Ljava/lang/String;Lorg/antlr/runtime/Token;)V
            astore 12 /* gen */
        start local 12 // org.stringtemplate.v4.compiler.CodeGenerator gen
        27: .line 168
            aconst_null
            astore 13 /* impl */
        start local 13 // org.stringtemplate.v4.compiler.CompiledST impl
        28: .line 170
            aload 12 /* gen */
            aload 2 /* name */
            aload 3 /* args */
            invokevirtual org.stringtemplate.v4.compiler.CodeGenerator.template:(Ljava/lang/String;Ljava/util/List;)Lorg/stringtemplate/v4/compiler/CompiledST;
            astore 13 /* impl */
        29: .line 171
            aload 13 /* impl */
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            putfield org.stringtemplate.v4.compiler.CompiledST.nativeGroup:Lorg/stringtemplate/v4/STGroup;
        30: .line 172
            aload 13 /* impl */
            aload 4 /* template */
            putfield org.stringtemplate.v4.compiler.CompiledST.template:Ljava/lang/String;
        31: .line 173
            aload 13 /* impl */
            aload 10 /* r */
            invokevirtual org.stringtemplate.v4.compiler.STParser$templateAndEOF_return.getTree:()Lorg/antlr/runtime/tree/CommonTree;
            putfield org.stringtemplate.v4.compiler.CompiledST.ast:Lorg/antlr/runtime/tree/CommonTree;
        32: .line 174
            aload 13 /* impl */
            getfield org.stringtemplate.v4.compiler.CompiledST.ast:Lorg/antlr/runtime/tree/CommonTree;
            invokevirtual org.antlr.runtime.tree.CommonTree.setUnknownTokenBoundaries:()V
        33: .line 175
            aload 13 /* impl */
            aload 8 /* tokens */
            putfield org.stringtemplate.v4.compiler.CompiledST.tokens:Lorg/antlr/runtime/TokenStream;
        34: .line 176
            goto 37
        35: .line 177
      StackMap locals: org.stringtemplate.v4.compiler.Compiler java.lang.String java.lang.String java.util.List java.lang.String org.antlr.runtime.Token org.antlr.runtime.ANTLRStringStream org.stringtemplate.v4.compiler.STLexer org.antlr.runtime.CommonTokenStream org.stringtemplate.v4.compiler.STParser org.stringtemplate.v4.compiler.STParser$templateAndEOF_return org.antlr.runtime.tree.CommonTreeNodeStream org.stringtemplate.v4.compiler.CodeGenerator org.stringtemplate.v4.compiler.CompiledST
      StackMap stack: org.antlr.runtime.RecognitionException
            astore 14 /* re */
        start local 14 // org.antlr.runtime.RecognitionException re
        36: .line 178
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            aconst_null
            ldc "bad tree structure"
            aload 14 /* re */
            invokevirtual org.stringtemplate.v4.misc.ErrorManager.internalError:(Lorg/stringtemplate/v4/ST;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 14 // org.antlr.runtime.RecognitionException re
        37: .line 181
      StackMap locals:
      StackMap stack:
            aload 13 /* impl */
            areturn
        end local 13 // org.stringtemplate.v4.compiler.CompiledST impl
        end local 12 // org.stringtemplate.v4.compiler.CodeGenerator gen
        end local 11 // org.antlr.runtime.tree.CommonTreeNodeStream nodes
        end local 10 // org.stringtemplate.v4.compiler.STParser$templateAndEOF_return r
        end local 9 // org.stringtemplate.v4.compiler.STParser p
        end local 8 // org.antlr.runtime.CommonTokenStream tokens
        end local 7 // org.stringtemplate.v4.compiler.STLexer lexer
        end local 6 // org.antlr.runtime.ANTLRStringStream is
        end local 5 // org.antlr.runtime.Token templateToken
        end local 4 // java.lang.String template
        end local 3 // java.util.List args
        end local 2 // java.lang.String name
        end local 1 // java.lang.String srcName
        end local 0 // org.stringtemplate.v4.compiler.Compiler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Lorg/stringtemplate/v4/compiler/Compiler;
            0   38     1        srcName  Ljava/lang/String;
            0   38     2           name  Ljava/lang/String;
            0   38     3           args  Ljava/util/List<Lorg/stringtemplate/v4/compiler/FormalArgument;>;
            0   38     4       template  Ljava/lang/String;
            0   38     5  templateToken  Lorg/antlr/runtime/Token;
            1   38     6             is  Lorg/antlr/runtime/ANTLRStringStream;
            9   10     7          lexer  Lorg/stringtemplate/v4/compiler/STLexer;
           13   38     7          lexer  Lorg/stringtemplate/v4/compiler/STLexer;
           14   38     8         tokens  Lorg/antlr/runtime/CommonTokenStream;
           15   38     9              p  Lorg/stringtemplate/v4/compiler/STParser;
           16   17    10              r  Lorg/stringtemplate/v4/compiler/STParser$templateAndEOF_return;
           20   38    10              r  Lorg/stringtemplate/v4/compiler/STParser$templateAndEOF_return;
           18   20    11             re  Lorg/antlr/runtime/RecognitionException;
           22   24    11           impl  Lorg/stringtemplate/v4/compiler/CompiledST;
           25   38    11          nodes  Lorg/antlr/runtime/tree/CommonTreeNodeStream;
           27   38    12            gen  Lorg/stringtemplate/v4/compiler/CodeGenerator;
           28   38    13           impl  Lorg/stringtemplate/v4/compiler/CompiledST;
           36   37    14             re  Lorg/antlr/runtime/RecognitionException;
      Exception table:
        from    to  target  type
          15    16      17  Class org.antlr.runtime.RecognitionException
          28    34      35  Class org.antlr.runtime.RecognitionException
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Lorg/stringtemplate/v4/compiler/FormalArgument;>;Ljava/lang/String;Lorg/antlr/runtime/Token;)Lorg/stringtemplate/v4/compiler/CompiledST;
    MethodParameters:
               Name  Flags
      srcName        
      name           
      args           
      template       
      templateToken  

  public static org.stringtemplate.v4.compiler.CompiledST defineBlankRegion(org.stringtemplate.v4.compiler.CompiledST, org.antlr.runtime.Token);
    descriptor: (Lorg/stringtemplate/v4/compiler/CompiledST;Lorg/antlr/runtime/Token;)Lorg/stringtemplate/v4/compiler/CompiledST;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.stringtemplate.v4.compiler.CompiledST outermostImpl
        start local 1 // org.antlr.runtime.Token nameToken
         0: .line 185
            aload 0 /* outermostImpl */
            getfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
            astore 2 /* outermostTemplateName */
        start local 2 // java.lang.String outermostTemplateName
         1: .line 186
            aload 2 /* outermostTemplateName */
            aload 1 /* nameToken */
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            invokestatic org.stringtemplate.v4.STGroup.getMangledRegionName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* mangled */
        start local 3 // java.lang.String mangled
         2: .line 187
            new org.stringtemplate.v4.compiler.CompiledST
            dup
            invokespecial org.stringtemplate.v4.compiler.CompiledST.<init>:()V
            astore 4 /* blank */
        start local 4 // org.stringtemplate.v4.compiler.CompiledST blank
         3: .line 188
            aload 4 /* blank */
            iconst_1
            putfield org.stringtemplate.v4.compiler.CompiledST.isRegion:Z
         4: .line 189
            aload 4 /* blank */
            aload 1 /* nameToken */
            putfield org.stringtemplate.v4.compiler.CompiledST.templateDefStartToken:Lorg/antlr/runtime/Token;
         5: .line 190
            aload 4 /* blank */
            getstatic org.stringtemplate.v4.ST$RegionType.IMPLICIT:Lorg/stringtemplate/v4/ST$RegionType;
            putfield org.stringtemplate.v4.compiler.CompiledST.regionDefType:Lorg/stringtemplate/v4/ST$RegionType;
         6: .line 191
            aload 4 /* blank */
            aload 3 /* mangled */
            putfield org.stringtemplate.v4.compiler.CompiledST.name:Ljava/lang/String;
         7: .line 192
            aload 0 /* outermostImpl */
            aload 4 /* blank */
            invokevirtual org.stringtemplate.v4.compiler.CompiledST.addImplicitlyDefinedTemplate:(Lorg/stringtemplate/v4/compiler/CompiledST;)V
         8: .line 193
            aload 4 /* blank */
            areturn
        end local 4 // org.stringtemplate.v4.compiler.CompiledST blank
        end local 3 // java.lang.String mangled
        end local 2 // java.lang.String outermostTemplateName
        end local 1 // org.antlr.runtime.Token nameToken
        end local 0 // org.stringtemplate.v4.compiler.CompiledST outermostImpl
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0          outermostImpl  Lorg/stringtemplate/v4/compiler/CompiledST;
            0    9     1              nameToken  Lorg/antlr/runtime/Token;
            1    9     2  outermostTemplateName  Ljava/lang/String;
            2    9     3                mangled  Ljava/lang/String;
            3    9     4                  blank  Lorg/stringtemplate/v4/compiler/CompiledST;
    MethodParameters:
               Name  Flags
      outermostImpl  
      nameToken      

  public static java.lang.String getNewSubtemplateName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 197
            getstatic org.stringtemplate.v4.compiler.Compiler.subtemplateCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            istore 0 /* count */
        start local 0 // int count
         1: .line 198
            new java.lang.StringBuilder
            dup
            ldc "_sub"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int count
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    2     0  count  I

  protected void reportMessageAndThrowSTException(org.antlr.runtime.TokenStream, org.antlr.runtime.Token, org.antlr.runtime.Parser, org.antlr.runtime.RecognitionException);
    descriptor: (Lorg/antlr/runtime/TokenStream;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Parser;Lorg/antlr/runtime/RecognitionException;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.stringtemplate.v4.compiler.Compiler this
        start local 1 // org.antlr.runtime.TokenStream tokens
        start local 2 // org.antlr.runtime.Token templateToken
        start local 3 // org.antlr.runtime.Parser parser
        start local 4 // org.antlr.runtime.RecognitionException re
         0: .line 204
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getType:()I
            iconst_m1
            if_icmpne 4
         1: .line 205
            ldc "premature EOF"
            astore 5 /* msg */
        start local 5 // java.lang.String msg
         2: .line 206
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            getstatic org.stringtemplate.v4.misc.ErrorType.SYNTAX_ERROR:Lorg/stringtemplate/v4/misc/ErrorType;
            aload 2 /* templateToken */
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            aload 5 /* msg */
            invokevirtual org.stringtemplate.v4.misc.ErrorManager.compileTimeError:(Lorg/stringtemplate/v4/misc/ErrorType;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        end local 5 // java.lang.String msg
         3: .line 207
            goto 18
         4: .line 208
      StackMap locals:
      StackMap stack:
            aload 4 /* re */
            instanceof org.antlr.runtime.NoViableAltException
            ifeq 8
         5: .line 209
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            invokeinterface org.antlr.runtime.Token.getText:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' came as a complete surprise to me"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
         6: .line 210
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            getstatic org.stringtemplate.v4.misc.ErrorType.SYNTAX_ERROR:Lorg/stringtemplate/v4/misc/ErrorType;
            aload 2 /* templateToken */
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            aload 5 /* msg */
            invokevirtual org.stringtemplate.v4.misc.ErrorManager.compileTimeError:(Lorg/stringtemplate/v4/misc/ErrorType;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        end local 5 // java.lang.String msg
         7: .line 211
            goto 18
         8: .line 212
      StackMap locals:
      StackMap stack:
            aload 1 /* tokens */
            invokeinterface org.antlr.runtime.TokenStream.index:()I
            ifne 12
         9: .line 213
            new java.lang.StringBuilder
            dup
            ldc "this doesn't look like a template: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* tokens */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        10: .line 214
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            getstatic org.stringtemplate.v4.misc.ErrorType.SYNTAX_ERROR:Lorg/stringtemplate/v4/misc/ErrorType;
            aload 2 /* templateToken */
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            aload 5 /* msg */
            invokevirtual org.stringtemplate.v4.misc.ErrorManager.compileTimeError:(Lorg/stringtemplate/v4/misc/ErrorType;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        end local 5 // java.lang.String msg
        11: .line 215
            goto 18
        12: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* tokens */
            iconst_1
            invokeinterface org.antlr.runtime.TokenStream.LA:(I)I
            bipush 23
            if_icmpne 16
        13: .line 217
            ldc "doesn't look like an expression"
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        14: .line 218
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            getstatic org.stringtemplate.v4.misc.ErrorType.SYNTAX_ERROR:Lorg/stringtemplate/v4/misc/ErrorType;
            aload 2 /* templateToken */
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            aload 5 /* msg */
            invokevirtual org.stringtemplate.v4.misc.ErrorManager.compileTimeError:(Lorg/stringtemplate/v4/misc/ErrorType;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        end local 5 // java.lang.String msg
        15: .line 219
            goto 18
        16: .line 221
      StackMap locals:
      StackMap stack:
            aload 3 /* parser */
            aload 4 /* re */
            aload 3 /* parser */
            invokevirtual org.antlr.runtime.Parser.getTokenNames:()[Ljava/lang/String;
            invokevirtual org.antlr.runtime.Parser.getErrorMessage:(Lorg/antlr/runtime/RecognitionException;[Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
        17: .line 222
            aload 0 /* this */
            getfield org.stringtemplate.v4.compiler.Compiler.group:Lorg/stringtemplate/v4/STGroup;
            getfield org.stringtemplate.v4.STGroup.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
            getstatic org.stringtemplate.v4.misc.ErrorType.SYNTAX_ERROR:Lorg/stringtemplate/v4/misc/ErrorType;
            aload 2 /* templateToken */
            aload 4 /* re */
            getfield org.antlr.runtime.RecognitionException.token:Lorg/antlr/runtime/Token;
            aload 5 /* msg */
            invokevirtual org.stringtemplate.v4.misc.ErrorManager.compileTimeError:(Lorg/stringtemplate/v4/misc/ErrorType;Lorg/antlr/runtime/Token;Lorg/antlr/runtime/Token;Ljava/lang/Object;)V
        end local 5 // java.lang.String msg
        18: .line 224
      StackMap locals:
      StackMap stack:
            new org.stringtemplate.v4.compiler.STException
            dup
            invokespecial org.stringtemplate.v4.compiler.STException.<init>:()V
            athrow
        end local 4 // org.antlr.runtime.RecognitionException re
        end local 3 // org.antlr.runtime.Parser parser
        end local 2 // org.antlr.runtime.Token templateToken
        end local 1 // org.antlr.runtime.TokenStream tokens
        end local 0 // org.stringtemplate.v4.compiler.Compiler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/stringtemplate/v4/compiler/Compiler;
            0   19     1         tokens  Lorg/antlr/runtime/TokenStream;
            0   19     2  templateToken  Lorg/antlr/runtime/Token;
            0   19     3         parser  Lorg/antlr/runtime/Parser;
            0   19     4             re  Lorg/antlr/runtime/RecognitionException;
            2    3     5            msg  Ljava/lang/String;
            6    7     5            msg  Ljava/lang/String;
           10   11     5            msg  Ljava/lang/String;
           14   15     5            msg  Ljava/lang/String;
           17   18     5            msg  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      tokens         
      templateToken  
      parser         
      re             
}
SourceFile: "Compiler.java"
NestMembers:
  org.stringtemplate.v4.compiler.Compiler$1
InnerClasses:
  public final Option = org.stringtemplate.v4.Interpreter$Option of org.stringtemplate.v4.Interpreter
  public final RegionType = org.stringtemplate.v4.ST$RegionType of org.stringtemplate.v4.ST
  org.stringtemplate.v4.compiler.Compiler$1
  public templateAndEOF_return = org.stringtemplate.v4.compiler.STParser$templateAndEOF_return of org.stringtemplate.v4.compiler.STParser