public class freemarker.core.ParseException extends java.io.IOException implements freemarker.core.FMParserConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.core.ParseException
  super_class: java.io.IOException
{
  public freemarker.core.Token currentToken;
    descriptor: Lfreemarker/core/Token;
    flags: (0x0001) ACC_PUBLIC

  private static volatile java.lang.Boolean jbossToolsMode;
    descriptor: Ljava/lang/Boolean;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

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

  private java.lang.String message;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  public int[][] expectedTokenSequences;
    descriptor: [[I
    flags: (0x0001) ACC_PUBLIC

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

  protected java.lang.String eol;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected boolean specialConstructor;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private java.lang.String templateName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(freemarker.core.Token, int[][], java.lang.String[]);
    descriptor: (Lfreemarker/core/Token;[[I[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // freemarker.core.ParseException this
        start local 1 // freemarker.core.Token currentTokenVal
        start local 2 // int[][] expectedTokenSequencesVal
        start local 3 // java.lang.String[] tokenImageVal
         0: .line 102
            aload 0 /* this */
            ldc ""
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
         1: .line 80
            aload 0 /* this */
            ldc "line.separator"
            ldc "\n"
            invokestatic freemarker.template.utility.SecurityUtilities.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield freemarker.core.ParseException.eol:Ljava/lang/String;
         2: .line 103
            aload 0 /* this */
            aload 1 /* currentTokenVal */
            putfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
         3: .line 104
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.ParseException.specialConstructor:Z
         4: .line 105
            aload 0 /* this */
            aload 2 /* expectedTokenSequencesVal */
            putfield freemarker.core.ParseException.expectedTokenSequences:[[I
         5: .line 106
            aload 0 /* this */
            aload 3 /* tokenImageVal */
            putfield freemarker.core.ParseException.tokenImage:[Ljava/lang/String;
         6: .line 107
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            getfield freemarker.core.Token.beginLine:I
            putfield freemarker.core.ParseException.lineNumber:I
         7: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            getfield freemarker.core.Token.beginColumn:I
            putfield freemarker.core.ParseException.columnNumber:I
         8: .line 109
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            getfield freemarker.core.Token.endLine:I
            putfield freemarker.core.ParseException.endLineNumber:I
         9: .line 110
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            getfield freemarker.core.Token.endColumn:I
            putfield freemarker.core.ParseException.endColumnNumber:I
        10: .line 111
            return
        end local 3 // java.lang.String[] tokenImageVal
        end local 2 // int[][] expectedTokenSequencesVal
        end local 1 // freemarker.core.Token currentTokenVal
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   11     0                       this  Lfreemarker/core/ParseException;
            0   11     1            currentTokenVal  Lfreemarker/core/Token;
            0   11     2  expectedTokenSequencesVal  [[I
            0   11     3              tokenImageVal  [Ljava/lang/String;
    MethodParameters:
                           Name  Flags
      currentTokenVal            
      expectedTokenSequencesVal  
      tokenImageVal              

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 126
            aload 0 /* this */
            invokespecial java.io.IOException.<init>:()V
         1: .line 80
            aload 0 /* this */
            ldc "line.separator"
            ldc "\n"
            invokestatic freemarker.template.utility.SecurityUtilities.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield freemarker.core.ParseException.eol:Ljava/lang/String;
         2: .line 127
            return
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/ParseException;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // int lineNumber
        start local 3 // int columnNumber
         0: .line 134
            aload 0 /* this */
            aload 1 /* description */
            aconst_null
            iload 2 /* lineNumber */
            iload 3 /* columnNumber */
            aconst_null
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Lfreemarker/template/Template;IILjava/lang/Throwable;)V
         1: .line 135
            return
        end local 3 // int columnNumber
        end local 2 // int lineNumber
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lfreemarker/core/ParseException;
            0    2     1   description  Ljava/lang/String;
            0    2     2    lineNumber  I
            0    2     3  columnNumber  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      description   
      lineNumber    
      columnNumber  

  public void <init>(java.lang.String, freemarker.template.Template, int, int, int, int);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.template.Template template
        start local 3 // int lineNumber
        start local 4 // int columnNumber
        start local 5 // int endLineNumber
        start local 6 // int endColumnNumber
         0: .line 142
            aload 0 /* this */
            aload 1 /* description */
            aload 2 /* template */
            iload 3 /* lineNumber */
            iload 4 /* columnNumber */
            iload 5 /* endLineNumber */
            iload 6 /* endColumnNumber */
            aconst_null
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Lfreemarker/template/Template;IIIILjava/lang/Throwable;)V
         1: .line 143
            return
        end local 6 // int endColumnNumber
        end local 5 // int endLineNumber
        end local 4 // int columnNumber
        end local 3 // int lineNumber
        end local 2 // freemarker.template.Template template
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lfreemarker/core/ParseException;
            0    2     1      description  Ljava/lang/String;
            0    2     2         template  Lfreemarker/template/Template;
            0    2     3       lineNumber  I
            0    2     4     columnNumber  I
            0    2     5    endLineNumber  I
            0    2     6  endColumnNumber  I
    MethodParameters:
                 Name  Flags
      description      
      template         
      lineNumber       
      columnNumber     
      endLineNumber    
      endColumnNumber  

  public void <init>(java.lang.String, freemarker.template.Template, int, int, int, int, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;IIIILjava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=8
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.template.Template template
        start local 3 // int lineNumber
        start local 4 // int columnNumber
        start local 5 // int endLineNumber
        start local 6 // int endColumnNumber
        start local 7 // java.lang.Throwable cause
         0: .line 151
            aload 0 /* this */
            aload 1 /* description */
         1: .line 152
            aload 2 /* template */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: uninitialized-this java.lang.String freemarker.template.Template int int int int java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String
         2: aload 2 /* template */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
         3: .line 153
      StackMap locals: uninitialized-this java.lang.String freemarker.template.Template int int int int java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String java.lang.String
            iload 3 /* lineNumber */
            iload 4 /* columnNumber */
         4: .line 154
            iload 5 /* endLineNumber */
            iload 6 /* endColumnNumber */
         5: .line 155
            aload 7 /* cause */
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/Throwable;)V
         6: .line 156
            return
        end local 7 // java.lang.Throwable cause
        end local 6 // int endColumnNumber
        end local 5 // int endLineNumber
        end local 4 // int columnNumber
        end local 3 // int lineNumber
        end local 2 // freemarker.template.Template template
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lfreemarker/core/ParseException;
            0    7     1      description  Ljava/lang/String;
            0    7     2         template  Lfreemarker/template/Template;
            0    7     3       lineNumber  I
            0    7     4     columnNumber  I
            0    7     5    endLineNumber  I
            0    7     6  endColumnNumber  I
            0    7     7            cause  Ljava/lang/Throwable;
    MethodParameters:
                 Name  Flags
      description      
      template         
      lineNumber       
      columnNumber     
      endLineNumber    
      endColumnNumber  
      cause            

  public void <init>(java.lang.String, freemarker.template.Template, int, int);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.template.Template template
        start local 3 // int lineNumber
        start local 4 // int columnNumber
         0: .line 165
            aload 0 /* this */
            aload 1 /* description */
            aload 2 /* template */
            iload 3 /* lineNumber */
            iload 4 /* columnNumber */
            aconst_null
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Lfreemarker/template/Template;IILjava/lang/Throwable;)V
         1: .line 166
            return
        end local 4 // int columnNumber
        end local 3 // int lineNumber
        end local 2 // freemarker.template.Template template
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lfreemarker/core/ParseException;
            0    2     1   description  Ljava/lang/String;
            0    2     2      template  Lfreemarker/template/Template;
            0    2     3    lineNumber  I
            0    2     4  columnNumber  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      description   
      template      
      lineNumber    
      columnNumber  

  public void <init>(java.lang.String, freemarker.template.Template, int, int, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;IILjava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.template.Template template
        start local 3 // int lineNumber
        start local 4 // int columnNumber
        start local 5 // java.lang.Throwable cause
         0: .line 175
            aload 0 /* this */
            aload 1 /* description */
         1: .line 176
            aload 2 /* template */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: uninitialized-this java.lang.String freemarker.template.Template int int java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String
         2: aload 2 /* template */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
         3: .line 177
      StackMap locals: uninitialized-this java.lang.String freemarker.template.Template int int java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String java.lang.String
            iload 3 /* lineNumber */
            iload 4 /* columnNumber */
         4: .line 178
            iconst_0
            iconst_0
         5: .line 179
            aload 5 /* cause */
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/Throwable;)V
         6: .line 180
            return
        end local 5 // java.lang.Throwable cause
        end local 4 // int columnNumber
        end local 3 // int lineNumber
        end local 2 // freemarker.template.Template template
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lfreemarker/core/ParseException;
            0    7     1   description  Ljava/lang/String;
            0    7     2      template  Lfreemarker/template/Template;
            0    7     3    lineNumber  I
            0    7     4  columnNumber  I
            0    7     5         cause  Ljava/lang/Throwable;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      description   
      template      
      lineNumber    
      columnNumber  
      cause         

  public void <init>(java.lang.String, freemarker.template.Template, freemarker.core.Token);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;Lfreemarker/core/Token;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.template.Template template
        start local 3 // freemarker.core.Token tk
         0: .line 186
            aload 0 /* this */
            aload 1 /* description */
            aload 2 /* template */
            aload 3 /* tk */
            aconst_null
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Lfreemarker/template/Template;Lfreemarker/core/Token;Ljava/lang/Throwable;)V
         1: .line 187
            return
        end local 3 // freemarker.core.Token tk
        end local 2 // freemarker.template.Template template
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lfreemarker/core/ParseException;
            0    2     1  description  Ljava/lang/String;
            0    2     2     template  Lfreemarker/template/Template;
            0    2     3           tk  Lfreemarker/core/Token;
    MethodParameters:
             Name  Flags
      description  
      template     
      tk           

  public void <init>(java.lang.String, freemarker.template.Template, freemarker.core.Token, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lfreemarker/template/Template;Lfreemarker/core/Token;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.template.Template template
        start local 3 // freemarker.core.Token tk
        start local 4 // java.lang.Throwable cause
         0: .line 193
            aload 0 /* this */
            aload 1 /* description */
         1: .line 194
            aload 2 /* template */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: uninitialized-this java.lang.String freemarker.template.Template freemarker.core.Token java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String
         2: aload 2 /* template */
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
         3: .line 195
      StackMap locals: uninitialized-this java.lang.String freemarker.template.Template freemarker.core.Token java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String java.lang.String
            aload 3 /* tk */
            getfield freemarker.core.Token.beginLine:I
            aload 3 /* tk */
            getfield freemarker.core.Token.beginColumn:I
         4: .line 196
            aload 3 /* tk */
            getfield freemarker.core.Token.endLine:I
            aload 3 /* tk */
            getfield freemarker.core.Token.endColumn:I
         5: .line 197
            aload 4 /* cause */
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/Throwable;)V
         6: .line 198
            return
        end local 4 // java.lang.Throwable cause
        end local 3 // freemarker.core.Token tk
        end local 2 // freemarker.template.Template template
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lfreemarker/core/ParseException;
            0    7     1  description  Ljava/lang/String;
            0    7     2     template  Lfreemarker/template/Template;
            0    7     3           tk  Lfreemarker/core/Token;
            0    7     4        cause  Ljava/lang/Throwable;
    MethodParameters:
             Name  Flags
      description  
      template     
      tk           
      cause        

  public void <init>(java.lang.String, freemarker.core.TemplateObject);
    descriptor: (Ljava/lang/String;Lfreemarker/core/TemplateObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.core.TemplateObject tobj
         0: .line 204
            aload 0 /* this */
            aload 1 /* description */
            aload 2 /* tobj */
            aconst_null
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Lfreemarker/core/TemplateObject;Ljava/lang/Throwable;)V
         1: .line 205
            return
        end local 2 // freemarker.core.TemplateObject tobj
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lfreemarker/core/ParseException;
            0    2     1  description  Ljava/lang/String;
            0    2     2         tobj  Lfreemarker/core/TemplateObject;
    MethodParameters:
             Name  Flags
      description  
      tobj         

  public void <init>(java.lang.String, freemarker.core.TemplateObject, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Lfreemarker/core/TemplateObject;Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // freemarker.core.TemplateObject tobj
        start local 3 // java.lang.Throwable cause
         0: .line 211
            aload 0 /* this */
            aload 1 /* description */
         1: .line 212
            aload 2 /* tobj */
            invokevirtual freemarker.core.TemplateObject.getTemplate:()Lfreemarker/template/Template;
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: uninitialized-this java.lang.String freemarker.core.TemplateObject java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String
         2: aload 2 /* tobj */
            invokevirtual freemarker.core.TemplateObject.getTemplate:()Lfreemarker/template/Template;
            invokevirtual freemarker.template.Template.getSourceName:()Ljava/lang/String;
         3: .line 213
      StackMap locals: uninitialized-this java.lang.String freemarker.core.TemplateObject java.lang.Throwable
      StackMap stack: uninitialized-this java.lang.String java.lang.String
            aload 2 /* tobj */
            getfield freemarker.core.TemplateObject.beginLine:I
            aload 2 /* tobj */
            getfield freemarker.core.TemplateObject.beginColumn:I
         4: .line 214
            aload 2 /* tobj */
            getfield freemarker.core.TemplateObject.endLine:I
            aload 2 /* tobj */
            getfield freemarker.core.TemplateObject.endColumn:I
         5: .line 215
            aload 3 /* cause */
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/Throwable;)V
         6: .line 216
            return
        end local 3 // java.lang.Throwable cause
        end local 2 // freemarker.core.TemplateObject tobj
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lfreemarker/core/ParseException;
            0    7     1  description  Ljava/lang/String;
            0    7     2         tobj  Lfreemarker/core/TemplateObject;
            0    7     3        cause  Ljava/lang/Throwable;
    MethodParameters:
             Name  Flags
      description  
      tobj         
      cause        

  private void <init>(java.lang.String, java.lang.String, int, int, int, int, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=8
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String description
        start local 2 // java.lang.String templateName
        start local 3 // int lineNumber
        start local 4 // int columnNumber
        start local 5 // int endLineNumber
        start local 6 // int endColumnNumber
        start local 7 // java.lang.Throwable cause
         0: .line 222
            aload 0 /* this */
            aload 1 /* description */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
         1: .line 80
            aload 0 /* this */
            ldc "line.separator"
            ldc "\n"
            invokestatic freemarker.template.utility.SecurityUtilities.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield freemarker.core.ParseException.eol:Ljava/lang/String;
         2: .line 224
            aload 0 /* this */
            aload 7 /* cause */
            invokevirtual freemarker.core.ParseException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         3: .line 225
            goto 5
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.String int int int int java.lang.Throwable
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* description */
            putfield freemarker.core.ParseException.description:Ljava/lang/String;
         6: .line 229
            aload 0 /* this */
            aload 2 /* templateName */
            putfield freemarker.core.ParseException.templateName:Ljava/lang/String;
         7: .line 230
            aload 0 /* this */
            iload 3 /* lineNumber */
            putfield freemarker.core.ParseException.lineNumber:I
         8: .line 231
            aload 0 /* this */
            iload 4 /* columnNumber */
            putfield freemarker.core.ParseException.columnNumber:I
         9: .line 232
            aload 0 /* this */
            iload 5 /* endLineNumber */
            putfield freemarker.core.ParseException.endLineNumber:I
        10: .line 233
            aload 0 /* this */
            iload 6 /* endColumnNumber */
            putfield freemarker.core.ParseException.endColumnNumber:I
        11: .line 234
            return
        end local 7 // java.lang.Throwable cause
        end local 6 // int endColumnNumber
        end local 5 // int endLineNumber
        end local 4 // int columnNumber
        end local 3 // int lineNumber
        end local 2 // java.lang.String templateName
        end local 1 // java.lang.String description
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lfreemarker/core/ParseException;
            0   12     1      description  Ljava/lang/String;
            0   12     2     templateName  Ljava/lang/String;
            0   12     3       lineNumber  I
            0   12     4     columnNumber  I
            0   12     5    endLineNumber  I
            0   12     6  endColumnNumber  I
            0   12     7            cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
    MethodParameters:
                 Name  Flags
      description      
      templateName     
      lineNumber       
      columnNumber     
      endLineNumber    
      endColumnNumber  
      cause            

  public void setTemplateName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String templateName
         0: .line 242
            aload 0 /* this */
            aload 1 /* templateName */
            putfield freemarker.core.ParseException.templateName:Ljava/lang/String;
         1: .line 243
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 244
            aload 0 /* this */
            iconst_0
            putfield freemarker.core.ParseException.messageAndDescriptionRendered:Z
         3: .line 245
            aload 0 /* this */
            aconst_null
            putfield freemarker.core.ParseException.message:Ljava/lang/String;
         4: .line 243
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: freemarker.core.ParseException java.lang.String freemarker.core.ParseException
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String templateName
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lfreemarker/core/ParseException;
            0    9     1  templateName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
    MethodParameters:
              Name  Flags
      templateName  

  public java.lang.String getMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 259
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 260
            aload 0 /* this */
            getfield freemarker.core.ParseException.messageAndDescriptionRendered:Z
            ifeq 3
            aload 0 /* this */
            getfield freemarker.core.ParseException.message:Ljava/lang/String;
            aload 1
            monitorexit
         2: areturn
         3: .line 259
      StackMap locals: freemarker.core.ParseException
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.ParseException.renderMessageAndDescription:()V
         8: .line 263
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         9: .line 264
            aload 0 /* this */
            getfield freemarker.core.ParseException.message:Ljava/lang/String;
            aload 1
            monitorexit
        10: areturn
        11: .line 263
      StackMap locals: freemarker.core.ParseException freemarker.core.ParseException
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        12: athrow
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lfreemarker/core/ParseException;
      Exception table:
        from    to  target  type
           1     2       5  any
           3     4       5  any
           5     6       5  any
           9    10      11  any
          11    12      11  any

  private java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 269
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 270
            aload 0 /* this */
            getfield freemarker.core.ParseException.messageAndDescriptionRendered:Z
            ifeq 3
            aload 0 /* this */
            getfield freemarker.core.ParseException.description:Ljava/lang/String;
            aload 1
            monitorexit
         2: areturn
         3: .line 269
      StackMap locals: freemarker.core.ParseException
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.ParseException.renderMessageAndDescription:()V
         8: .line 273
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         9: .line 274
            aload 0 /* this */
            getfield freemarker.core.ParseException.description:Ljava/lang/String;
            aload 1
            monitorexit
        10: areturn
        11: .line 273
      StackMap locals: freemarker.core.ParseException freemarker.core.ParseException
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        12: athrow
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lfreemarker/core/ParseException;
      Exception table:
        from    to  target  type
           1     2       5  any
           3     4       5  any
           5     6       5  any
           9    10      11  any
          11    12      11  any

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

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

  public int getLineNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 301
            aload 0 /* this */
            getfield freemarker.core.ParseException.lineNumber:I
            ireturn
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/ParseException;

  public int getColumnNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 308
            aload 0 /* this */
            getfield freemarker.core.ParseException.columnNumber:I
            ireturn
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/ParseException;

  public int getEndLineNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 317
            aload 0 /* this */
            getfield freemarker.core.ParseException.endLineNumber:I
            ireturn
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/ParseException;

  public int getEndColumnNumber();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 327
            aload 0 /* this */
            getfield freemarker.core.ParseException.endColumnNumber:I
            ireturn
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/ParseException;

  private void renderMessageAndDescription();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 331
            aload 0 /* this */
            invokevirtual freemarker.core.ParseException.getOrRenderDescription:()Ljava/lang/String;
            astore 1 /* desc */
        start local 1 // java.lang.String desc
         1: .line 334
            aload 0 /* this */
            invokevirtual freemarker.core.ParseException.isInJBossToolsMode:()Z
            ifne 7
         2: .line 335
            new java.lang.StringBuilder
            dup
            ldc "Syntax error "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 336
            aload 0 /* this */
            getfield freemarker.core.ParseException.templateName:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core.ParseException.lineNumber:I
            aload 0 /* this */
            getfield freemarker.core.ParseException.columnNumber:I
            invokestatic freemarker.core._MessageUtil.formatLocationForSimpleParsingError:(Ljava/lang/String;II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 337
            ldc ":\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 335
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* prefix */
        start local 2 // java.lang.String prefix
         6: .line 338
            goto 8
        end local 2 // java.lang.String prefix
         7: .line 339
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "[col. "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield freemarker.core.ParseException.columnNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* prefix */
        start local 2 // java.lang.String prefix
         8: .line 342
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         9: .line 343
            aload 3 /* msg */
            aload 2 /* prefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* desc */
        10: .line 345
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        11: .line 346
            aload 0 /* this */
            aload 3 /* msg */
            putfield freemarker.core.ParseException.message:Ljava/lang/String;
        12: .line 347
            aload 0 /* this */
            aload 1 /* desc */
            putfield freemarker.core.ParseException.description:Ljava/lang/String;
        13: .line 348
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.ParseException.messageAndDescriptionRendered:Z
        14: .line 345
            aload 4
            monitorexit
        15: goto 18
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.String java.lang.String freemarker.core.ParseException
      StackMap stack: java.lang.Throwable
        16: aload 4
            monitorexit
        17: athrow
        18: .line 350
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String msg
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.String desc
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lfreemarker/core/ParseException;
            1   19     1    desc  Ljava/lang/String;
            6    7     2  prefix  Ljava/lang/String;
            8   19     2  prefix  Ljava/lang/String;
            9   19     3     msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
          11    15      16  any
          16    17      16  any

  private boolean isInJBossToolsMode();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 353
            getstatic freemarker.core.ParseException.jbossToolsMode:Ljava/lang/Boolean;
            ifnonnull 11
         1: .line 356
            ldc Lfreemarker/core/ParseException;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         2: .line 357
            ldc "[org.jboss.ide.eclipse.freemarker:"
         3: .line 356
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
         4: .line 357
            iconst_m1
         5: .line 356
            if_icmpeq 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
         7: .line 355
      StackMap locals:
      StackMap stack: int
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putstatic freemarker.core.ParseException.jbossToolsMode:Ljava/lang/Boolean;
         8: .line 358
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: pop
        10: .line 359
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            putstatic freemarker.core.ParseException.jbossToolsMode:Ljava/lang/Boolean;
        11: .line 362
      StackMap locals:
      StackMap stack:
            getstatic freemarker.core.ParseException.jbossToolsMode:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lfreemarker/core/ParseException;
      Exception table:
        from    to  target  type
           1     8       9  Class java.lang.Throwable

  private java.lang.String getOrRenderDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 370
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 371
            aload 0 /* this */
            getfield freemarker.core.ParseException.description:Ljava/lang/String;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.ParseException.description:Ljava/lang/String;
            aload 1
            monitorexit
         2: areturn
         3: .line 370
      StackMap locals: freemarker.core.ParseException
      StackMap stack:
            aload 1
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            ifnull 46
         8: .line 376
            aload 0 /* this */
            invokevirtual freemarker.core.ParseException.getCustomTokenErrorDescription:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        start local 1 // java.lang.String tokenErrDesc
         9: .line 377
            aload 1 /* tokenErrDesc */
            ifnonnull 47
        10: .line 379
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* expected */
        start local 2 // java.lang.StringBuilder expected
        11: .line 380
            iconst_0
            istore 3 /* maxSize */
        start local 3 // int maxSize
        12: .line 381
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 26
        14: .line 382
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.StringBuilder int int
      StackMap stack:
            iload 4 /* i */
            ifeq 16
        15: .line 383
            aload 2 /* expected */
            aload 0 /* this */
            getfield freemarker.core.ParseException.eol:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 385
      StackMap locals:
      StackMap stack:
            aload 2 /* expected */
            ldc "    "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 386
            iload 3 /* maxSize */
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            iload 4 /* i */
            aaload
            arraylength
            if_icmpge 19
        18: .line 387
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            iload 4 /* i */
            aaload
            arraylength
            istore 3 /* maxSize */
        19: .line 389
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        20: goto 24
        21: .line 390
      StackMap locals: int
      StackMap stack:
            iload 5 /* j */
            ifeq 22
            aload 2 /* expected */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 391
      StackMap locals:
      StackMap stack:
            aload 2 /* expected */
            aload 0 /* this */
            getfield freemarker.core.ParseException.tokenImage:[Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            iload 4 /* i */
            aaload
            iload 5 /* j */
            iaload
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 389
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 5 /* j */
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            iload 4 /* i */
            aaload
            arraylength
            if_icmplt 21
        end local 5 // int j
        25: .line 381
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 4 /* i */
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            arraylength
            if_icmplt 14
        end local 4 // int i
        27: .line 394
            ldc "Encountered \""
            astore 1 /* tokenErrDesc */
        28: .line 395
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            astore 4 /* tok */
        start local 4 // freemarker.core.Token tok
        29: .line 396
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        30: goto 38
        31: .line 397
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.StringBuilder int freemarker.core.Token int
      StackMap stack:
            iload 5 /* i */
            ifeq 32
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            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;
            astore 1 /* tokenErrDesc */
        32: .line 398
      StackMap locals:
      StackMap stack:
            aload 4 /* tok */
            getfield freemarker.core.Token.kind:I
            ifne 35
        33: .line 399
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield freemarker.core.ParseException.tokenImage:[Ljava/lang/String;
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        34: .line 400
            goto 39
        35: .line 402
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 4 /* tok */
            getfield freemarker.core.Token.image:Ljava/lang/String;
            invokevirtual freemarker.core.ParseException.add_escapes:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        36: .line 403
            aload 4 /* tok */
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            astore 4 /* tok */
        37: .line 396
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 5 /* i */
            iload 3 /* maxSize */
            if_icmplt 31
        end local 5 // int i
        39: .line 405
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\", but "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        40: .line 407
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            arraylength
            iconst_1
            if_icmpne 43
        41: .line 408
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "was expecting:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield freemarker.core.ParseException.eol:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        42: .line 409
            goto 44
        43: .line 410
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "was expecting one of:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield freemarker.core.ParseException.eol:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        44: .line 412
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* tokenErrDesc */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* expected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* tokenErrDesc */
        end local 4 // freemarker.core.Token tok
        end local 3 // int maxSize
        end local 2 // java.lang.StringBuilder expected
        45: .line 414
            goto 47
        end local 1 // java.lang.String tokenErrDesc
        46: .line 415
      StackMap locals: freemarker.core.ParseException
      StackMap stack:
            aconst_null
            astore 1 /* tokenErrDesc */
        start local 1 // java.lang.String tokenErrDesc
        47: .line 417
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* tokenErrDesc */
            areturn
        end local 1 // java.lang.String tokenErrDesc
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   48     0          this  Lfreemarker/core/ParseException;
            9   46     1  tokenErrDesc  Ljava/lang/String;
           47   48     1  tokenErrDesc  Ljava/lang/String;
           11   45     2      expected  Ljava/lang/StringBuilder;
           12   45     3       maxSize  I
           13   27     4             i  I
           20   25     5             j  I
           29   45     4           tok  Lfreemarker/core/Token;
           30   39     5             i  I
      Exception table:
        from    to  target  type
           1     2       5  any
           3     4       5  any
           5     6       5  any

  private java.lang.String getCustomTokenErrorDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // freemarker.core.ParseException this
         0: .line 421
            aload 0 /* this */
            getfield freemarker.core.ParseException.currentToken:Lfreemarker/core/Token;
            getfield freemarker.core.Token.next:Lfreemarker/core/Token;
            astore 1 /* nextToken */
        start local 1 // freemarker.core.Token nextToken
         1: .line 422
            aload 1 /* nextToken */
            getfield freemarker.core.Token.kind:I
            istore 2 /* kind */
        start local 2 // int kind
         2: .line 423
            iload 2 /* kind */
            ifne 53
         3: .line 424
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* endNames */
        start local 3 // java.util.Set endNames
         4: .line 425
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 47
         6: .line 426
      StackMap locals: freemarker.core.ParseException freemarker.core.Token int java.util.Set int
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            iload 4 /* i */
            aaload
            astore 5 /* sequence */
        start local 5 // int[] sequence
         7: .line 427
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         8: goto 45
         9: .line 428
      StackMap locals: int[] int
      StackMap stack:
            aload 5 /* sequence */
            iload 6 /* j */
            iaload
            lookupswitch { // 18
                   36: 16
                   37: 12
                   41: 35
                   42: 10
                   43: 31
                   44: 33
                   45: 29
                   46: 21
                   47: 20
                   51: 18
                   52: 23
                   53: 14
                   71: 25
                   73: 27
                   75: 43
                  133: 39
                  135: 41
                  137: 37
              default: 44
          }
        10: .line 430
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#foreach"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 431
            goto 44
        12: .line 433
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#list"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 434
            goto 44
        14: .line 436
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#switch"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 437
            goto 44
        16: .line 439
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#if"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        17: .line 440
            goto 44
        18: .line 442
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#compress"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        19: .line 443
            goto 44
        20: .line 445
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#macro"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        21: .line 447
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#function"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 448
            goto 44
        23: .line 450
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#transform"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 451
            goto 44
        25: .line 453
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#escape"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        26: .line 454
            goto 44
        27: .line 456
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#noescape"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        28: .line 457
            goto 44
        29: .line 459
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#assign"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        30: .line 460
            goto 44
        31: .line 462
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#local"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        32: .line 463
            goto 44
        33: .line 465
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#global"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        34: .line 466
            goto 44
        35: .line 468
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "#attempt"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        36: .line 469
            goto 44
        37: .line 471
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "\"{\""
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        38: .line 472
            goto 44
        39: .line 474
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "\"[\""
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        40: .line 475
            goto 44
        41: .line 477
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "\"(\""
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        42: .line 478
            goto 44
        43: .line 480
      StackMap locals:
      StackMap stack:
            aload 3 /* endNames */
            ldc "@..."
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        44: .line 427
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        45: iload 6 /* j */
            aload 5 /* sequence */
            arraylength
            if_icmplt 9
        end local 6 // int j
        end local 5 // int[] sequence
        46: .line 425
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 4 /* i */
            aload 0 /* this */
            getfield freemarker.core.ParseException.expectedTokenSequences:[[I
            arraylength
            if_icmplt 6
        end local 4 // int i
        48: .line 485
            new java.lang.StringBuilder
            dup
            ldc "Unexpected end of file reached."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 486
            aload 3 /* endNames */
            invokeinterface java.util.Set.size:()I
            ifne 50
            ldc ""
            goto 51
      StackMap locals: freemarker.core.ParseException freemarker.core.Token int java.util.Set
      StackMap stack: java.lang.StringBuilder
        50: new java.lang.StringBuilder
            dup
            ldc " You have an unclosed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 3 /* endNames */
            invokevirtual freemarker.core.ParseException.concatWithOrs:(Ljava/util/Set;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: freemarker.core.ParseException freemarker.core.Token int java.util.Set
      StackMap stack: java.lang.StringBuilder java.lang.String
        51: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        52: .line 485
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.util.Set endNames
        53: .line 487
      StackMap locals:
      StackMap stack:
            iload 2 /* kind */
            bipush 54
            if_icmpne 55
        54: .line 488
            ldc "Unexpected directive, \"#else\". Check if you have a valid #if-#elseif-#else or #list-#else structure."
            areturn
        55: .line 490
      StackMap locals:
      StackMap stack:
            iload 2 /* kind */
            bipush 36
            if_icmpeq 56
            iload 2 /* kind */
            bipush 9
            if_icmpne 60
        56: .line 491
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unexpected directive, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        57: .line 492
            aload 1 /* nextToken */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 493
            ldc ". Check if you have a valid #if-#elseif-#else structure."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 491
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        60: .line 495
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int kind
        end local 1 // freemarker.core.Token nextToken
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   61     0       this  Lfreemarker/core/ParseException;
            1   61     1  nextToken  Lfreemarker/core/Token;
            2   61     2       kind  I
            4   53     3   endNames  Ljava/util/Set;
            5   48     4          i  I
            7   46     5   sequence  [I
            8   46     6          j  I

  private java.lang.String concatWithOrs(java.util.Set);
    descriptor: (Ljava/util/Set;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.util.Set endNames
         0: .line 499
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 500
            aload 1 /* endNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 7
         3: .line 501
      StackMap locals: java.lang.StringBuilder java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* endName */
        start local 4 // java.lang.String endName
         4: .line 502
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 6
         5: .line 503
            aload 2 /* sb */
            ldc " or "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 505
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* sb */
            aload 4 /* endName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String endName
         7: .line 500
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
         8: .line 507
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.util.Set endNames
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lfreemarker/core/ParseException;
            0    9     1  endNames  Ljava/util/Set;
            1    9     2        sb  Ljava/lang/StringBuilder;
            2    8     3        it  Ljava/util/Iterator;
            4    7     4   endName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      endNames  

  protected java.lang.String add_escapes(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // freemarker.core.ParseException this
        start local 1 // java.lang.String str
         0: .line 516
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* retval */
        start local 2 // java.lang.StringBuilder retval
         1: .line 518
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 28
         3: .line 519
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.StringBuilder top int
      StackMap stack:
            aload 1 /* str */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 9
                    0: 4
                    8: 5
                    9: 7
                   10: 9
                   12: 11
                   13: 13
                   34: 15
                   39: 17
                   92: 19
              default: 21
          }
         4: .line 522
      StackMap locals:
      StackMap stack:
            goto 27
         5: .line 524
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\b"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 525
            goto 27
         7: .line 527
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 528
            goto 27
         9: .line 530
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 531
            goto 27
        11: .line 533
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\f"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 534
            goto 27
        13: .line 536
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\r"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 537
            goto 27
        15: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 540
            goto 27
        17: .line 542
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 543
            goto 27
        19: .line 545
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            ldc "\\\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 546
            goto 27
        21: .line 548
      StackMap locals:
      StackMap stack:
            aload 1 /* str */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* ch */
        start local 3 // char ch
        22: bipush 32
            if_icmplt 23
            iload 3 /* ch */
            bipush 126
            if_icmple 26
        23: .line 549
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.StringBuilder int int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "0000"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* ch */
            bipush 16
            invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        24: .line 550
            aload 2 /* retval */
            new java.lang.StringBuilder
            dup
            ldc "\\u"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* s */
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_4
            isub
            aload 5 /* s */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String s
        25: .line 551
            goto 27
        26: .line 552
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char ch
        27: .line 518
      StackMap locals: freemarker.core.ParseException java.lang.String java.lang.StringBuilder top int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 4 /* i */
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 4 // int i
        29: .line 557
            aload 2 /* retval */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder retval
        end local 1 // java.lang.String str
        end local 0 // freemarker.core.ParseException this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   30     0    this  Lfreemarker/core/ParseException;
            0   30     1     str  Ljava/lang/String;
            1   30     2  retval  Ljava/lang/StringBuilder;
           22   27     3      ch  C
            2   29     4       i  I
           24   25     5       s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   
}
SourceFile: "ParseException.java"