File path: /jEdit-4.2/src/gnu/regexp/CharIndexedReader.java | File path: /jEdit-4.2/src/gnu/regexp/CharIndexedInputStream.java | |||
Method name: char charAt(int)
|
Method name: char charAt(int)
|
|||
Number of AST nodes: 30 | Number of AST nodes: 30 | |||
1 | if (index == 0) {↵ | 1 | if (index == 0) {↵ | |
2 | return cached;↵ | 2 | return cached;↵ | |
3 | } else if (index >= end) {↵ | 3 | } else if (index >= end) {↵ | |
4 | return OUT_OF_BOUNDS;↵ | 4 | return OUT_OF_BOUNDS;↵ | |
5 | ↵ | 5 | } else if (index == -1) {↵ | |
6 | return lookBehind[0];↵ | |||
7 | } else if (index == -2) {↵ | |||
8 | return lookBehind[1];↵ | |||
9 | } else if (index < -2) {↵ | |||
10 | return OUT_OF_BOUNDS;↵ | |||
6 | } else if (index >= bufsize) {↵ | 11 | } else if (index >= bufsize) {↵ | |
7 | // Allocate more space in the buffer.↵ | 12 | // Allocate more space in the buffer.↵ | |
8 | try {↵ | 13 | try {↵ | |
9 | while (bufsize <= index) bufsize += BUFFER_INCREMENT;↵ | 14 | while (bufsize <= index) bufsize += BUFFER_INCREMENT;↵ | |
10 | br.reset();↵ | 15 | br.reset();↵ | |
11 | br.mark(bufsize);↵ | 16 | br.mark(bufsize);↵ | |
12 | br.skip(index-1);↵ | 17 | br.skip(index-1);↵ | |
13 | } catch (IOException e) { }↵ | 18 | } catch (IOException e) { }↵ | |
14 | } else if (this.index != index) {↵ | 19 | } else if (this.index != index) {↵ | |
15 | try {↵ | 20 | try {↵ | |
16 | br.reset();↵ | 21 | br.reset();↵ | |
17 | br.skip(index-1);↵ | 22 | br.skip(index-1);↵ | |
18 | } catch (IOException e) { }↵ | 23 | } catch (IOException e) { }↵ | |
19 | } else if (index == -1) {↵ | 24 | }↵ | |
20 | return lookBehind[0];↵ | |||
21 | } else if (index == -2) {↵ | |||
22 | return lookBehind[1];↵ | |||
23 | } else if (index < -2) {↵ | |||
24 | return OUT_OF_BOUNDS;↵ | |||
25 | }↵ | |||
26 | char ch = OUT_OF_BOUNDS;↵ | 25 | char ch = OUT_OF_BOUNDS;↵ | |
27 | ↵ | 26 | ↵ | |
28 | try {↵ | 27 | try {↵ | |
29 | int i = br.read();↵ | 28 | int i = br.read();↵ | |
30 | this.index = index+1; // this.index is index of next pos relative to charAt(0)↵ | 29 | this.index = index+1; // this.index is index of next pos relative to charAt(0)↵ | |
31 | if (i == -1) {↵ | 30 | if (i == -1) {↵ | |
32 | // set flag that next should fail next time?↵ | 31 | // set flag that next should fail next time?↵ | |
33 | end = index;↵ | 32 | end = index;↵ | |
34 | return ch;↵ | 33 | return ch;↵ | |
35 | }↵ | 34 | }↵ | |
36 | ch = (char) i;↵ | 35 | ch = (char) i;↵ | |
37 | } catch (IOException ie) { }↵ | 36 | } catch (IOException ie) { }↵ | |
38 | ↵ | 37 | ↵ | |
39 | return ch; | 38 |
| |
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.0 |
Clones location | Clones are in different classes |
Number of node comparisons | 179 |
Number of mapped statements | 30 |
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) | 28.2 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | if (index == 0) | 1 | if (index == 0) | ||||||||||||
2 | return cached; | 2 | return cached; | ||||||||||||
3 | else if (index >= end) | 3 | else if (index >= end) | ||||||||||||
4 | return OUT_OF_BOUNDS; | 4 | return OUT_OF_BOUNDS; | ||||||||||||
5 | else if (index >= bufsize) | 11 | else if (index >= bufsize) | ||||||||||||
6 | try | 12 | try | ||||||||||||
7 | while (bufsize <= index) | 13 | while (bufsize <= index) | ||||||||||||
8 | bufsize += BUFFER_INCREMENT; | 14 | bufsize += BUFFER_INCREMENT; | ||||||||||||
9 | br.reset(); |
| 15 | br.reset(); | |||||||||||
10 | br.mark(bufsize); |
| 16 | br.mark(bufsize); | |||||||||||
11 | br.skip(index - 1); |
| 17 | br.skip(index - 1); | |||||||||||
12 | else if (this.index != index) | 18 | else if (this.index != index) | ||||||||||||
13 | try | 19 | try | ||||||||||||
14 | br.reset(); |
| 20 | br.reset(); | |||||||||||
15 | br.skip(index - 1); |
| 21 | br.skip(index - 1); | |||||||||||
16 | else if (index == -1) | 5 | else if (index == -1) | ||||||||||||
17 | return lookBehind[0]; | 6 | return lookBehind[0]; | ||||||||||||
18 | else if (index == -2) | 7 | else if (index == -2) | ||||||||||||
19 | return lookBehind[1]; | 8 | return lookBehind[1]; | ||||||||||||
20 | else if (index < -2) | 9 | else if (index < -2) | ||||||||||||
21 | return OUT_OF_BOUNDS; | 10 | return OUT_OF_BOUNDS; | ||||||||||||
22 | char ch = OUT_OF_BOUNDS; | 22 | char ch = OUT_OF_BOUNDS; | ||||||||||||
23 | try | 23 | try | ||||||||||||
24 | int i = br.read(); |
| 24 | int i = br.read(); | |||||||||||
25 | this.index = index + 1; | 25 | this.index = index + 1; | ||||||||||||
26 | if (i == -1) | 26 | if (i == -1) | ||||||||||||
27 | end = index; | 27 | end = index; | ||||||||||||
28 | return ch; | 28 | return ch; | ||||||||||||
29 | ch = (char)i; | 29 | ch = (char)i; | ||||||||||||
30 | return ch; | 30 | return ch; |
Row | Violation |
---|---|
1 | Type java.io.BufferedReader of variable br does not match with type java.io.BufferedInputStream of variable br |
2 | Type java.io.BufferedReader of variable br does not match with type java.io.BufferedInputStream of variable br |
3 | Type java.io.BufferedReader of variable br does not match with type java.io.BufferedInputStream of variable br |
4 | Type java.io.BufferedReader of variable br does not match with type java.io.BufferedInputStream of variable br |
5 | Type java.io.BufferedReader of variable br does not match with type java.io.BufferedInputStream of variable br |
6 | Type java.io.BufferedReader of variable br does not match with type java.io.BufferedInputStream of variable br |