File path: /sql12/plugins/dataimport/src/com/csvreader/CsvReader.java | File path: /sql12/plugins/dataimport/src/com/csvreader/CsvReader.java | |||
Method name: boolean readRecord()
|
Method name: boolean readRecord()
|
|||
Number of AST nodes: 72 | Number of AST nodes: 72 | |||
1 | switch (currentLetter) {↵ | 1 | switch (currentLetter) {↵ | |
2 | case 'n':↵ | 2 | case 'n':↵ | |
3 | appendLetter(Letters.LF);↵ | 3 | appendLetter(Letters.LF);↵ | |
4 | break;↵ | 4 | break;↵ | |
5 | case 'r':↵ | 5 | case 'r':↵ | |
6 | appendLetter(Letters.CR);↵ | 6 | appendLetter(Letters.CR);↵ | |
7 | break;↵ | 7 | break;↵ | |
8 | case 't':↵ | 8 | case 't':↵ | |
9 | appendLetter(Letters.TAB);↵ | 9 | appendLetter(Letters.TAB);↵ | |
10 | break;↵ | 10 | break;↵ | |
11 | case 'b':↵ | 11 | case 'b':↵ | |
12 | appendLetter(Letters.BACKSPACE);↵ | 12 | appendLetter(Letters.BACKSPACE);↵ | |
13 | break;↵ | 13 | break;↵ | |
14 | case 'f':↵ | 14 | case 'f':↵ | |
15 | appendLetter(Letters.FORM_FEED);↵ | 15 | appendLetter(Letters.FORM_FEED);↵ | |
16 | break;↵ | 16 | break;↵ | |
17 | case 'e':↵ | 17 | case 'e':↵ | |
18 | appendLetter(Letters.ESCAPE);↵ | 18 | appendLetter(Letters.ESCAPE);↵ | |
19 | break;↵ | 19 | break;↵ | |
20 | case 'v':↵ | 20 | case 'v':↵ | |
21 | appendLetter(Letters.VERTICAL_TAB);↵ | 21 | appendLetter(Letters.VERTICAL_TAB);↵ | |
22 | break;↵ | 22 | break;↵ | |
23 | case 'a':↵ | 23 | case 'a':↵ | |
24 | appendLetter(Letters.ALERT);↵ | 24 | appendLetter(Letters.ALERT);↵ | |
25 | break;↵ | 25 | break;↵ | |
26 | case '0':↵ | 26 | case '0':↵ | |
27 | case '1':↵ | 27 | case '1':↵ | |
28 | case '2':↵ | 28 | case '2':↵ | |
29 | case '3':↵ | 29 | case '3':↵ | |
30 | case '4':↵ | 30 | case '4':↵ | |
31 | case '5':↵ | 31 | case '5':↵ | |
32 | case '6':↵ | 32 | case '6':↵ | |
33 | case '7':↵ | 33 | case '7':↵ | |
34 | escape = ComplexEscape.OCTAL;↵ | 34 | escape = ComplexEscape.OCTAL;↵ | |
35 | readingComplexEscape = true;↵ | 35 | readingComplexEscape = true;↵ | |
36 | escapeLength = 1;↵ | 36 | escapeLength = 1;↵ | |
37 | escapeValue = (char) (currentLetter - '0');↵ | 37 | escapeValue = (char) (currentLetter - '0');↵ | |
38 | dataBuffer.ColumnStart = dataBuffer.Position + 1;↵ | 38 | dataBuffer.ColumnStart = dataBuffer.Position + 1;↵ | |
39 | break;↵ | 39 | break;↵ | |
40 | case 'u':↵ | 40 | case 'u':↵ | |
41 | case 'x':↵ | 41 | case 'x':↵ | |
42 | case 'o':↵ | 42 | case 'o':↵ | |
43 | case 'd':↵ | 43 | case 'd':↵ | |
44 | case 'U':↵ | 44 | case 'U':↵ | |
45 | case 'X':↵ | 45 | case 'X':↵ | |
46 | case 'O':↵ | 46 | case 'O':↵ | |
47 | case 'D':↵ | 47 | case 'D':↵ | |
48 | switch (currentLetter) {↵ | 48 | switch (currentLetter) {↵ | |
49 | case 'u':↵ | 49 | case 'u':↵ | |
50 | case 'U':↵ | 50 | case 'U':↵ | |
51 | escape = ComplexEscape.UNICODE;↵ | 51 | escape = ComplexEscape.UNICODE;↵ | |
52 | break;↵ | 52 | break;↵ | |
53 | case 'x':↵ | 53 | case 'x':↵ | |
54 | case 'X':↵ | 54 | case 'X':↵ | |
55 | escape = ComplexEscape.HEX;↵ | 55 | escape = ComplexEscape.HEX;↵ | |
56 | break;↵ | 56 | break;↵ | |
57 | case 'o':↵ | 57 | case 'o':↵ | |
58 | case 'O':↵ | 58 | case 'O':↵ | |
59 | escape = ComplexEscape.OCTAL;↵ | 59 | escape = ComplexEscape.OCTAL;↵ | |
60 | break;↵ | 60 | break;↵ | |
61 | case 'd':↵ | 61 | case 'd':↵ | |
62 | case 'D':↵ | 62 | case 'D':↵ | |
63 | escape = ComplexEscape.DECIMAL;↵ | 63 | escape = ComplexEscape.DECIMAL;↵ | |
64 | break;↵ | 64 | break;↵ | |
65 | }↵ | 65 | }↵ | |
66 | readingComplexEscape = true;↵ | 66 | readingComplexEscape = true;↵ | |
67 | escapeLength = 0;↵ | 67 | escapeLength = 0;↵ | |
68 | escapeValue = (char) 0;↵ | 68 | escapeValue = (char) 0;↵ | |
69 | dataBuffer.ColumnStart = dataBuffer.Position + 1;↵ | 69 | dataBuffer.ColumnStart = dataBuffer.Position + 1;↵ | |
70 | break;↵ | 70 | break;↵ | |
71 | default:↵ | 71 | default:↵ | |
72 | break;↵ | 72 | break;↵ | |
73 | }↵ | 73 | }↵ | |
74 | lastLetterWasEscape = false; | 74 | lastLetterWasBackslash = false; | |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 23.2 |
Clones location | Clones are in the same method |
Number of node comparisons | 1648 |
Number of mapped statements | 72 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 499.1 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
76 | switch (currentLetter) | 236 | switch (currentLetter) | |||||||||||
77 | case 'n': | 237 | case 'n': | |||||||||||
78 | appendLetter(Letters.LF); | 238 | appendLetter(Letters.LF); | |||||||||||
79 | break; | 239 | break; | |||||||||||
80 | case 'r': | 240 | case 'r': | |||||||||||
81 | appendLetter(Letters.CR); | 241 | appendLetter(Letters.CR); | |||||||||||
82 | break; | 242 | break; | |||||||||||
83 | case 't': | 243 | case 't': | |||||||||||
84 | appendLetter(Letters.TAB); | 244 | appendLetter(Letters.TAB); | |||||||||||
85 | break; | 245 | break; | |||||||||||
86 | case 'b': | 246 | case 'b': | |||||||||||
87 | appendLetter(Letters.BACKSPACE); | 247 | appendLetter(Letters.BACKSPACE); | |||||||||||
88 | break; | 248 | break; | |||||||||||
89 | case 'f': | 249 | case 'f': | |||||||||||
90 | appendLetter(Letters.FORM_FEED); | 250 | appendLetter(Letters.FORM_FEED); | |||||||||||
91 | break; | 251 | break; | |||||||||||
92 | case 'e': | 252 | case 'e': | |||||||||||
93 | appendLetter(Letters.ESCAPE); | 253 | appendLetter(Letters.ESCAPE); | |||||||||||
94 | break; | 254 | break; | |||||||||||
95 | case 'v': | 255 | case 'v': | |||||||||||
96 | appendLetter(Letters.VERTICAL_TAB); | 256 | appendLetter(Letters.VERTICAL_TAB); | |||||||||||
97 | break; | 257 | break; | |||||||||||
98 | case 'a': | 258 | case 'a': | |||||||||||
99 | appendLetter(Letters.ALERT); | 259 | appendLetter(Letters.ALERT); | |||||||||||
100 | break; | 260 | break; | |||||||||||
101 | case '0': | 261 | case '0': | |||||||||||
102 | case '1': | 262 | case '1': | |||||||||||
103 | case '2': | 263 | case '2': | |||||||||||
104 | case '3': | 264 | case '3': | |||||||||||
105 | case '4': | 265 | case '4': | |||||||||||
106 | case '5': | 266 | case '5': | |||||||||||
107 | case '6': | 267 | case '6': | |||||||||||
108 | case '7': | 268 | case '7': | |||||||||||
109 | escape = ComplexEscape.OCTAL; | 269 | escape = ComplexEscape.OCTAL; | |||||||||||
110 | readingComplexEscape = true; | 270 | readingComplexEscape = true; | |||||||||||
111 | escapeLength = 1; | 271 | escapeLength = 1; | |||||||||||
112 | escapeValue = (char)(currentLetter - '0'); | 272 | escapeValue = (char)(currentLetter - '0'); | |||||||||||
113 | dataBuffer.ColumnStart = dataBuffer.Position + 1; | 273 | dataBuffer.ColumnStart = dataBuffer.Position + 1; | |||||||||||
114 | break; | 274 | break; | |||||||||||
115 | case 'u': | 275 | case 'u': | |||||||||||
116 | case 'x': | 276 | case 'x': | |||||||||||
117 | case 'o': | 277 | case 'o': | |||||||||||
118 | case 'd': | 278 | case 'd': | |||||||||||
119 | case 'U': | 279 | case 'U': | |||||||||||
120 | case 'X': | 280 | case 'X': | |||||||||||
121 | case 'O': | 281 | case 'O': | |||||||||||
122 | case 'D': | 282 | case 'D': | |||||||||||
123 | switch (currentLetter) | 283 | switch (currentLetter) | |||||||||||
124 | case 'u': | 284 | case 'u': | |||||||||||
125 | case 'U': | 285 | case 'U': | |||||||||||
126 | escape = ComplexEscape.UNICODE; | 286 | escape = ComplexEscape.UNICODE; | |||||||||||
127 | break; | 287 | break; | |||||||||||
128 | case 'x': | 288 | case 'x': | |||||||||||
129 | case 'X': | 289 | case 'X': | |||||||||||
130 | escape = ComplexEscape.HEX; | 290 | escape = ComplexEscape.HEX; | |||||||||||
131 | break; | 291 | break; | |||||||||||
132 | case 'o': | 292 | case 'o': | |||||||||||
133 | case 'O': | 293 | case 'O': | |||||||||||
134 | escape = ComplexEscape.OCTAL; | 294 | escape = ComplexEscape.OCTAL; | |||||||||||
135 | break; | 295 | break; | |||||||||||
136 | case 'd': | 296 | case 'd': | |||||||||||
137 | case 'D': | 297 | case 'D': | |||||||||||
138 | escape = ComplexEscape.DECIMAL; | 298 | escape = ComplexEscape.DECIMAL; | |||||||||||
139 | break; | 299 | break; | |||||||||||
140 | readingComplexEscape = true; | 300 | readingComplexEscape = true; | |||||||||||
141 | escapeLength = 0; | 301 | escapeLength = 0; | |||||||||||
142 | escapeValue = (char)0; | 302 | escapeValue = (char)0; | |||||||||||
143 | dataBuffer.ColumnStart = dataBuffer.Position + 1; | 303 | dataBuffer.ColumnStart = dataBuffer.Position + 1; | |||||||||||
144 | break; | 304 | break; | |||||||||||
145 | default: | 305 | default: | |||||||||||
146 | break; | 306 | break; | |||||||||||
147 | lastLetterWasEscape = false; |
| 307 | lastLetterWasBackslash = false; |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables readingComplexEscape, escapeLength, escape, escapeValue, lastLetterWasEscape , while Clone fragment #2 returns variables lastLetterWasBackslash, readingComplexEscape, escapeLength, escape, escapeValue |