public class org.h2.tools.Csv implements org.h2.tools.SimpleRowSource
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.tools.Csv
super_class: java.lang.Object
{
private java.lang.String[] columnNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String characterSet;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char escapeCharacter;
descriptor: C
flags: (0x0002) ACC_PRIVATE
private char fieldDelimiter;
descriptor: C
flags: (0x0002) ACC_PRIVATE
private char fieldSeparatorRead;
descriptor: C
flags: (0x0002) ACC_PRIVATE
private java.lang.String fieldSeparatorWrite;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean caseSensitiveColumnNames;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean preserveWhitespace;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean writeColumnHeader;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private char ;
descriptor: C
flags: (0x0002) ACC_PRIVATE
private java.lang.String lineSeparator;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String nullString;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String fileName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.Reader input;
descriptor: Ljava/io/Reader;
flags: (0x0002) ACC_PRIVATE
private char[] inputBuffer;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private int inputBufferPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int inputBufferStart;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int inputBufferEnd;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.io.Writer output;
descriptor: Ljava/io/Writer;
flags: (0x0002) ACC_PRIVATE
private boolean endOfLine;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean endOfFile;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 34
putfield org.h2.tools.Csv.escapeCharacter:C
2: aload 0
bipush 34
putfield org.h2.tools.Csv.fieldDelimiter:C
3: aload 0
bipush 44
putfield org.h2.tools.Csv.fieldSeparatorRead:C
4: aload 0
ldc ","
putfield org.h2.tools.Csv.fieldSeparatorWrite:Ljava/lang/String;
5: aload 0
iconst_1
putfield org.h2.tools.Csv.writeColumnHeader:Z
6: aload 0
getstatic org.h2.engine.SysProperties.LINE_SEPARATOR:Ljava/lang/String;
putfield org.h2.tools.Csv.lineSeparator:Ljava/lang/String;
7: aload 0
ldc ""
putfield org.h2.tools.Csv.nullString:Ljava/lang/String;
8: aload 0
iconst_m1
putfield org.h2.tools.Csv.inputBufferStart:I
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/tools/Csv;
private int writeResultSet(java.sql.ResultSet);
descriptor: (Ljava/sql/ResultSet;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
astore 3
start local 3 2: aload 3
invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
istore 4
start local 4 3: iload 4
anewarray java.lang.String
astore 5
start local 5 4: iload 4
newarray 10
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 10
7: StackMap locals: org.h2.tools.Csv java.sql.ResultSet int java.sql.ResultSetMetaData int java.lang.String[] int[] int
StackMap stack:
aload 5
iload 7
aload 3
iload 7
iconst_1
iadd
invokeinterface java.sql.ResultSetMetaData.getColumnLabel:(I)Ljava/lang/String;
aastore
8: aload 6
iload 7
aload 3
iload 7
iconst_1
iadd
invokeinterface java.sql.ResultSetMetaData.getColumnType:(I)I
iastore
9: iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
iload 4
if_icmplt 7
end local 7 11: aload 0
getfield org.h2.tools.Csv.writeColumnHeader:Z
ifeq 31
12: aload 0
aload 5
invokevirtual org.h2.tools.Csv.writeRow:([Ljava/lang/String;)V
13: goto 31
14: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 15: goto 28
16: StackMap locals: int
StackMap stack:
aload 6
iload 7
iaload
tableswitch { // 91 - 93
91: 17
92: 19
93: 21
default: 23
}
17: StackMap locals:
StackMap stack:
aload 1
iload 7
iconst_1
iadd
invokeinterface java.sql.ResultSet.getDate:(I)Ljava/sql/Date;
astore 8
start local 8 18: goto 24
end local 8 19: StackMap locals:
StackMap stack:
aload 1
iload 7
iconst_1
iadd
invokeinterface java.sql.ResultSet.getTime:(I)Ljava/sql/Time;
astore 8
start local 8 20: goto 24
end local 8 21: StackMap locals:
StackMap stack:
aload 1
iload 7
iconst_1
iadd
invokeinterface java.sql.ResultSet.getTimestamp:(I)Ljava/sql/Timestamp;
astore 8
start local 8 22: goto 24
end local 8 23: StackMap locals:
StackMap stack:
aload 1
iload 7
iconst_1
iadd
invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
astore 8
start local 8 24: StackMap locals: java.lang.Object
StackMap stack:
aload 5
iload 7
aload 8
ifnonnull 25
aconst_null
goto 26
StackMap locals: org.h2.tools.Csv java.sql.ResultSet int java.sql.ResultSetMetaData int java.lang.String[] int[] int java.lang.Object
StackMap stack: java.lang.String[] int
25: aload 8
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals: org.h2.tools.Csv java.sql.ResultSet int java.sql.ResultSetMetaData int java.lang.String[] int[] int java.lang.Object
StackMap stack: java.lang.String[] int java.lang.String
26: aastore
end local 8 27: iinc 7 1
StackMap locals:
StackMap stack:
28: iload 7
iload 4
if_icmplt 16
end local 7 29: aload 0
aload 5
invokevirtual org.h2.tools.Csv.writeRow:([Ljava/lang/String;)V
30: iinc 2 1
31: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.sql.ResultSet.next:()Z
ifne 14
32: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
invokevirtual java.io.Writer.close:()V
33: iload 2
istore 10
34: aload 0
invokevirtual org.h2.tools.Csv.close:()V
35: aload 1
invokestatic org.h2.util.JdbcUtils.closeSilently:(Ljava/sql/ResultSet;)V
36: iload 10
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 37: StackMap locals: org.h2.tools.Csv java.sql.ResultSet
StackMap stack: java.io.IOException
astore 2
start local 2 38: aload 2
aconst_null
invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 2 39: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
40: aload 0
invokevirtual org.h2.tools.Csv.close:()V
41: aload 1
invokestatic org.h2.util.JdbcUtils.closeSilently:(Ljava/sql/ResultSet;)V
42: aload 9
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/h2/tools/Csv;
0 43 1 rs Ljava/sql/ResultSet;
1 37 2 rows I
2 37 3 meta Ljava/sql/ResultSetMetaData;
3 37 4 columnCount I
4 37 5 row [Ljava/lang/String;
5 37 6 sqlTypes [I
6 11 7 i I
15 29 7 i I
18 19 8 o Ljava/lang/Object;
20 21 8 o Ljava/lang/Object;
22 23 8 o Ljava/lang/Object;
24 27 8 o Ljava/lang/Object;
38 39 2 e Ljava/io/IOException;
Exception table:
from to target type
0 34 37 Class java.io.IOException
0 34 39 any
37 39 39 any
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
rs
public int write(java.io.Writer, java.sql.ResultSet);
descriptor: (Ljava/io/Writer;Ljava/sql/ResultSet;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield org.h2.tools.Csv.output:Ljava/io/Writer;
1: aload 0
aload 2
invokevirtual org.h2.tools.Csv.writeResultSet:(Ljava/sql/ResultSet;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 writer Ljava/io/Writer;
0 2 2 rs Ljava/sql/ResultSet;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
writer
rs
public int write(java.lang.String, java.sql.ResultSet, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/sql/ResultSet;Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual org.h2.tools.Csv.init:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
invokevirtual org.h2.tools.Csv.initWrite:()V
2: aload 0
aload 2
invokevirtual org.h2.tools.Csv.writeResultSet:(Ljava/sql/ResultSet;)I
3: ireturn
4: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 5: new java.lang.StringBuilder
dup
ldc "IOException writing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokestatic org.h2.tools.Csv.convertException:(Ljava/lang/String;Ljava/lang/Exception;)Ljava/sql/SQLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/tools/Csv;
0 6 1 outputFileName Ljava/lang/String;
0 6 2 rs Ljava/sql/ResultSet;
0 6 3 charset Ljava/lang/String;
5 6 4 e Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
outputFileName
rs
charset
public int write(java.sql.Connection, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 5
start local 5 1: aload 5
aload 3
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 6
start local 6 2: aload 0
aload 2
aload 6
aload 4
invokevirtual org.h2.tools.Csv.write:(Ljava/lang/String;Ljava/sql/ResultSet;Ljava/lang/String;)I
istore 7
start local 7 3: aload 5
invokeinterface java.sql.Statement.close:()V
4: iload 7
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/tools/Csv;
0 5 1 conn Ljava/sql/Connection;
0 5 2 outputFileName Ljava/lang/String;
0 5 3 sql Ljava/lang/String;
0 5 4 charset Ljava/lang/String;
1 5 5 stat Ljava/sql/Statement;
2 5 6 rs Ljava/sql/ResultSet;
3 5 7 rows I
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
conn
outputFileName
sql
charset
public java.sql.ResultSet read(java.lang.String, java.lang.String[], java.lang.String);
descriptor: (Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual org.h2.tools.Csv.init:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
aload 2
invokevirtual org.h2.tools.Csv.readResultSet:([Ljava/lang/String;)Ljava/sql/ResultSet;
2: areturn
3: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 4: new java.lang.StringBuilder
dup
ldc "IOException reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokestatic org.h2.tools.Csv.convertException:(Ljava/lang/String;Ljava/lang/Exception;)Ljava/sql/SQLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/tools/Csv;
0 5 1 inputFileName Ljava/lang/String;
0 5 2 colNames [Ljava/lang/String;
0 5 3 charset Ljava/lang/String;
4 5 4 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
inputFileName
colNames
charset
public java.sql.ResultSet read(java.io.Reader, java.lang.String[]);
descriptor: (Ljava/io/Reader;[Ljava/lang/String;)Ljava/sql/ResultSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aconst_null
invokevirtual org.h2.tools.Csv.init:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.h2.tools.Csv.input:Ljava/io/Reader;
2: aload 0
aload 2
invokevirtual org.h2.tools.Csv.readResultSet:([Ljava/lang/String;)Ljava/sql/ResultSet;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/tools/Csv;
0 3 1 reader Ljava/io/Reader;
0 3 2 colNames [Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
reader
colNames
private java.sql.ResultSet readResultSet(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/sql/ResultSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
1: aload 0
invokevirtual org.h2.tools.Csv.initRead:()V
2: new org.h2.tools.SimpleResultSet
dup
aload 0
invokespecial org.h2.tools.SimpleResultSet.<init>:(Lorg/h2/tools/SimpleRowSource;)V
astore 2
start local 2 3: aload 0
invokevirtual org.h2.tools.Csv.makeColumnNamesUnique:()V
4: aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: org.h2.tools.Csv java.lang.String[] org.h2.tools.SimpleResultSet top int int java.lang.String[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 2
aload 3
bipush 12
ldc 2147483647
iconst_0
invokevirtual org.h2.tools.SimpleResultSet.addColumn:(Ljava/lang/String;III)V
end local 3 7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 5
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/h2/tools/Csv;
0 10 1 colNames [Ljava/lang/String;
3 10 2 result Lorg/h2/tools/SimpleResultSet;
6 7 3 columnName Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
colNames
private void makeColumnNamesUnique();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 18
2: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 3: aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
iload 1
aaload
astore 3
start local 3 4: aload 3
ifnull 5
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
5: StackMap locals: java.lang.StringBuilder java.lang.String
StackMap stack:
aload 2
bipush 67
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 1
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
6: goto 8
7: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 9: goto 15
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
iload 4
aaload
astore 5
start local 5 11: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 2
bipush 49
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: iconst_m1
istore 4
end local 5 14: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 1
if_icmplt 10
end local 4 16: aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
iload 1
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
end local 3 end local 2 17: iinc 1 1
StackMap locals:
StackMap stack:
18: iload 1
aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
arraylength
if_icmplt 2
end local 1 19: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/h2/tools/Csv;
1 19 1 i I
3 17 2 buff Ljava/lang/StringBuilder;
4 17 3 n Ljava/lang/String;
9 16 4 j I
11 14 5 y Ljava/lang/String;
private void init(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield org.h2.tools.Csv.fileName:Ljava/lang/String;
1: aload 0
aload 2
putfield org.h2.tools.Csv.characterSet:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/tools/Csv;
0 3 1 newFileName Ljava/lang/String;
0 3 2 charset Ljava/lang/String;
MethodParameters:
Name Flags
newFileName
charset
private void initWrite();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
ifnonnull 13
1: aload 0
getfield org.h2.tools.Csv.fileName:Ljava/lang/String;
iconst_0
invokestatic org.h2.store.fs.FileUtils.newOutputStream:(Ljava/lang/String;Z)Ljava/io/OutputStream;
astore 1
start local 1 2: new java.io.BufferedOutputStream
dup
aload 1
sipush 4096
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
astore 1
3: aload 0
4: new java.io.BufferedWriter
dup
aload 0
getfield org.h2.tools.Csv.characterSet:Ljava/lang/String;
ifnull 6
5: new java.io.OutputStreamWriter
dup
aload 1
aload 0
getfield org.h2.tools.Csv.characterSet:Ljava/lang/String;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/lang/String;)V
goto 7
StackMap locals: org.h2.tools.Csv java.io.OutputStream
StackMap stack: org.h2.tools.Csv new 4 new 4
6: new java.io.OutputStreamWriter
dup
aload 1
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;)V
StackMap locals: org.h2.tools.Csv java.io.OutputStream
StackMap stack: org.h2.tools.Csv new 4 new 4 java.io.OutputStreamWriter
7: invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
8: putfield org.h2.tools.Csv.output:Ljava/io/Writer;
end local 1 9: goto 13
StackMap locals: org.h2.tools.Csv
StackMap stack: java.lang.Exception
10: astore 1
start local 1 11: aload 0
invokevirtual org.h2.tools.Csv.close:()V
12: aload 1
invokestatic org.h2.message.DbException.convertToIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/tools/Csv;
2 9 1 out Ljava/io/OutputStream;
11 13 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 9 10 Class java.lang.Exception
Exceptions:
throws java.io.IOException
private void writeRow(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 19
2: StackMap locals: int
StackMap stack:
iload 2
ifle 5
3: aload 0
getfield org.h2.tools.Csv.fieldSeparatorWrite:Ljava/lang/String;
ifnull 5
4: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 0
getfield org.h2.tools.Csv.fieldSeparatorWrite:Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
astore 3
start local 3 6: aload 3
ifnull 16
7: aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
ifeq 14
8: aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
ifeq 10
9: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
invokevirtual java.io.Writer.write:(I)V
10: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 0
aload 3
invokevirtual org.h2.tools.Csv.escape:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
11: aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
ifeq 18
12: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
invokevirtual java.io.Writer.write:(I)V
13: goto 18
14: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 3
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
15: goto 18
StackMap locals:
StackMap stack:
16: aload 0
getfield org.h2.tools.Csv.nullString:Ljava/lang/String;
ifnull 18
aload 0
getfield org.h2.tools.Csv.nullString:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 18
17: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 0
getfield org.h2.tools.Csv.nullString:Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
end local 3 18: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
19: iload 2
aload 1
arraylength
if_icmplt 2
end local 2 20: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
aload 0
getfield org.h2.tools.Csv.lineSeparator:Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/h2/tools/Csv;
0 22 1 values [Ljava/lang/String;
1 20 2 i I
6 18 3 s Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
values
private java.lang.String escape(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
invokevirtual java.lang.String.indexOf:(I)I
ifge 3
1: aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
if_icmpeq 2
aload 1
aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
invokevirtual java.lang.String.indexOf:(I)I
ifge 3
2: StackMap locals:
StackMap stack:
aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 4: new java.lang.StringBuilder
dup
iload 2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 12
7: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 8: iload 5
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
if_icmpeq 9
iload 5
aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
if_icmpne 10
9: StackMap locals: int
StackMap stack:
aload 3
aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 2
if_icmplt 7
end local 4 13: aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/tools/Csv;
0 14 1 data Ljava/lang/String;
4 14 2 length I
5 14 3 buff Ljava/lang/StringBuilder;
6 13 4 i I
8 11 5 ch C
MethodParameters:
Name Flags
data
private void initRead();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
ifnonnull 10
1: aload 0
getfield org.h2.tools.Csv.fileName:Ljava/lang/String;
invokestatic org.h2.store.fs.FileUtils.newInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 1
start local 1 2: new java.io.BufferedInputStream
dup
aload 1
sipush 4096
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
astore 1
3: aload 0
aload 0
getfield org.h2.tools.Csv.characterSet:Ljava/lang/String;
ifnull 4
new java.io.InputStreamReader
dup
aload 1
aload 0
getfield org.h2.tools.Csv.characterSet:Ljava/lang/String;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
goto 5
StackMap locals: org.h2.tools.Csv java.io.InputStream
StackMap stack: org.h2.tools.Csv
4: new java.io.InputStreamReader
dup
aload 1
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
StackMap locals: org.h2.tools.Csv java.io.InputStream
StackMap stack: org.h2.tools.Csv java.io.InputStreamReader
5: putfield org.h2.tools.Csv.input:Ljava/io/Reader;
end local 1 6: goto 10
StackMap locals: org.h2.tools.Csv
StackMap stack: java.io.IOException
7: astore 1
start local 1 8: aload 0
invokevirtual org.h2.tools.Csv.close:()V
9: aload 1
athrow
end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
invokevirtual java.io.Reader.markSupported:()Z
ifne 12
11: aload 0
new java.io.BufferedReader
dup
aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
putfield org.h2.tools.Csv.input:Ljava/io/Reader;
12: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
iconst_1
invokevirtual java.io.Reader.mark:(I)V
13: aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
invokevirtual java.io.Reader.read:()I
istore 1
start local 1 14: iload 1
ldc 65279
if_icmpeq 16
15: aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
invokevirtual java.io.Reader.reset:()V
16: StackMap locals: int
StackMap stack:
aload 0
sipush 8192
newarray 5
putfield org.h2.tools.Csv.inputBuffer:[C
17: aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
ifnonnull 19
18: aload 0
invokevirtual org.h2.tools.Csv.readHeader:()V
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/h2/tools/Csv;
2 6 1 in Ljava/io/InputStream;
8 10 1 e Ljava/io/IOException;
14 20 1 bom I
Exception table:
from to target type
1 6 7 Class java.io.IOException
Exceptions:
throws java.io.IOException
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: StackMap locals: java.util.ArrayList
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readValue:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnonnull 9
3: aload 0
getfield org.h2.tools.Csv.endOfLine:Z
ifeq 6
4: aload 0
getfield org.h2.tools.Csv.endOfFile:Z
ifne 16
aload 1
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 1
5: goto 16
6: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "COLUMN"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.util.ArrayList.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
7: aload 1
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: goto 1
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 12
10: new java.lang.StringBuilder
dup
ldc "COLUMN"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.util.ArrayList.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
11: goto 14
StackMap locals:
StackMap stack:
12: aload 0
getfield org.h2.tools.Csv.caseSensitiveColumnNames:Z
ifne 14
aload 2
invokestatic org.h2.tools.Csv.isSimpleColumnName:(Ljava/lang/String;)Z
ifeq 14
13: aload 2
invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
astore 2
14: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
15: aload 0
getfield org.h2.tools.Csv.endOfLine:Z
ifeq 1
end local 2 16: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/h2/tools/Csv;
1 18 1 list Ljava/util/ArrayList<Ljava/lang/String;>;
2 16 2 v Ljava/lang/String;
Exceptions:
throws java.io.IOException
private static boolean isSimpleColumnName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 4: iload 1
ifne 7
5: iload 3
bipush 95
if_icmpeq 9
iload 3
invokestatic java.lang.Character.isLetter:(C)Z
ifne 9
6: iconst_0
ireturn
7: StackMap locals: int
StackMap stack:
iload 3
bipush 95
if_icmpeq 9
iload 3
invokestatic java.lang.Character.isLetterOrDigit:(C)Z
ifne 9
8: iconst_0
ireturn
end local 3 9: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
10: iload 1
iload 2
if_icmplt 3
end local 2 end local 1 11: aload 0
invokevirtual java.lang.String.length:()I
ifeq 12
iconst_1
ireturn
StackMap locals:
StackMap stack:
12: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 columnName Ljava/lang/String;
1 11 1 i I
2 11 2 length I
4 9 3 ch C
MethodParameters:
Name Flags
columnName
private void pushBack();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield org.h2.tools.Csv.inputBufferPos:I
iconst_1
isub
putfield org.h2.tools.Csv.inputBufferPos:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
private int readChar();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.inputBufferPos:I
aload 0
getfield org.h2.tools.Csv.inputBufferEnd:I
if_icmplt 2
1: aload 0
invokevirtual org.h2.tools.Csv.readBuffer:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
aload 0
dup
getfield org.h2.tools.Csv.inputBufferPos:I
dup_x1
iconst_1
iadd
putfield org.h2.tools.Csv.inputBufferPos:I
caload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/tools/Csv;
Exceptions:
throws java.io.IOException
private int readBuffer();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.endOfFile:Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
iflt 11
3: aload 0
getfield org.h2.tools.Csv.inputBufferPos:I
aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
isub
istore 1
start local 1 4: iload 1
ifle 9
5: aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
astore 2
start local 2 6: iload 1
sipush 4096
iadd
aload 2
arraylength
if_icmple 8
7: aload 0
aload 2
arraylength
iconst_2
imul
newarray 5
putfield org.h2.tools.Csv.inputBuffer:[C
8: StackMap locals: int char[]
StackMap stack:
aload 2
aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 2 9: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.h2.tools.Csv.inputBufferStart:I
10: goto 12
end local 1 11: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 12: StackMap locals: int
StackMap stack:
aload 0
iload 1
putfield org.h2.tools.Csv.inputBufferPos:I
13: aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
iload 1
sipush 4096
invokevirtual java.io.Reader.read:([CII)I
istore 2
start local 2 14: iload 2
iconst_m1
if_icmpne 19
15: aload 0
sipush -1024
putfield org.h2.tools.Csv.inputBufferEnd:I
16: aload 0
iconst_1
putfield org.h2.tools.Csv.endOfFile:Z
17: aload 0
dup
getfield org.h2.tools.Csv.inputBufferPos:I
iconst_1
iadd
putfield org.h2.tools.Csv.inputBufferPos:I
18: iconst_m1
ireturn
19: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iadd
putfield org.h2.tools.Csv.inputBufferEnd:I
20: aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
aload 0
dup
getfield org.h2.tools.Csv.inputBufferPos:I
dup_x1
iconst_1
iadd
putfield org.h2.tools.Csv.inputBufferPos:I
caload
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/h2/tools/Csv;
4 11 1 keep I
12 21 1 keep I
6 9 2 src [C
14 21 2 len I
Exceptions:
throws java.io.IOException
private java.lang.String readValue();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.h2.tools.Csv.endOfLine:Z
1: aload 0
aload 0
getfield org.h2.tools.Csv.inputBufferPos:I
putfield org.h2.tools.Csv.inputBufferStart:I
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
start local 1 3: iload 1
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
if_icmpne 40
4: iconst_0
istore 2
start local 2 5: aload 0
aload 0
getfield org.h2.tools.Csv.inputBufferPos:I
putfield org.h2.tools.Csv.inputBufferStart:I
6: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
7: iload 1
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
if_icmpne 14
8: aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
9: iload 1
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
if_icmpeq 12
10: iconst_2
istore 3
start local 3 11: goto 23
end local 3 12: StackMap locals:
StackMap stack:
iconst_1
istore 2
13: goto 6
StackMap locals:
StackMap stack:
14: iload 1
aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
if_icmpne 21
15: aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
16: iload 1
ifge 19
17: iconst_1
istore 3
start local 3 18: goto 23
end local 3 19: StackMap locals:
StackMap stack:
iconst_1
istore 2
20: goto 6
StackMap locals:
StackMap stack:
21: iload 1
ifge 6
22: iconst_1
istore 3
start local 3 23: StackMap locals: int
StackMap stack:
new java.lang.String
dup
aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
24: aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
aload 0
getfield org.h2.tools.Csv.inputBufferPos:I
aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
isub
iload 3
isub
25: invokespecial java.lang.String.<init>:([CII)V
astore 4
start local 4 26: iload 2
ifeq 28
27: aload 0
aload 4
invokevirtual org.h2.tools.Csv.unEscape:(Ljava/lang/String;)Ljava/lang/String;
astore 4
28: StackMap locals: java.lang.String
StackMap stack:
aload 0
iconst_m1
putfield org.h2.tools.Csv.inputBufferStart:I
29: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.h2.tools.Csv.fieldSeparatorRead:C
if_icmpne 31
30: goto 39
31: StackMap locals:
StackMap stack:
iload 1
bipush 10
if_icmpeq 32
iload 1
iflt 32
iload 1
bipush 13
if_icmpne 34
32: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.tools.Csv.endOfLine:Z
33: goto 39
34: StackMap locals:
StackMap stack:
iload 1
bipush 32
if_icmpeq 37
iload 1
bipush 9
if_icmpeq 37
35: aload 0
invokevirtual org.h2.tools.Csv.pushBack:()V
36: goto 39
37: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
38: goto 29
39: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 40: StackMap locals:
StackMap stack:
iload 1
bipush 10
if_icmpeq 41
iload 1
iflt 41
iload 1
bipush 13
if_icmpne 43
41: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.tools.Csv.endOfLine:Z
42: aconst_null
areturn
43: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.h2.tools.Csv.fieldSeparatorRead:C
if_icmpne 45
44: aconst_null
areturn
45: StackMap locals:
StackMap stack:
iload 1
bipush 32
if_icmple 2
46: aload 0
getfield org.h2.tools.Csv.lineComment:C
ifeq 52
iload 1
aload 0
getfield org.h2.tools.Csv.lineComment:C
if_icmpne 52
47: aload 0
iconst_m1
putfield org.h2.tools.Csv.inputBufferStart:I
48: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
49: iload 1
bipush 10
if_icmpeq 50
iload 1
iflt 50
iload 1
bipush 13
if_icmpne 48
50: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.tools.Csv.endOfLine:Z
51: aconst_null
areturn
52: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readChar:()I
istore 1
53: iload 1
aload 0
getfield org.h2.tools.Csv.fieldSeparatorRead:C
if_icmpne 55
54: goto 57
55: StackMap locals:
StackMap stack:
iload 1
bipush 10
if_icmpeq 56
iload 1
iflt 56
iload 1
bipush 13
if_icmpne 52
56: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.h2.tools.Csv.endOfLine:Z
57: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
getfield org.h2.tools.Csv.inputBuffer:[C
58: aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
aload 0
getfield org.h2.tools.Csv.inputBufferPos:I
aload 0
getfield org.h2.tools.Csv.inputBufferStart:I
isub
iconst_1
isub
59: invokespecial java.lang.String.<init>:([CII)V
astore 2
start local 2 60: aload 0
getfield org.h2.tools.Csv.preserveWhitespace:Z
ifne 62
61: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
62: StackMap locals: java.lang.String
StackMap stack:
aload 0
iconst_m1
putfield org.h2.tools.Csv.inputBufferStart:I
63: aload 0
aload 2
invokevirtual org.h2.tools.Csv.readNull:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 64 0 this Lorg/h2/tools/Csv;
3 64 1 ch I
5 40 2 containsEscape Z
11 12 3 sep I
18 19 3 sep I
23 40 3 sep I
26 40 4 s Ljava/lang/String;
60 64 2 s Ljava/lang/String;
Exceptions:
throws java.io.IOException
private java.lang.String readNull(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.h2.tools.Csv.nullString:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/h2/tools/Csv;
0 3 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private java.lang.String unEscape(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: StackMap locals: java.lang.StringBuilder int char[]
StackMap stack:
aload 1
aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 5
start local 5 4: iload 5
ifge 8
5: aload 1
aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 5
6: iload 5
ifge 8
7: goto 17
8: StackMap locals: int
StackMap stack:
aload 4
ifnonnull 10
9: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 4
10: StackMap locals:
StackMap stack:
aload 2
aload 4
iload 3
iload 5
iload 3
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
11: iload 5
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpne 14
12: aload 1
invokevirtual java.lang.String.length:()I
istore 3
13: goto 17
14: StackMap locals:
StackMap stack:
aload 2
aload 4
iload 5
iconst_1
iadd
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: iload 5
iconst_2
iadd
istore 3
end local 5 16: goto 3
17: StackMap locals:
StackMap stack:
aload 2
aload 1
iload 3
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
pop
18: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/h2/tools/Csv;
0 19 1 s Ljava/lang/String;
1 19 2 buff Ljava/lang/StringBuilder;
2 19 3 start I
3 19 4 chars [C
4 16 5 idx I
MethodParameters:
Name Flags
s
public java.lang.Object[] readRow();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.columnNames:[Ljava/lang/String;
arraylength
anewarray java.lang.String
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
invokevirtual org.h2.tools.Csv.readValue:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
ifnonnull 10
6: aload 0
getfield org.h2.tools.Csv.endOfLine:Z
ifeq 10
7: iload 2
ifne 16
8: aload 0
getfield org.h2.tools.Csv.endOfFile:Z
ifeq 4
9: aconst_null
areturn
10: StackMap locals: java.lang.String
StackMap stack:
iload 2
aload 1
arraylength
if_icmpge 12
11: aload 1
iload 2
iinc 2 1
aload 3
aastore
12: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.tools.Csv.endOfLine:Z
ifeq 4
end local 3 end local 2 13: goto 16
StackMap locals: org.h2.tools.Csv java.lang.String[]
StackMap stack: java.io.IOException
14: astore 2
start local 2 15: new java.lang.StringBuilder
dup
ldc "IOException reading from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.h2.tools.Csv.fileName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic org.h2.tools.Csv.convertException:(Ljava/lang/String;Ljava/lang/Exception;)Ljava/sql/SQLException;
athrow
end local 2 16: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/h2/tools/Csv;
3 17 1 row [Ljava/lang/String;
4 13 2 i I
5 13 3 v Ljava/lang/String;
15 16 2 e Ljava/io/IOException;
Exception table:
from to target type
3 9 14 Class java.io.IOException
10 13 14 Class java.io.IOException
Exceptions:
throws java.sql.SQLException
private static java.sql.SQLException convertException(java.lang.String, java.lang.Exception);
descriptor: (Ljava/lang/String;Ljava/lang/Exception;)Ljava/sql/SQLException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: ldc 90028
aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
aastore
invokestatic org.h2.message.DbException.getJdbcSQLException:(ILjava/lang/Throwable;[Ljava/lang/String;)Ljava/sql/SQLException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
0 1 1 e Ljava/lang/Exception;
MethodParameters:
Name Flags
message
e
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.input:Ljava/io/Reader;
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
1: aload 0
aconst_null
putfield org.h2.tools.Csv.input:Ljava/io/Reader;
2: aload 0
getfield org.h2.tools.Csv.output:Ljava/io/Writer;
invokestatic org.h2.util.IOUtils.closeSilently:(Ljava/lang/AutoCloseable;)V
3: aload 0
aconst_null
putfield org.h2.tools.Csv.output:Ljava/io/Writer;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/h2/tools/Csv;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.sql.SQLException
dup
ldc "Method is not supported"
ldc "CSV"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
Exceptions:
throws java.sql.SQLException
public void setFieldSeparatorWrite(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.h2.tools.Csv.fieldSeparatorWrite:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 fieldSeparatorWrite Ljava/lang/String;
MethodParameters:
Name Flags
fieldSeparatorWrite
public java.lang.String getFieldSeparatorWrite();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.fieldSeparatorWrite:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setCaseSensitiveColumnNames(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.caseSensitiveColumnNames:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 caseSensitiveColumnNames Z
MethodParameters:
Name Flags
caseSensitiveColumnNames
public boolean getCaseSensitiveColumnNames();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.caseSensitiveColumnNames:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setFieldSeparatorRead(char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.fieldSeparatorRead:C
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 fieldSeparatorRead C
MethodParameters:
Name Flags
fieldSeparatorRead
public char getFieldSeparatorRead();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.fieldSeparatorRead:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void (char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.lineComment:C
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 lineCommentCharacter C
MethodParameters:
Name Flags
lineCommentCharacter
public char ();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.lineComment:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setFieldDelimiter(char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.fieldDelimiter:C
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 fieldDelimiter C
MethodParameters:
Name Flags
fieldDelimiter
public char getFieldDelimiter();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.fieldDelimiter:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setEscapeCharacter(char);
descriptor: (C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.escapeCharacter:C
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 escapeCharacter C
MethodParameters:
Name Flags
escapeCharacter
public char getEscapeCharacter();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.escapeCharacter:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setLineSeparator(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.h2.tools.Csv.lineSeparator:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 lineSeparator Ljava/lang/String;
MethodParameters:
Name Flags
lineSeparator
public java.lang.String getLineSeparator();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.lineSeparator:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setNullString(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.h2.tools.Csv.nullString:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 nullString Ljava/lang/String;
MethodParameters:
Name Flags
nullString
public java.lang.String getNullString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.nullString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setPreserveWhitespace(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.preserveWhitespace:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 value Z
MethodParameters:
Name Flags
value
public boolean getPreserveWhitespace();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.preserveWhitespace:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public void setWriteColumnHeader(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.tools.Csv.writeColumnHeader:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/tools/Csv;
0 2 1 value Z
MethodParameters:
Name Flags
value
public boolean getWriteColumnHeader();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.tools.Csv.writeColumnHeader:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/tools/Csv;
public java.lang.String setOptions(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
bipush 32
iconst_0
invokestatic org.h2.util.StringUtils.arraySplit:(Ljava/lang/String;CZ)[Ljava/lang/String;
astore 3
start local 3 2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 45
StackMap locals: org.h2.tools.Csv java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 6
5: goto 44
6: StackMap locals: org.h2.tools.Csv java.lang.String java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 4
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 7: aload 4
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
iconst_1
iconst_1
ldc " "
invokestatic org.h2.util.StringUtils.trim:(Ljava/lang/String;ZZLjava/lang/String;)Ljava/lang/String;
astore 9
start local 9 8: aload 4
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 10
start local 10 9: aload 10
invokevirtual java.lang.String.isEmpty:()Z
ifeq 10
iconst_0
goto 11
StackMap locals: int java.lang.String java.lang.String
StackMap stack:
10: aload 10
iconst_0
invokevirtual java.lang.String.charAt:(I)C
StackMap locals:
StackMap stack: int
11: istore 11
start local 11 12: aload 9
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "escape"
aastore
dup
iconst_1
ldc "esc"
aastore
dup
iconst_2
ldc "escapeCharacter"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 15
13: aload 0
iload 11
invokevirtual org.h2.tools.Csv.setEscapeCharacter:(C)V
14: goto 44
StackMap locals: int
StackMap stack:
15: aload 9
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "fieldDelimiter"
aastore
dup
iconst_1
ldc "fieldDelim"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 18
16: aload 0
iload 11
invokevirtual org.h2.tools.Csv.setFieldDelimiter:(C)V
17: goto 44
StackMap locals:
StackMap stack:
18: aload 9
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "fieldSeparator"
aastore
dup
iconst_1
ldc "fieldSep"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 22
19: aload 0
iload 11
invokevirtual org.h2.tools.Csv.setFieldSeparatorRead:(C)V
20: aload 0
aload 10
invokevirtual org.h2.tools.Csv.setFieldSeparatorWrite:(Ljava/lang/String;)V
21: goto 44
StackMap locals:
StackMap stack:
22: aload 9
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "lineComment"
aastore
dup
iconst_1
ldc "lineCommentCharacter"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 25
23: aload 0
iload 11
invokevirtual org.h2.tools.Csv.setLineCommentCharacter:(C)V
24: goto 44
StackMap locals:
StackMap stack:
25: aload 9
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "lineSeparator"
aastore
dup
iconst_1
ldc "lineSep"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 28
26: aload 0
aload 10
invokevirtual org.h2.tools.Csv.setLineSeparator:(Ljava/lang/String;)V
27: goto 44
StackMap locals:
StackMap stack:
28: aload 9
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "null"
aastore
dup
iconst_1
ldc "nullString"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 31
29: aload 0
aload 10
invokevirtual org.h2.tools.Csv.setNullString:(Ljava/lang/String;)V
30: goto 44
StackMap locals:
StackMap stack:
31: aload 9
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "charset"
aastore
dup
iconst_1
ldc "characterSet"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 34
32: aload 10
astore 2
33: goto 44
StackMap locals:
StackMap stack:
34: aload 9
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "preserveWhitespace"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 37
35: aload 0
aload 10
iconst_0
iconst_0
invokestatic org.h2.util.Utils.parseBoolean:(Ljava/lang/String;ZZ)Z
invokevirtual org.h2.tools.Csv.setPreserveWhitespace:(Z)V
36: goto 44
StackMap locals:
StackMap stack:
37: aload 9
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "writeColumnHeader"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 40
38: aload 0
aload 10
iconst_1
iconst_0
invokestatic org.h2.util.Utils.parseBoolean:(Ljava/lang/String;ZZ)Z
invokevirtual org.h2.tools.Csv.setWriteColumnHeader:(Z)V
39: goto 44
StackMap locals:
StackMap stack:
40: aload 9
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "caseSensitiveColumnNames"
aastore
invokestatic org.h2.tools.Csv.isParam:(Ljava/lang/String;[Ljava/lang/String;)Z
ifeq 43
41: aload 0
aload 10
iconst_0
iconst_0
invokestatic org.h2.util.Utils.parseBoolean:(Ljava/lang/String;ZZ)Z
invokevirtual org.h2.tools.Csv.setCaseSensitiveColumnNames:(Z)V
42: goto 44
43: StackMap locals:
StackMap stack:
aload 9
invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
athrow
end local 11 end local 10 end local 9 end local 8 end local 4 44: StackMap locals: org.h2.tools.Csv java.lang.String java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
45: iload 5
iload 6
if_icmplt 3
46: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/h2/tools/Csv;
0 47 1 options Ljava/lang/String;
1 47 2 charset Ljava/lang/String;
2 47 3 keyValuePairs [Ljava/lang/String;
4 44 4 pair Ljava/lang/String;
7 44 8 index I
8 44 9 key Ljava/lang/String;
9 44 10 value Ljava/lang/String;
12 44 11 ch C
MethodParameters:
Name Flags
options
private static boolean isParam(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Z
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 key Ljava/lang/String;
0 7 1 values [Ljava/lang/String;
2 4 2 v Ljava/lang/String;
MethodParameters:
Name Flags
key
values
}
SourceFile: "Csv.java"