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: 71 | Number of AST nodes: 71 | |||
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 |
| |
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) | 22.1 |
Clones location | Clones are in the same method |
Number of node comparisons | 1647 |
Number of mapped statements | 71 |
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) | 758.2 |
Clone type | Type 1 |
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; |
Row | Violation |
---|---|
1 | Clone fragment #1 returns variables readingComplexEscape, escapeLength, escape, escapeValue , while Clone fragment #2 returns variables readingComplexEscape, escapeLength, escape, escapeValue |