public class com.oracle.truffle.regex.tregex.util.LaTexExport
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.regex.tregex.util.LaTexExport
  super_class: java.lang.Object
{
  private static final java.util.regex.Pattern specialChars;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            ldc "[&%$#_{}~^\\\\]"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic com.oracle.truffle.regex.tregex.util.LaTexExport.specialChars:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.regex.tregex.util.LaTexExport this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.regex.tregex.util.LaTexExport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/regex/tregex/util/LaTexExport;

  public static java.lang.String escape(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String str
         0: .line 52
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* escapedString */
        start local 1 // java.lang.StringBuffer escapedString
         1: .line 53
            getstatic com.oracle.truffle.regex.tregex.util.LaTexExport.specialChars:Ljava/util/regex/Pattern;
            aload 0 /* str */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 2 /* m */
        start local 2 // java.util.regex.Matcher m
         2: .line 54
            goto 26
         3: .line 56
      StackMap locals: java.lang.StringBuffer java.util.regex.Matcher
      StackMap stack:
            aload 0 /* str */
            aload 2 /* m */
            invokevirtual java.util.regex.Matcher.start:()I
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 10
                   35: 10
                   36: 8
                   37: 6
                   38: 4
                   92: 22
                   94: 20
                   95: 12
                  123: 14
                  125: 16
                  126: 18
              default: 24
          }
         4: .line 58
      StackMap locals:
      StackMap stack:
            ldc "\\\\&"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
         5: .line 59
            goto 25
        end local 3 // java.lang.String replacement
         6: .line 61
      StackMap locals:
      StackMap stack:
            ldc "\\\\%"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
         7: .line 62
            goto 25
        end local 3 // java.lang.String replacement
         8: .line 64
      StackMap locals:
      StackMap stack:
            ldc "\\\\\\$"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
         9: .line 65
            goto 25
        end local 3 // java.lang.String replacement
        10: .line 67
      StackMap locals:
      StackMap stack:
            ldc "\\\\#"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        11: .line 68
            goto 25
        end local 3 // java.lang.String replacement
        12: .line 70
      StackMap locals:
      StackMap stack:
            ldc "\\\\_"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        13: .line 71
            goto 25
        end local 3 // java.lang.String replacement
        14: .line 73
      StackMap locals:
      StackMap stack:
            ldc "\\\\{"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        15: .line 74
            goto 25
        end local 3 // java.lang.String replacement
        16: .line 76
      StackMap locals:
      StackMap stack:
            ldc "\\\\}"
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        17: .line 77
            goto 25
        end local 3 // java.lang.String replacement
        18: .line 79
      StackMap locals:
      StackMap stack:
            ldc "\\\\textasciitilde "
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        19: .line 80
            goto 25
        end local 3 // java.lang.String replacement
        20: .line 82
      StackMap locals:
      StackMap stack:
            ldc "\\\\textasciicircum "
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        21: .line 83
            goto 25
        end local 3 // java.lang.String replacement
        22: .line 85
      StackMap locals:
      StackMap stack:
            ldc "\\\\textbackslash "
            astore 3 /* replacement */
        start local 3 // java.lang.String replacement
        23: .line 86
            goto 25
        end local 3 // java.lang.String replacement
        24: .line 88
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.regex.tregex.util.Exceptions.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 3 // java.lang.String replacement
        25: .line 90
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* m */
            aload 1 /* escapedString */
            aload 3 /* replacement */
            invokevirtual java.util.regex.Matcher.appendReplacement:(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;
            pop
        end local 3 // java.lang.String replacement
        26: .line 54
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifne 3
        27: .line 92
            aload 2 /* m */
            aload 1 /* escapedString */
            invokevirtual java.util.regex.Matcher.appendTail:(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
            pop
        28: .line 93
            aload 1 /* escapedString */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.util.regex.Matcher m
        end local 1 // java.lang.StringBuffer escapedString
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0            str  Ljava/lang/String;
            1   29     1  escapedString  Ljava/lang/StringBuffer;
            2   29     2              m  Ljava/util/regex/Matcher;
            5    6     3    replacement  Ljava/lang/String;
            7    8     3    replacement  Ljava/lang/String;
            9   10     3    replacement  Ljava/lang/String;
           11   12     3    replacement  Ljava/lang/String;
           13   14     3    replacement  Ljava/lang/String;
           15   16     3    replacement  Ljava/lang/String;
           17   18     3    replacement  Ljava/lang/String;
           19   20     3    replacement  Ljava/lang/String;
           21   22     3    replacement  Ljava/lang/String;
           23   24     3    replacement  Ljava/lang/String;
           25   26     3    replacement  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   
}
SourceFile: "LaTexExport.java"