public class com.opencsv.CSVParser extends com.opencsv.AbstractCSVParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.opencsv.CSVParser
super_class: com.opencsv.AbstractCSVParser
{
private static final int BEGINNING_OF_LINE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private final char escape;
descriptor: C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean strictQuotes;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean ignoreLeadingWhiteSpace;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean ignoreQuotations;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int tokensOnLastCompleteLine;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean inField;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.Locale errorLocale;
descriptor: Ljava/util/Locale;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$com$opencsv$enums$CSVReaderNullFieldIndicator;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
bipush 44
bipush 34
1: bipush 92
iconst_0
2: iconst_1
3: iconst_0
4: getstatic com.opencsv.CSVParser.DEFAULT_NULL_FIELD_INDICATOR:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokespecial com.opencsv.CSVParser.<init>:(CCCZZZLcom/opencsv/enums/CSVReaderNullFieldIndicator;Ljava/util/Locale;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/opencsv/CSVParser;
void <init>(char, char, char, boolean, boolean, boolean, com.opencsv.enums.CSVReaderNullFieldIndicator, java.util.Locale);
descriptor: (CCCZZZLcom/opencsv/enums/CSVReaderNullFieldIndicator;Ljava/util/Locale;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
iload 1
iload 2
aload 7
invokespecial com.opencsv.AbstractCSVParser.<init>:(CCLcom/opencsv/enums/CSVReaderNullFieldIndicator;)V
1: aload 0
iconst_m1
putfield com.opencsv.CSVParser.tokensOnLastCompleteLine:I
2: aload 0
iconst_0
putfield com.opencsv.CSVParser.inField:Z
3: aload 0
aload 8
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokestatic org.apache.commons.lang3.ObjectUtils.defaultIfNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Locale
putfield com.opencsv.CSVParser.errorLocale:Ljava/util/Locale;
4: aload 0
iload 1
iload 2
iload 3
invokevirtual com.opencsv.CSVParser.anyCharactersAreTheSame:(CCC)Z
ifeq 6
5: new java.lang.UnsupportedOperationException
dup
ldc "opencsv"
aload 0
getfield com.opencsv.CSVParser.errorLocale:Ljava/util/Locale;
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
ldc "special.characters.must.differ"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: com.opencsv.CSVParser int int int int int int com.opencsv.enums.CSVReaderNullFieldIndicator java.util.Locale
StackMap stack:
iload 1
ifne 8
7: new java.lang.UnsupportedOperationException
dup
ldc "opencsv"
aload 0
getfield com.opencsv.CSVParser.errorLocale:Ljava/util/Locale;
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
ldc "define.separator"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield com.opencsv.CSVParser.escape:C
9: aload 0
iload 4
putfield com.opencsv.CSVParser.strictQuotes:Z
10: aload 0
iload 5
putfield com.opencsv.CSVParser.ignoreLeadingWhiteSpace:Z
11: aload 0
iload 6
putfield com.opencsv.CSVParser.ignoreQuotations:Z
12: return
end local 8 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 13 0 this Lcom/opencsv/CSVParser;
0 13 1 separator C
0 13 2 quotechar C
0 13 3 escape C
0 13 4 strictQuotes Z
0 13 5 ignoreLeadingWhiteSpace Z
0 13 6 ignoreQuotations Z
0 13 7 nullFieldIndicator Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
0 13 8 errorLocale Ljava/util/Locale;
MethodParameters:
Name Flags
separator
quotechar
escape
strictQuotes
ignoreLeadingWhiteSpace
ignoreQuotations
nullFieldIndicator
errorLocale
public char getEscape();
descriptor: ()C
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.opencsv.CSVParser.escape:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/opencsv/CSVParser;
public boolean isStrictQuotes();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.opencsv.CSVParser.strictQuotes:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/opencsv/CSVParser;
public boolean isIgnoreLeadingWhiteSpace();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.opencsv.CSVParser.ignoreLeadingWhiteSpace:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/opencsv/CSVParser;
public boolean isIgnoreQuotations();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.opencsv.CSVParser.ignoreQuotations:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/opencsv/CSVParser;
private boolean anyCharactersAreTheSame(char, char, char);
descriptor: (CCC)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
invokevirtual com.opencsv.CSVParser.isSameCharacter:(CC)Z
ifne 1
aload 0
iload 1
iload 3
invokevirtual com.opencsv.CSVParser.isSameCharacter:(CC)Z
ifne 1
aload 0
iload 2
iload 3
invokevirtual com.opencsv.CSVParser.isSameCharacter:(CC)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 separator C
0 2 2 quotechar C
0 2 3 escape C
MethodParameters:
Name Flags
separator
quotechar
escape
private boolean isSameCharacter(char, char);
descriptor: (CC)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 1
iload 1
iload 2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 c1 C
0 2 2 c2 C
MethodParameters:
Name Flags
c1
c2
protected java.lang.String convertToCsvValue(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
aload 0
getfield com.opencsv.CSVParser.nullFieldIndicator:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
getstatic com.opencsv.enums.CSVReaderNullFieldIndicator.NEITHER:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokevirtual com.opencsv.enums.CSVReaderNullFieldIndicator.equals:(Ljava/lang/Object;)Z
ifne 1
ldc ""
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: java.lang.String
2: astore 3
start local 3 3: new java.lang.StringBuilder
dup
aload 3
ifnonnull 4
bipush 16
goto 5
StackMap locals: com.opencsv.CSVParser java.lang.String int java.lang.String
StackMap stack: new 3 new 3
4: aload 3
invokevirtual java.lang.String.length:()I
iconst_2
imul
StackMap locals: com.opencsv.CSVParser java.lang.String int java.lang.String
StackMap stack: new 3 new 3 int
5: invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 6: aload 3
aload 0
invokevirtual com.opencsv.CSVParser.getQuotechar:()C
invokestatic org.apache.commons.lang3.StringUtils.contains:(Ljava/lang/CharSequence;I)Z
istore 5
start local 5 7: aload 3
aload 0
invokevirtual com.opencsv.CSVParser.getEscape:()C
invokestatic org.apache.commons.lang3.StringUtils.contains:(Ljava/lang/CharSequence;I)Z
istore 6
start local 6 8: aload 3
aload 0
invokevirtual com.opencsv.CSVParser.getSeparator:()C
invokestatic org.apache.commons.lang3.StringUtils.contains:(Ljava/lang/CharSequence;I)Z
istore 7
start local 7 9: iload 2
ifne 10
aload 0
aload 1
iload 7
invokevirtual com.opencsv.CSVParser.isSurroundWithQuotes:(Ljava/lang/String;Z)Z
ifne 10
iconst_0
goto 11
StackMap locals: com.opencsv.CSVParser java.lang.String int java.lang.String java.lang.StringBuilder int int int
StackMap stack:
10: iconst_1
StackMap locals:
StackMap stack: int
11: istore 8
start local 8 12: iload 5
ifne 13
aload 3
goto 14
StackMap locals: int
StackMap stack:
13: aload 3
aload 0
invokevirtual com.opencsv.CSVParser.getQuotechar:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.opencsv.CSVParser.getQuotechar:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.opencsv.CSVParser.getQuotechar:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
14: astore 9
start local 9 15: iload 6
ifne 16
aload 9
goto 17
StackMap locals: java.lang.String
StackMap stack:
16: aload 9
aload 0
invokevirtual com.opencsv.CSVParser.getEscape:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
new java.lang.StringBuilder
dup
aload 0
invokevirtual com.opencsv.CSVParser.getEscape:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.opencsv.CSVParser.getEscape:()C
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
17: astore 9
18: iload 8
ifeq 20
19: aload 4
aload 0
invokevirtual com.opencsv.CSVParser.getQuotechar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
aload 4
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: iload 8
ifeq 23
22: aload 4
aload 0
invokevirtual com.opencsv.CSVParser.getQuotechar:()C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
23: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 9 end local 8 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 24 0 this Lcom/opencsv/CSVParser;
0 24 1 value Ljava/lang/String;
0 24 2 applyQuotestoAll Z
3 24 3 testValue Ljava/lang/String;
6 24 4 builder Ljava/lang/StringBuilder;
7 24 5 containsQuoteChar Z
8 24 6 containsEscapeChar Z
9 24 7 containsSeparatorChar Z
12 24 8 surroundWithQuotes Z
15 24 9 convertedString Ljava/lang/String;
MethodParameters:
Name Flags
value
applyQuotestoAll
protected java.lang.String[] parseLine(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifne 2
aload 0
getfield com.opencsv.CSVParser.pending:Ljava/lang/String;
ifnull 2
1: aload 0
aconst_null
putfield com.opencsv.CSVParser.pending:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 8
3: aload 0
getfield com.opencsv.CSVParser.pending:Ljava/lang/String;
ifnull 7
4: aload 0
getfield com.opencsv.CSVParser.pending:Ljava/lang/String;
astore 3
start local 3 5: aload 0
aconst_null
putfield com.opencsv.CSVParser.pending:Ljava/lang/String;
6: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 3
aastore
areturn
end local 3 7: StackMap locals:
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.opencsv.CSVParser.tokensOnLastCompleteLine:I
ifgt 9
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
goto 10
StackMap locals:
StackMap stack:
9: new java.util.ArrayList
dup
aload 0
getfield com.opencsv.CSVParser.tokensOnLastCompleteLine:I
iconst_1
iadd
iconst_2
imul
invokespecial java.util.ArrayList.<init>:(I)V
StackMap locals:
StackMap stack: java.util.ArrayList
10: astore 3
start local 3 11: new com.opencsv.CSVParser$StringFragmentCopier
dup
aload 1
invokespecial com.opencsv.CSVParser$StringFragmentCopier.<init>:(Ljava/lang/String;)V
astore 4
start local 4 12: iconst_0
istore 5
start local 5 13: iconst_0
istore 6
start local 6 14: aload 0
getfield com.opencsv.CSVParser.pending:Ljava/lang/String;
ifnull 49
15: aload 4
aload 0
getfield com.opencsv.CSVParser.pending:Ljava/lang/String;
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.append:(Ljava/lang/String;)V
16: aload 0
aconst_null
putfield com.opencsv.CSVParser.pending:Ljava/lang/String;
17: aload 0
getfield com.opencsv.CSVParser.ignoreQuotations:Z
ifeq 18
iconst_0
goto 19
StackMap locals: com.opencsv.CSVParser java.lang.String int java.util.List com.opencsv.CSVParser$StringFragmentCopier int int
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: istore 5
20: goto 49
21: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.takeInput:()C
istore 7
start local 7 22: iload 7
aload 0
getfield com.opencsv.CSVParser.escape:C
if_icmpne 25
23: aload 0
aload 1
aload 4
iload 5
invokevirtual com.opencsv.CSVParser.handleEscapeCharacter:(Ljava/lang/String;Lcom/opencsv/CSVParser$StringFragmentCopier;Z)V
24: goto 49
StackMap locals: int
StackMap stack:
25: iload 7
aload 0
getfield com.opencsv.CSVParser.quotechar:C
if_icmpne 40
26: aload 0
aload 1
aload 0
iload 5
invokevirtual com.opencsv.CSVParser.inQuotes:(Z)Z
aload 4
getfield com.opencsv.CSVParser$StringFragmentCopier.i:I
iconst_1
isub
invokevirtual com.opencsv.CSVParser.isNextCharacterEscapedQuote:(Ljava/lang/String;ZI)Z
ifeq 30
27: aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.takeInput:()C
pop
28: aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.appendPrev:()V
29: goto 36
30: StackMap locals:
StackMap stack:
iload 5
ifeq 31
iconst_0
goto 32
StackMap locals:
StackMap stack:
31: iconst_1
StackMap locals:
StackMap stack: int
32: istore 5
33: aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.isEmptyOutput:()Z
ifeq 35
34: iconst_1
istore 6
35: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual com.opencsv.CSVParser.handleQuoteCharButNotStrictQuotes:(Ljava/lang/String;Lcom/opencsv/CSVParser$StringFragmentCopier;)V
36: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.opencsv.CSVParser.inField:Z
ifeq 37
iconst_0
goto 38
StackMap locals:
StackMap stack: com.opencsv.CSVParser
37: iconst_1
StackMap locals: com.opencsv.CSVParser java.lang.String int java.util.List com.opencsv.CSVParser$StringFragmentCopier int int int
StackMap stack: com.opencsv.CSVParser int
38: putfield com.opencsv.CSVParser.inField:Z
39: goto 49
StackMap locals:
StackMap stack:
40: iload 7
aload 0
getfield com.opencsv.CSVParser.separator:C
if_icmpne 45
iload 5
ifeq 41
aload 0
getfield com.opencsv.CSVParser.ignoreQuotations:Z
ifeq 45
41: StackMap locals:
StackMap stack:
aload 3
aload 0
aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.takeOutput:()Ljava/lang/String;
iload 6
invokevirtual com.opencsv.CSVParser.convertEmptyToNullIfNeeded:(Ljava/lang/String;Z)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
42: iconst_0
istore 6
43: aload 0
iconst_0
putfield com.opencsv.CSVParser.inField:Z
44: goto 49
45: StackMap locals:
StackMap stack:
aload 0
getfield com.opencsv.CSVParser.strictQuotes:Z
ifeq 46
iload 5
ifeq 49
aload 0
getfield com.opencsv.CSVParser.ignoreQuotations:Z
ifne 49
46: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.appendPrev:()V
47: aload 0
iconst_1
putfield com.opencsv.CSVParser.inField:Z
48: iconst_1
istore 6
end local 7 49: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.isEmptyInput:()Z
ifeq 21
50: iload 5
ifeq 59
aload 0
getfield com.opencsv.CSVParser.ignoreQuotations:Z
ifne 59
51: iload 2
ifeq 55
52: aload 4
bipush 10
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.append:(C)V
53: aload 0
aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.peekOutput:()Ljava/lang/String;
putfield com.opencsv.CSVParser.pending:Ljava/lang/String;
54: goto 61
55: StackMap locals:
StackMap stack:
new java.io.IOException
dup
56: ldc "opencsv"
aload 0
getfield com.opencsv.CSVParser.errorLocale:Ljava/util/Locale;
invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
ldc "unterminated.quote"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
57: aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.peekOutput:()Ljava/lang/String;
aastore
58: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
59: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.opencsv.CSVParser.inField:Z
60: aload 3
aload 0
aload 4
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.takeOutput:()Ljava/lang/String;
iload 6
invokevirtual com.opencsv.CSVParser.convertEmptyToNullIfNeeded:(Ljava/lang/String;Z)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
61: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface java.util.List.size:()I
putfield com.opencsv.CSVParser.tokensOnLastCompleteLine:I
62: aload 3
getstatic org.apache.commons.lang3.ArrayUtils.EMPTY_STRING_ARRAY:[Ljava/lang/String;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
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 63 0 this Lcom/opencsv/CSVParser;
0 63 1 nextLine Ljava/lang/String;
0 63 2 multi Z
5 7 3 s Ljava/lang/String;
11 63 3 tokensOnThisLine Ljava/util/List<Ljava/lang/String;>;
12 63 4 sfc Lcom/opencsv/CSVParser$StringFragmentCopier;
13 63 5 inQuotes Z
14 63 6 fromQuotedField Z
22 49 7 c C
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
nextLine
multi
private void handleQuoteCharButNotStrictQuotes(java.lang.String, com.opencsv.CSVParser$StringFragmentCopier);
descriptor: (Ljava/lang/String;Lcom/opencsv/CSVParser$StringFragmentCopier;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.opencsv.CSVParser.strictQuotes:Z
ifne 10
1: aload 2
getfield com.opencsv.CSVParser$StringFragmentCopier.i:I
istore 3
start local 3 2: iload 3
iconst_3
if_icmple 10
3: aload 1
iload 3
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
aload 0
getfield com.opencsv.CSVParser.separator:C
if_icmpeq 10
4: aload 1
invokevirtual java.lang.String.length:()I
iload 3
if_icmple 10
5: aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
aload 0
getfield com.opencsv.CSVParser.separator:C
if_icmpeq 10
6: aload 0
getfield com.opencsv.CSVParser.ignoreLeadingWhiteSpace:Z
ifeq 9
aload 2
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.isEmptyOutput:()Z
ifne 9
aload 2
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.peekOutput:()Ljava/lang/String;
invokestatic org.apache.commons.lang3.StringUtils.isWhitespace:(Ljava/lang/CharSequence;)Z
ifeq 9
7: aload 2
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.clearOutput:()V
8: goto 10
9: StackMap locals: int
StackMap stack:
aload 2
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.appendPrev:()V
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/opencsv/CSVParser;
0 11 1 nextLine Ljava/lang/String;
0 11 2 sfc Lcom/opencsv/CSVParser$StringFragmentCopier;
2 10 3 i I
MethodParameters:
Name Flags
nextLine
sfc
private void handleEscapeCharacter(java.lang.String, com.opencsv.CSVParser$StringFragmentCopier, boolean);
descriptor: (Ljava/lang/String;Lcom/opencsv/CSVParser$StringFragmentCopier;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 0
iload 3
invokevirtual com.opencsv.CSVParser.inQuotes:(Z)Z
aload 2
getfield com.opencsv.CSVParser$StringFragmentCopier.i:I
iconst_1
isub
invokevirtual com.opencsv.CSVParser.isNextCharacterEscapable:(Ljava/lang/String;ZI)Z
ifeq 3
1: aload 2
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.takeInput:()C
pop
2: aload 2
invokevirtual com.opencsv.CSVParser$StringFragmentCopier.appendPrev:()V
3: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/opencsv/CSVParser;
0 4 1 nextLine Ljava/lang/String;
0 4 2 sfc Lcom/opencsv/CSVParser$StringFragmentCopier;
0 4 3 inQuotes Z
MethodParameters:
Name Flags
nextLine
sfc
inQuotes
private java.lang.String convertEmptyToNullIfNeeded(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 2
aload 0
iload 2
invokevirtual com.opencsv.CSVParser.shouldConvertEmptyToNull:(Z)Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/opencsv/CSVParser;
0 3 1 s Ljava/lang/String;
0 3 2 fromQuotedField Z
MethodParameters:
Name Flags
s
fromQuotedField
private boolean shouldConvertEmptyToNull(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.opencsv.CSVParser.$SWITCH_TABLE$com$opencsv$enums$CSVReaderNullFieldIndicator:()[I
aload 0
getfield com.opencsv.CSVParser.nullFieldIndicator:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokevirtual com.opencsv.enums.CSVReaderNullFieldIndicator.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 2
2: 5
3: 1
default: 6
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iload 1
ifeq 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
5: StackMap locals:
StackMap stack:
iload 1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/opencsv/CSVParser;
0 7 1 fromQuotedField Z
MethodParameters:
Name Flags
fromQuotedField
private boolean inQuotes(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
aload 0
getfield com.opencsv.CSVParser.ignoreQuotations:Z
ifeq 2
StackMap locals:
StackMap stack:
1: aload 0
getfield com.opencsv.CSVParser.inField:Z
ifne 2
iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/opencsv/CSVParser;
0 3 1 inQuotes Z
MethodParameters:
Name Flags
inQuotes
private boolean isNextCharacterEscapedQuote(java.lang.String, boolean, int);
descriptor: (Ljava/lang/String;ZI)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 4
1: aload 1
invokevirtual java.lang.String.length:()I
iload 3
iconst_1
iadd
if_icmple 4
2: aload 0
aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.opencsv.CSVParser.isCharacterQuoteCharacter:(C)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/opencsv/CSVParser;
0 5 1 nextLine Ljava/lang/String;
0 5 2 inQuotes Z
0 5 3 i I
MethodParameters:
Name Flags
nextLine
inQuotes
i
private boolean isCharacterQuoteCharacter(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.opencsv.CSVParser.quotechar:C
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 c C
MethodParameters:
Name Flags
c
private boolean isCharacterEscapeCharacter(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.opencsv.CSVParser.escape:C
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 c C
MethodParameters:
Name Flags
c
private boolean isCharacterSeparator(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.opencsv.CSVParser.separator:C
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 c C
MethodParameters:
Name Flags
c
private boolean isCharacterEscapable(char);
descriptor: (C)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual com.opencsv.CSVParser.isCharacterQuoteCharacter:(C)Z
ifne 1
aload 0
iload 1
invokevirtual com.opencsv.CSVParser.isCharacterEscapeCharacter:(C)Z
ifne 1
aload 0
iload 1
invokevirtual com.opencsv.CSVParser.isCharacterSeparator:(C)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 c C
MethodParameters:
Name Flags
c
protected boolean isNextCharacterEscapable(java.lang.String, boolean, int);
descriptor: (Ljava/lang/String;ZI)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ifeq 4
1: aload 1
invokevirtual java.lang.String.length:()I
iload 3
iconst_1
iadd
if_icmple 4
2: aload 0
aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokevirtual com.opencsv.CSVParser.isCharacterEscapable:(C)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/opencsv/CSVParser;
0 5 1 nextLine Ljava/lang/String;
0 5 2 inQuotes Z
0 5 3 i I
MethodParameters:
Name Flags
nextLine
inQuotes
i
public void setErrorLocale(java.util.Locale);
descriptor: (Ljava/util/Locale;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokestatic org.apache.commons.lang3.ObjectUtils.defaultIfNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Locale
putfield com.opencsv.CSVParser.errorLocale:Ljava/util/Locale;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/opencsv/CSVParser;
0 2 1 errorLocale Ljava/util/Locale;
MethodParameters:
Name Flags
errorLocale
static int[] $SWITCH_TABLE$com$opencsv$enums$CSVReaderNullFieldIndicator();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.opencsv.CSVParser.$SWITCH_TABLE$com$opencsv$enums$CSVReaderNullFieldIndicator:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.opencsv.enums.CSVReaderNullFieldIndicator.values:()[Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.opencsv.enums.CSVReaderNullFieldIndicator.BOTH:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokevirtual com.opencsv.enums.CSVReaderNullFieldIndicator.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.opencsv.enums.CSVReaderNullFieldIndicator.EMPTY_QUOTES:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokevirtual com.opencsv.enums.CSVReaderNullFieldIndicator.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.opencsv.enums.CSVReaderNullFieldIndicator.EMPTY_SEPARATORS:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokevirtual com.opencsv.enums.CSVReaderNullFieldIndicator.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.opencsv.enums.CSVReaderNullFieldIndicator.NEITHER:Lcom/opencsv/enums/CSVReaderNullFieldIndicator;
invokevirtual com.opencsv.enums.CSVReaderNullFieldIndicator.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic com.opencsv.CSVParser.$SWITCH_TABLE$com$opencsv$enums$CSVReaderNullFieldIndicator:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "CSVParser.java"
NestMembers:
com.opencsv.CSVParser$StringFragmentCopier
InnerClasses:
private StringFragmentCopier = com.opencsv.CSVParser$StringFragmentCopier of com.opencsv.CSVParser