public class ch.qos.logback.core.pattern.util.RegularEscapeUtil implements ch.qos.logback.core.pattern.util.IEscapeUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.core.pattern.util.RegularEscapeUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.core.pattern.util.RegularEscapeUtil this
         0: .line 21
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // ch.qos.logback.core.pattern.util.RegularEscapeUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/core/pattern/util/RegularEscapeUtil;

  public void escape(java.lang.String, java.lang.StringBuffer, char, int);
    descriptor: (Ljava/lang/String;Ljava/lang/StringBuffer;CI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // ch.qos.logback.core.pattern.util.RegularEscapeUtil this
        start local 1 // java.lang.String escapeChars
        start local 2 // java.lang.StringBuffer buf
        start local 3 // char next
        start local 4 // int pointer
         0: .line 24
            aload 1 /* escapeChars */
            iload 3 /* next */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 3
         1: .line 25
            aload 2 /* buf */
            iload 3 /* next */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 26
            goto 17
         3: .line 27
      StackMap locals:
      StackMap stack:
            iload 3 /* next */
            lookupswitch { // 5
                   92: 5
                   95: 4
                  110: 11
                  114: 9
                  116: 7
              default: 13
          }
         4: .line 30
      StackMap locals:
      StackMap stack:
            goto 17
         5: .line 32
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            iload 3 /* next */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 33
            goto 17
         7: .line 35
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         8: .line 36
            goto 17
         9: .line 38
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            bipush 13
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 39
            goto 17
        11: .line 41
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 42
            goto 17
        13: .line 44
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* escapeChars */
            invokevirtual ch.qos.logback.core.pattern.util.RegularEscapeUtil.formatEscapeCharsForListing:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* commaSeperatedEscapeChars */
        start local 5 // java.lang.String commaSeperatedEscapeChars
        14: .line 45
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal char '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* next */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc " at column "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* pointer */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ". Only \\\\, \\_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* commaSeperatedEscapeChars */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 46
            ldc ", \\t, \\n, \\r combinations are allowed as escape characters."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 45
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String commaSeperatedEscapeChars
        17: .line 48
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int pointer
        end local 3 // char next
        end local 2 // java.lang.StringBuffer buf
        end local 1 // java.lang.String escapeChars
        end local 0 // ch.qos.logback.core.pattern.util.RegularEscapeUtil this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   18     0                       this  Lch/qos/logback/core/pattern/util/RegularEscapeUtil;
            0   18     1                escapeChars  Ljava/lang/String;
            0   18     2                        buf  Ljava/lang/StringBuffer;
            0   18     3                       next  C
            0   18     4                    pointer  I
           14   17     5  commaSeperatedEscapeChars  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      escapeChars  
      buf          
      next         
      pointer      

  java.lang.String formatEscapeCharsForListing(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // ch.qos.logback.core.pattern.util.RegularEscapeUtil this
        start local 1 // java.lang.String escapeChars
         0: .line 51
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* commaSeperatedEscapeChars */
        start local 2 // java.lang.StringBuilder commaSeperatedEscapeChars
         1: .line 52
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 53
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* commaSeperatedEscapeChars */
            ldc ", \\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* escapeChars */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 52
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 1 /* escapeChars */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 3 // int i
         6: .line 55
            aload 2 /* commaSeperatedEscapeChars */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder commaSeperatedEscapeChars
        end local 1 // java.lang.String escapeChars
        end local 0 // ch.qos.logback.core.pattern.util.RegularEscapeUtil this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    7     0                       this  Lch/qos/logback/core/pattern/util/RegularEscapeUtil;
            0    7     1                escapeChars  Ljava/lang/String;
            1    7     2  commaSeperatedEscapeChars  Ljava/lang/StringBuilder;
            2    6     3                          i  I
    MethodParameters:
             Name  Flags
      escapeChars  

  public static java.lang.String basicEscape(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String s
         0: .line 60
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 61
            new java.lang.StringBuilder
            dup
            iload 2 /* len */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* sbuf */
        start local 3 // java.lang.StringBuilder sbuf
         2: .line 63
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: .line 64
            goto 31
         4: .line 65
      StackMap locals: java.lang.String top int java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 4 /* i */
            iinc 4 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        start local 1 // char c
         5: .line 66
            iload 1 /* c */
            bipush 92
            if_icmpne 30
         6: .line 67
            aload 0 /* s */
            iload 4 /* i */
            iinc 4 /* i */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
         7: .line 68
            iload 1 /* c */
            bipush 110
            if_icmpne 10
         8: .line 69
            bipush 10
            istore 1 /* c */
         9: .line 70
            goto 30
      StackMap locals: java.lang.String int int java.lang.StringBuilder int
      StackMap stack:
        10: iload 1 /* c */
            bipush 114
            if_icmpne 13
        11: .line 71
            bipush 13
            istore 1 /* c */
        12: .line 72
            goto 30
      StackMap locals:
      StackMap stack:
        13: iload 1 /* c */
            bipush 116
            if_icmpne 16
        14: .line 73
            bipush 9
            istore 1 /* c */
        15: .line 74
            goto 30
      StackMap locals:
      StackMap stack:
        16: iload 1 /* c */
            bipush 102
            if_icmpne 19
        17: .line 75
            bipush 12
            istore 1 /* c */
        18: .line 76
            goto 30
      StackMap locals:
      StackMap stack:
        19: iload 1 /* c */
            bipush 8
            if_icmpne 22
        20: .line 77
            bipush 8
            istore 1 /* c */
        21: .line 78
            goto 30
      StackMap locals:
      StackMap stack:
        22: iload 1 /* c */
            bipush 34
            if_icmpne 25
        23: .line 79
            bipush 34
            istore 1 /* c */
        24: .line 80
            goto 30
      StackMap locals:
      StackMap stack:
        25: iload 1 /* c */
            bipush 39
            if_icmpne 28
        26: .line 81
            bipush 39
            istore 1 /* c */
        27: .line 82
            goto 30
      StackMap locals:
      StackMap stack:
        28: iload 1 /* c */
            bipush 92
            if_icmpne 30
        29: .line 83
            bipush 92
            istore 1 /* c */
        30: .line 86
      StackMap locals:
      StackMap stack:
            aload 3 /* sbuf */
            iload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 1 // char c
        31: .line 64
      StackMap locals: java.lang.String top int java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            iload 2 /* len */
            if_icmplt 4
        32: .line 88
            aload 3 /* sbuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int i
        end local 3 // java.lang.StringBuilder sbuf
        end local 2 // int len
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0     s  Ljava/lang/String;
            5   31     1     c  C
            1   33     2   len  I
            2   33     3  sbuf  Ljava/lang/StringBuilder;
            3   33     4     i  I
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "RegularEscapeUtil.java"