File path: /jEdit-4.2/src/org/gjt/sp/jedit/textarea/JEditTextArea.java | File path: /jEdit-4.2/src/org/gjt/sp/jedit/textarea/JEditTextArea.java | |||
Method name: void deleteParagraph()
|
Method name: void formatParagraph()
|
|||
Number of AST nodes: 25 | Number of AST nodes: 25 | |||
1 | int start = 0, end = buffer.getLength();↵ | 1 | int start = 0, end = buffer.getLength();↵ | |
2 | loop: for(int i = caretLine - 1; i >= 0; i--)↵ | 2 | loop: for(int i = lineNo - 1; i >= 0; i--)↵ | |
3 | {↵ | 3 | {↵ | |
4 | //if(!displayManager.isLineVisible(i))↵ | 4 | ↵ | |
5 | // continue loop;↵ | |||
6 | getLineText(i,lineSegment);↵ | 5 | getLineText(i,lineSegment);↵ | |
7 | for(int j = 0; j < lineSegment.count; j++)↵ | 6 | for(int j = 0; j < lineSegment.count; j++)↵ | |
8 | {↵ | 7 | {↵ | |
9 | switch(lineSegment.array[lineSegment.offset + j])↵ | 8 | switch(lineSegment.array[lineSegment.offset + j])↵ | |
10 | {↵ | 9 | {↵ | |
11 | case ' ':↵ | 10 | case ' ':↵ | |
12 | case '\t':↵ | 11 | case '\t':↵ | |
13 | break;↵ | 12 | break;↵ | |
14 | default:↵ | 13 | default:↵ | |
15 | continue loop;↵ | 14 | continue loop;↵ | |
16 | }↵ | 15 | }↵ | |
17 | }↵ | 16 | }↵ | |
18 | start = getLineStartOffset(i);↵ | 17 | start = getLineEndOffset(i);↵ | |
19 | break loop;↵ | 18 | break loop;↵ | |
20 | }↵ | 19 | }↵ | |
21 | loop: for(int i = caretLine + 1; i < getLineCount(); i++)↵ | 20 | loop: for(int i = lineNo + 1; i < getLineCount(); i++)↵ | |
22 | {↵ | 21 | {↵ | |
23 | //if(!displayManager.isLineVisible(i))↵ | 22 | ↵ | |
24 | // continue loop;↵ | |||
25 | getLineText(i,lineSegment);↵ | 23 | getLineText(i,lineSegment);↵ | |
26 | for(int j = 0; j < lineSegment.count; j++)↵ | 24 | for(int j = 0; j < lineSegment.count; j++)↵ | |
27 | {↵ | 25 | {↵ | |
28 | switch(lineSegment.array[lineSegment.offset + j])↵ | 26 | switch(lineSegment.array[lineSegment.offset + j])↵ | |
29 | {↵ | 27 | {↵ | |
30 | case ' ':↵ | 28 | case ' ':↵ | |
31 | case '\t':↵ | 29 | case '\t':↵ | |
32 | break;↵ | 30 | break;↵ | |
33 | default:↵ | 31 | default:↵ | |
34 | continue loop;↵ | 32 | continue loop;↵ | |
35 | }↵ | 33 | }↵ | |
36 | }↵ | 34 | }↵ | |
37 | end = getLineEndOffset(i) - 1;↵ | 35 | end = getLineStartOffset(i) - 1;↵ | |
38 | break loop;↵ | 36 | break loop;↵ | |
39 | } | 37 | } | |
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) | 2.6 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 94 |
Number of mapped statements | 23 |
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) | 12.1 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | int start = 0, end = buffer.getLength(); | 15 | int start = 0, end = buffer.getLength(); | |||||||||||||
5 | for (int i = caretLine - 1; i >= 0; i--) |
| 16 | for (int i = lineNo - 1; i >= 0; i--) | ||||||||||||
6 | getLineText(i, lineSegment); | 17 | getLineText(i, lineSegment); | |||||||||||||
7 | for (int j = 0; j < lineSegment.count; j++) | 18 | for (int j = 0; j < lineSegment.count; j++) | |||||||||||||
8 | switch (lineSegment.array[lineSegment.offset + j]) | 19 | switch (lineSegment.array[lineSegment.offset + j]) | |||||||||||||
9 | case ' ': | 20 | case ' ': | |||||||||||||
10 | case '\t': | 21 | case '\t': | |||||||||||||
11 | break; | 22 | break; | |||||||||||||
12 | default: | 23 | default: | |||||||||||||
13 | continue loop; | 24 | continue loop; | |||||||||||||
14 | start = getLineStartOffset(i); |
| 25 | start = getLineEndOffset(i); | ||||||||||||
15 | break loop; | 26 | break loop; | |||||||||||||
16 | for (int i = caretLine + 1; i < getLineCount(); i++) |
| 27 | for (int i = lineNo + 1; i < getLineCount(); i++) | ||||||||||||
17 | getLineText(i, lineSegment); | 28 | getLineText(i, lineSegment); | |||||||||||||
18 | for (int j = 0; j < lineSegment.count; j++) | 29 | for (int j = 0; j < lineSegment.count; j++) | |||||||||||||
19 | switch (lineSegment.array[lineSegment.offset + j]) | 30 | switch (lineSegment.array[lineSegment.offset + j]) | |||||||||||||
20 | case ' ': | 31 | case ' ': | |||||||||||||
21 | case '\t': | 32 | case '\t': | |||||||||||||
22 | break; | 33 | break; | |||||||||||||
23 | default: | 34 | default: | |||||||||||||
24 | continue loop; | 35 | continue loop; | |||||||||||||
25 | end = getLineEndOffset(i) - 1; |
| 36 | end = getLineStartOffset(i) - 1; | ||||||||||||
26 | break loop; | 37 | break loop; |
Row | Violation |
---|---|
1 | Expression getLineStartOffset(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression getLineEndOffset(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression getLineEndOffset(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Expression getLineStartOffset(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Clone fragment #1 returns variables start, end , while Clone fragment #2 returns variables start, end |