public class org.h2.tools.ConvertTraceFile extends org.h2.util.Tool
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.tools.ConvertTraceFile
  super_class: org.h2.util.Tool
{
  private final java.util.HashMap<java.lang.String, org.h2.tools.ConvertTraceFile$Stat> stats;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/tools/ConvertTraceFile$Stat;>;

  private long timeTotal;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.tools.ConvertTraceFile this
         0: .line 27
            aload 0 /* this */
            invokespecial org.h2.util.Tool.<init>:()V
         1: .line 29
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.tools.ConvertTraceFile.stats:Ljava/util/HashMap;
         2: .line 27
            return
        end local 0 // org.h2.tools.ConvertTraceFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/tools/ConvertTraceFile;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 74
            new org.h2.tools.ConvertTraceFile
            dup
            invokespecial org.h2.tools.ConvertTraceFile.<init>:()V
            aload 0 /* args */
            invokevirtual org.h2.tools.ConvertTraceFile.runTool:([Ljava/lang/String;)V
         1: .line 75
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      args  

  public void runTool(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.h2.tools.ConvertTraceFile this
        start local 1 // java.lang.String[] args
         0: .line 79
            ldc "test.trace.db"
            astore 2 /* traceFile */
        start local 2 // java.lang.String traceFile
         1: .line 80
            ldc "Test"
            astore 3 /* javaClass */
        start local 3 // java.lang.String javaClass
         2: .line 81
            ldc "test.sql"
            astore 4 /* script */
        start local 4 // java.lang.String script
         3: .line 82
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 20
         5: .line 83
      StackMap locals: org.h2.tools.ConvertTraceFile java.lang.String[] java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 1 /* args */
            iload 5 /* i */
            aaload
            astore 6 /* arg */
        start local 6 // java.lang.String arg
         6: .line 84
            aload 6 /* arg */
            ldc "-traceFile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 85
            aload 1 /* args */
            iinc 5 /* i */ 1
            iload 5 /* i */
            aaload
            astore 2 /* traceFile */
         8: .line 86
            goto 19
      StackMap locals: java.lang.String
      StackMap stack:
         9: aload 6 /* arg */
            ldc "-javaClass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 87
            aload 1 /* args */
            iinc 5 /* i */ 1
            iload 5 /* i */
            aaload
            astore 3 /* javaClass */
        11: .line 88
            goto 19
      StackMap locals:
      StackMap stack:
        12: aload 6 /* arg */
            ldc "-script"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 89
            aload 1 /* args */
            iinc 5 /* i */ 1
            iload 5 /* i */
            aaload
            astore 4 /* script */
        14: .line 90
            goto 19
      StackMap locals:
      StackMap stack:
        15: aload 6 /* arg */
            ldc "-help"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            aload 6 /* arg */
            ldc "-?"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.tools.ConvertTraceFile.showUsage:()V
        17: .line 92
            return
        18: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* arg */
            invokevirtual org.h2.tools.ConvertTraceFile.showUsageAndThrowUnsupportedOption:(Ljava/lang/String;)Ljava/sql/SQLException;
            pop
        end local 6 // java.lang.String arg
        19: .line 82
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: aload 1 /* args */
            ifnull 21
            iload 5 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 5
        end local 5 // int i
        21: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* traceFile */
            aload 3 /* javaClass */
            aload 4 /* script */
            invokevirtual org.h2.tools.ConvertTraceFile.convertFile:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        22: .line 99
            goto 25
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 5 /* e */
        start local 5 // java.io.IOException e
        24: .line 100
            aload 5 /* e */
            aload 2 /* traceFile */
            invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.io.IOException e
        25: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String script
        end local 3 // java.lang.String javaClass
        end local 2 // java.lang.String traceFile
        end local 1 // java.lang.String[] args
        end local 0 // org.h2.tools.ConvertTraceFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Lorg/h2/tools/ConvertTraceFile;
            0   26     1       args  [Ljava/lang/String;
            1   26     2  traceFile  Ljava/lang/String;
            2   26     3  javaClass  Ljava/lang/String;
            3   26     4     script  Ljava/lang/String;
            4   21     5          i  I
            6   19     6        arg  Ljava/lang/String;
           24   25     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          21    22      23  Class java.io.IOException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      args  

  private void convertFile(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=19, args_size=4
        start local 0 // org.h2.tools.ConvertTraceFile this
        start local 1 // java.lang.String traceFileName
        start local 2 // java.lang.String javaClassName
        start local 3 // java.lang.String script
         0: .line 109
            new java.io.LineNumberReader
            dup
         1: .line 111
            aload 1 /* traceFileName */
            invokestatic org.h2.store.fs.FileUtils.newInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
         2: .line 110
            invokestatic org.h2.util.IOUtils.getBufferedReader:(Ljava/io/InputStream;)Ljava/io/Reader;
         3: .line 109
            invokespecial java.io.LineNumberReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* reader */
        start local 4 // java.io.LineNumberReader reader
         4: .line 112
            new java.io.PrintWriter
            dup
         5: .line 114
            new java.lang.StringBuilder
            dup
            aload 2 /* javaClassName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
         6: .line 113
            invokestatic org.h2.util.IOUtils.getBufferedWriter:(Ljava/io/OutputStream;)Ljava/io/Writer;
         7: .line 112
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 5 /* javaWriter */
        start local 5 // java.io.PrintWriter javaWriter
         8: .line 115
            new java.io.PrintWriter
            dup
         9: .line 117
            aload 3 /* script */
            iconst_0
            invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
        10: .line 116
            invokestatic org.h2.util.IOUtils.getBufferedWriter:(Ljava/io/OutputStream;)Ljava/io/Writer;
        11: .line 115
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 6 /* scriptWriter */
        start local 6 // java.io.PrintWriter scriptWriter
        12: .line 118
            aload 5 /* javaWriter */
            ldc "import java.io.*;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 119
            aload 5 /* javaWriter */
            ldc "import java.sql.*;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 120
            aload 5 /* javaWriter */
            ldc "import java.math.*;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        15: .line 121
            aload 5 /* javaWriter */
            ldc "import java.util.Calendar;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        16: .line 122
            aload 2 /* javaClassName */
            bipush 92
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 7 /* cn */
        start local 7 // java.lang.String cn
        17: .line 123
            aload 7 /* cn */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 8 /* idx */
        start local 8 // int idx
        18: .line 124
            iload 8 /* idx */
            ifle 20
        19: .line 125
            aload 7 /* cn */
            iload 8 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* cn */
        20: .line 127
      StackMap locals: org.h2.tools.ConvertTraceFile java.lang.String java.lang.String java.lang.String java.io.LineNumberReader java.io.PrintWriter java.io.PrintWriter java.lang.String int
      StackMap stack:
            aload 5 /* javaWriter */
            new java.lang.StringBuilder
            dup
            ldc "public class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* cn */
            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;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        21: .line 128
            aload 5 /* javaWriter */
            ldc "    public static void main(String... args) throws Exception {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        22: .line 130
            aload 5 /* javaWriter */
            ldc "        Class.forName(\"org.h2.Driver\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        23: .line 132
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            invokevirtual java.io.LineNumberReader.readLine:()Ljava/lang/String;
            astore 9 /* line */
        start local 9 // java.lang.String line
        24: .line 133
            aload 9 /* line */
            ifnonnull 26
        25: .line 134
            goto 57
        26: .line 136
      StackMap locals: java.lang.String
      StackMap stack:
            aload 9 /* line */
            ldc "/**/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 30
        27: .line 137
            new java.lang.StringBuilder
            dup
            ldc "        "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* line */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* line */
        28: .line 138
            aload 5 /* javaWriter */
            aload 9 /* line */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        29: .line 139
            goto 23
      StackMap locals:
      StackMap stack:
        30: aload 9 /* line */
            ldc "/*SQL"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 23
        31: .line 140
            aload 9 /* line */
            ldc "*/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 10 /* end */
        start local 10 // int end
        32: .line 141
            aload 9 /* line */
            iload 10 /* end */
            ldc "*/"
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 11 /* sql */
        start local 11 // java.lang.String sql
        33: .line 142
            aload 11 /* sql */
            invokestatic org.h2.util.StringUtils.javaDecode:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* sql */
        34: .line 143
            aload 9 /* line */
            ldc "/*SQL"
            invokevirtual java.lang.String.length:()I
            iload 10 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* line */
        35: .line 144
            aload 9 /* line */
            invokevirtual java.lang.String.length:()I
            ifle 55
        36: .line 145
            aload 11 /* sql */
            astore 12 /* statement */
        start local 12 // java.lang.String statement
        37: .line 146
            iconst_0
            istore 13 /* count */
        start local 13 // int count
        38: .line 147
            lconst_0
            lstore 14 /* time */
        start local 14 // long time
        39: .line 148
            aload 9 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 9 /* line */
        40: .line 149
            aload 9 /* line */
            invokevirtual java.lang.String.length:()I
            ifle 54
        41: .line 150
            new java.util.StringTokenizer
            dup
            aload 9 /* line */
            ldc " :"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 16 /* tk */
        start local 16 // java.util.StringTokenizer tk
        42: .line 151
            goto 53
        43: .line 152
      StackMap locals: org.h2.tools.ConvertTraceFile java.lang.String java.lang.String java.lang.String java.io.LineNumberReader java.io.PrintWriter java.io.PrintWriter java.lang.String int java.lang.String int java.lang.String java.lang.String int long java.util.StringTokenizer
      StackMap stack:
            aload 16 /* tk */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 17 /* token */
        start local 17 // java.lang.String token
        44: .line 153
            ldc "l"
            aload 17 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 48
        45: .line 154
            aload 16 /* tk */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 18 /* len */
        start local 18 // int len
        46: .line 155
            new java.lang.StringBuilder
            dup
            aload 11 /* sql */
            iconst_0
            iload 18 /* len */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* statement */
        end local 18 // int len
        47: .line 156
            goto 53
      StackMap locals: java.lang.String
      StackMap stack:
        48: ldc "#"
            aload 17 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 51
        49: .line 157
            aload 16 /* tk */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* count */
        50: .line 158
            goto 53
      StackMap locals:
      StackMap stack:
        51: ldc "t"
            aload 17 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 53
        52: .line 159
            aload 16 /* tk */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 14 /* time */
        end local 17 // java.lang.String token
        53: .line 151
      StackMap locals:
      StackMap stack:
            aload 16 /* tk */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 43
        end local 16 // java.util.StringTokenizer tk
        54: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* statement */
            iload 13 /* count */
            lload 14 /* time */
            invokevirtual org.h2.tools.ConvertTraceFile.addToStats:(Ljava/lang/String;IJ)V
        end local 14 // long time
        end local 13 // int count
        end local 12 // java.lang.String statement
        55: .line 165
      StackMap locals:
      StackMap stack:
            aload 6 /* scriptWriter */
            aload 11 /* sql */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 11 // java.lang.String sql
        end local 10 // int end
        end local 9 // java.lang.String line
        56: .line 131
            goto 23
        57: .line 168
      StackMap locals:
      StackMap stack:
            aload 5 /* javaWriter */
            ldc "    }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        58: .line 169
            aload 5 /* javaWriter */
            bipush 125
            invokevirtual java.io.PrintWriter.println:(C)V
        59: .line 170
            aload 4 /* reader */
            invokevirtual java.io.LineNumberReader.close:()V
        60: .line 171
            aload 5 /* javaWriter */
            invokevirtual java.io.PrintWriter.close:()V
        61: .line 172
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.stats:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifle 90
        62: .line 173
            aload 6 /* scriptWriter */
            ldc "-----------------------------------------"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        63: .line 174
            aload 6 /* scriptWriter */
            ldc "-- SQL Statement Statistics"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        64: .line 175
            aload 6 /* scriptWriter */
            ldc "-- time: total time in milliseconds (accumulated)"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        65: .line 176
            aload 6 /* scriptWriter */
            ldc "-- count: how many times the statement ran"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        66: .line 177
            aload 6 /* scriptWriter */
            ldc "-- result: total update count or row count"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        67: .line 178
            aload 6 /* scriptWriter */
            ldc "-----------------------------------------"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        68: .line 179
            aload 6 /* scriptWriter */
            ldc "-- self accu    time   count  result sql"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        69: .line 180
            iconst_0
            istore 9 /* accumTime */
        start local 9 // int accumTime
        70: .line 181
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.stats:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 10 /* list */
        start local 10 // java.util.ArrayList list
        71: .line 182
            aload 10 /* list */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
        72: .line 183
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.timeTotal:J
            lconst_0
            lcmp
            ifne 74
        73: .line 184
            aload 0 /* this */
            lconst_1
            putfield org.h2.tools.ConvertTraceFile.timeTotal:J
        74: .line 186
      StackMap locals: int java.util.ArrayList
      StackMap stack:
            aload 10 /* list */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 12
            goto 89
      StackMap locals: org.h2.tools.ConvertTraceFile java.lang.String java.lang.String java.lang.String java.io.LineNumberReader java.io.PrintWriter java.io.PrintWriter java.lang.String int int java.util.ArrayList top java.util.Iterator
      StackMap stack:
        75: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.tools.ConvertTraceFile$Stat
            astore 11 /* stat */
        start local 11 // org.h2.tools.ConvertTraceFile$Stat stat
        76: .line 187
            iload 9 /* accumTime */
            i2l
            aload 11 /* stat */
            getfield org.h2.tools.ConvertTraceFile$Stat.time:J
            ladd
            l2i
            istore 9 /* accumTime */
        77: .line 188
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 13 /* buff */
        start local 13 // java.lang.StringBuilder buff
        78: .line 189
            aload 13 /* buff */
            ldc "-- "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        79: .line 190
            ldc 100
            aload 11 /* stat */
            getfield org.h2.tools.ConvertTraceFile$Stat.time:J
            lmul
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.timeTotal:J
            ldiv
            iconst_3
            invokestatic org.h2.tools.ConvertTraceFile.padNumberLeft:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        80: .line 191
            ldc "% "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        81: .line 192
            bipush 100
            iload 9 /* accumTime */
            imul
            i2l
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.timeTotal:J
            ldiv
            iconst_3
            invokestatic org.h2.tools.ConvertTraceFile.padNumberLeft:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        82: .line 193
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        83: .line 194
            aload 11 /* stat */
            getfield org.h2.tools.ConvertTraceFile$Stat.time:J
            bipush 8
            invokestatic org.h2.tools.ConvertTraceFile.padNumberLeft:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        84: .line 195
            aload 11 /* stat */
            getfield org.h2.tools.ConvertTraceFile$Stat.executeCount:I
            i2l
            bipush 8
            invokestatic org.h2.tools.ConvertTraceFile.padNumberLeft:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        85: .line 196
            aload 11 /* stat */
            getfield org.h2.tools.ConvertTraceFile$Stat.resultCount:J
            bipush 8
            invokestatic org.h2.tools.ConvertTraceFile.padNumberLeft:(JI)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        86: .line 197
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        87: .line 198
            aload 11 /* stat */
            getfield org.h2.tools.ConvertTraceFile$Stat.sql:Ljava/lang/String;
            invokestatic org.h2.tools.ConvertTraceFile.removeNewlines:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        88: .line 199
            aload 6 /* scriptWriter */
            aload 13 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 13 // java.lang.StringBuilder buff
        end local 11 // org.h2.tools.ConvertTraceFile$Stat stat
        89: .line 186
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 75
        end local 10 // java.util.ArrayList list
        end local 9 // int accumTime
        90: .line 202
      StackMap locals: org.h2.tools.ConvertTraceFile java.lang.String java.lang.String java.lang.String java.io.LineNumberReader java.io.PrintWriter java.io.PrintWriter java.lang.String int
      StackMap stack:
            aload 6 /* scriptWriter */
            invokevirtual java.io.PrintWriter.close:()V
        91: .line 203
            return
        end local 8 // int idx
        end local 7 // java.lang.String cn
        end local 6 // java.io.PrintWriter scriptWriter
        end local 5 // java.io.PrintWriter javaWriter
        end local 4 // java.io.LineNumberReader reader
        end local 3 // java.lang.String script
        end local 2 // java.lang.String javaClassName
        end local 1 // java.lang.String traceFileName
        end local 0 // org.h2.tools.ConvertTraceFile this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   92     0           this  Lorg/h2/tools/ConvertTraceFile;
            0   92     1  traceFileName  Ljava/lang/String;
            0   92     2  javaClassName  Ljava/lang/String;
            0   92     3         script  Ljava/lang/String;
            4   92     4         reader  Ljava/io/LineNumberReader;
            8   92     5     javaWriter  Ljava/io/PrintWriter;
           12   92     6   scriptWriter  Ljava/io/PrintWriter;
           17   92     7             cn  Ljava/lang/String;
           18   92     8            idx  I
           24   56     9           line  Ljava/lang/String;
           32   56    10            end  I
           33   56    11            sql  Ljava/lang/String;
           37   55    12      statement  Ljava/lang/String;
           38   55    13          count  I
           39   55    14           time  J
           42   54    16             tk  Ljava/util/StringTokenizer;
           44   53    17          token  Ljava/lang/String;
           46   47    18            len  I
           70   90     9      accumTime  I
           71   90    10           list  Ljava/util/ArrayList<Lorg/h2/tools/ConvertTraceFile$Stat;>;
           76   89    11           stat  Lorg/h2/tools/ConvertTraceFile$Stat;
           78   89    13           buff  Ljava/lang/StringBuilder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      traceFileName  
      javaClassName  
      script         

  private static java.lang.String removeNewlines(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 206
            aload 0 /* s */
            ifnonnull 1
            aload 0 /* s */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* s */
            bipush 13
            bipush 32
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            bipush 10
            bipush 32
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String padNumberLeft(long, int);
    descriptor: (JI)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long number
        start local 2 // int digits
         0: .line 210
            lload 0 /* number */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            iload 2 /* digits */
            ldc " "
            iconst_0
            invokestatic org.h2.util.StringUtils.pad:(Ljava/lang/String;ILjava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 2 // int digits
        end local 0 // long number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  J
            0    1     2  digits  I
    MethodParameters:
        Name  Flags
      number  
      digits  

  private void addToStats(java.lang.String, int, long);
    descriptor: (Ljava/lang/String;IJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.h2.tools.ConvertTraceFile this
        start local 1 // java.lang.String sql
        start local 2 // int resultCount
        start local 3 // long time
         0: .line 214
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.stats:Ljava/util/HashMap;
            aload 1 /* sql */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.tools.ConvertTraceFile$Stat
            astore 5 /* stat */
        start local 5 // org.h2.tools.ConvertTraceFile$Stat stat
         1: .line 215
            aload 5 /* stat */
            ifnonnull 5
         2: .line 216
            new org.h2.tools.ConvertTraceFile$Stat
            dup
            invokespecial org.h2.tools.ConvertTraceFile$Stat.<init>:()V
            astore 5 /* stat */
         3: .line 217
            aload 5 /* stat */
            aload 1 /* sql */
            putfield org.h2.tools.ConvertTraceFile$Stat.sql:Ljava/lang/String;
         4: .line 218
            aload 0 /* this */
            getfield org.h2.tools.ConvertTraceFile.stats:Ljava/util/HashMap;
            aload 1 /* sql */
            aload 5 /* stat */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 220
      StackMap locals: org.h2.tools.ConvertTraceFile$Stat
      StackMap stack:
            aload 5 /* stat */
            dup
            getfield org.h2.tools.ConvertTraceFile$Stat.executeCount:I
            iconst_1
            iadd
            putfield org.h2.tools.ConvertTraceFile$Stat.executeCount:I
         6: .line 221
            aload 5 /* stat */
            dup
            getfield org.h2.tools.ConvertTraceFile$Stat.resultCount:J
            iload 2 /* resultCount */
            i2l
            ladd
            putfield org.h2.tools.ConvertTraceFile$Stat.resultCount:J
         7: .line 222
            aload 5 /* stat */
            dup
            getfield org.h2.tools.ConvertTraceFile$Stat.time:J
            lload 3 /* time */
            ladd
            putfield org.h2.tools.ConvertTraceFile$Stat.time:J
         8: .line 223
            aload 0 /* this */
            dup
            getfield org.h2.tools.ConvertTraceFile.timeTotal:J
            lload 3 /* time */
            ladd
            putfield org.h2.tools.ConvertTraceFile.timeTotal:J
         9: .line 224
            return
        end local 5 // org.h2.tools.ConvertTraceFile$Stat stat
        end local 3 // long time
        end local 2 // int resultCount
        end local 1 // java.lang.String sql
        end local 0 // org.h2.tools.ConvertTraceFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/h2/tools/ConvertTraceFile;
            0   10     1          sql  Ljava/lang/String;
            0   10     2  resultCount  I
            0   10     3         time  J
            1   10     5         stat  Lorg/h2/tools/ConvertTraceFile$Stat;
    MethodParameters:
             Name  Flags
      sql          
      resultCount  
      time         
}
SourceFile: "ConvertTraceFile.java"
NestMembers:
  org.h2.tools.ConvertTraceFile$Stat
InnerClasses:
  Stat = org.h2.tools.ConvertTraceFile$Stat of org.h2.tools.ConvertTraceFile