case 0x1:
case 0x2:
case 0x3:
case 0x4:
case 0x5:
case 0x6:
case 0x7:
case 0x8:
case 0xB:
case 0xC:
case 0xE:
case 0xF:
case 0x10:
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x15:
case 0x16:
case 0x17:
case 0x18:
case 0x19:
case 0x1A:
case 0x1B:
case 0x1C:
case 0x1D:
case 0x1E:
case 0x1F:
{
if (allowControlCharacters)
{
outputPos = replaceChars(outputPos, CONTROL_CHARACTERS[ch], inputLength);
changed = true;
}
else
{
throw new RuntimeException("An invalid XML character (Unicode: 0x" + Integer.toHexString(ch) + ") was found in the element content:" + input);
}
break;
}
case '&':
{
outputPos = replaceChars(outputPos, AMP, inputLength);
changed = true;
break;
}
case '<':
{
outputPos = replaceChars(outputPos, LESS, inputLength);
changed = true;
break;
}
case '"':
{
outputPos = replaceChars(outputPos, QUOTE, inputLength);
changed = true;
break;
}
case '\n':
{
outputPos = replaceChars(outputPos, LF, inputLength);
changed = true;
break;
}
case '\r':
{
outputPos = replaceChars(outputPos, CR, inputLength);
changed = true;
break;
case 0x1:
case 0x2:
case 0x3:
case 0x4:
case 0x5:
case 0x6:
case 0x7:
case 0x8:
case 0xB:
case 0xC:
case 0xE:
case 0xF:
case 0x10:
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x15:
case 0x16:
case 0x17:
case 0x18:
case 0x19:
case 0x1A:
case 0x1B:
case 0x1C:
case 0x1D:
case 0x1E:
case 0x1F:
{
if (allowControlCharacters)
{
outputPos = replaceChars(outputPos, CONTROL_CHARACTERS[ch], inputLength);
changed = true;
}
else
{
throw new RuntimeException("An invalid XML character (Unicode: 0x" + Integer.toHexString(ch) + ") was found in the element content:" + input);
}
break;
}
case '&':
{
outputPos = replaceChars(outputPos, AMP, inputLength);
changed = true;
break;
}
case '<':
{
outputPos = replaceChars(outputPos, LESS, inputLength);
changed = true;
break;
}
case '"':
{
outputPos = replaceChars(outputPos, QUOTE, inputLength);
changed = true;
break;
}
case '\n':
{
outputPos = replaceChars(outputPos, LINE_FEED, inputLength);
changed = true;
break;
}
case '\r':
{
outputPos = replaceChars(outputPos, CR, inputLength);
changed = true;
break;
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xmi/impl/XMLSaveImpl.java
|
|
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/xmi/impl/XMLSaveImpl.java
|
Method name: String convert(String)
|
|
Method name: String convertText(String)
|
Number of AST nodes: 53
|
|
Number of AST nodes: 53
|
|
1 | case 0x1:↵ | | 1 | case 0x1:↵
|
2 | case 0x2:↵ | | 2 | case 0x2:↵
|
3 | case 0x3:↵ | | 3 | case 0x3:↵
|
4 | case 0x4:↵ | | 4 | case 0x4:↵
|
5 | case 0x5:↵ | | 5 | case 0x5:↵
|
6 | case 0x6:↵ | | 6 | case 0x6:↵
|
7 | case 0x7:↵ | | 7 | case 0x7:↵
|
8 | case 0x8:↵ | | 8 | case 0x8:↵
|
9 | case 0xB:↵ | | 9 | case 0xB:↵
|
10 | case 0xC:↵ | | 10 | case 0xC:↵
|
11 | case 0xE:↵ | | 11 | case 0xE:↵
|
12 | case 0xF:↵ | | 12 | case 0xF:↵
|
13 | case 0x10:↵ | | 13 | case 0x10:↵
|
14 | case 0x11:↵ | | 14 | case 0x11:↵
|
15 | case 0x12:↵ | | 15 | case 0x12:↵
|
16 | case 0x13:↵ | | 16 | case 0x13:↵
|
17 | case 0x14:↵ | | 17 | case 0x14:↵
|
18 | case 0x15:↵ | | 18 | case 0x15:↵
|
19 | case 0x16:↵ | | 19 | case 0x16:↵
|
20 | case 0x17:↵ | | 20 | case 0x17:↵
|
21 | case 0x18:↵ | | 21 | case 0x18:↵
|
22 | case 0x19:↵ | | 22 | case 0x19:↵
|
23 | case 0x1A:↵ | | 23 | case 0x1A:↵
|
24 | case 0x1B:↵ | | 24 | case 0x1B:↵
|
25 | case 0x1C:↵ | | 25 | case 0x1C:↵
|
26 | case 0x1D:↵ | | 26 | case 0x1D:↵
|
27 | case 0x1E:↵ | | 27 | case 0x1E:↵
|
28 | case 0x1F:↵ | | 28 | case 0x1F:↵
|
29 | {↵ | | 29 | {↵
|
30 | if (allowControlCharacters)↵ | | 30 | if (allowControlCharacters)↵
|
31 | {↵ | | 31 | {↵
|
32 | outputPos = replaceChars(outputPos, CONTROL_CHARACTERS[ch], inputLength);↵ | | 32 | outputPos = replaceChars(outputPos, CONTROL_CHARACTERS[ch], inputLength);↵
|
33 | changed = true;↵ | | 33 | changed = true;↵
|
34 | }↵ | | 34 | }↵
|
35 | else↵ | | 35 | else↵
|
36 | {↵ | | 36 | {↵
|
37 | throw new RuntimeException("An invalid XML character (Unicode: 0x" + Integer.toHexString(ch) + ") was found in the element content:" + input);↵ | | 37 | throw new RuntimeException("An invalid XML character (Unicode: 0x" + Integer.toHexString(ch) + ") was found in the element content:" + input);↵
|
38 | }↵ | | 38 | }↵
|
39 | break;↵ | | 39 | break;↵
|
40 | }↵ | | 40 | }↵
|
41 | case '&':↵ | | 41 | case '&':↵
|
42 | {↵ | | 42 | {↵
|
43 | outputPos = replaceChars(outputPos, AMP, inputLength);↵ | | 43 | outputPos = replaceChars(outputPos, AMP, inputLength);↵
|
44 | changed = true;↵ | | 44 | changed = true;↵
|
45 | break;↵ | | 45 | break;↵
|
46 | }↵ | | 46 | }↵
|
47 | case '<':↵ | | 47 | case '<':↵
|
48 | {↵ | | 48 | {↵
|
49 | outputPos = replaceChars(outputPos, LESS, inputLength);↵ | | 49 | outputPos = replaceChars(outputPos, LESS, inputLength);↵
|
50 | changed = true;↵ | | 50 | changed = true;↵
|
51 | break;↵ | | 51 | break;↵
|
52 | }↵ | | 52 | }↵
|
53 | case '"':↵ | | 53 | case '"':↵
|
54 | {↵ | | 54 | {↵
|
55 | outputPos = replaceChars(outputPos, QUOTE, inputLength);↵ | | 55 | outputPos = replaceChars(outputPos, QUOTE, inputLength);↵
|
56 | changed = true;↵ | | 56 | changed = true;↵
|
57 | break;↵ | | 57 | break;↵
|
58 | }↵ | | 58 | }↵
|
59 | case '\n':↵ | | 59 | case '\n':↵
|
60 | {↵ | | 60 | {↵
|
61 | outputPos = replaceChars(outputPos, LF, inputLength);↵ | | 61 | outputPos = replaceChars(outputPos, LINE_FEED, inputLength);↵
|
62 | changed = true;↵ | | 62 | changed = true;↵
|
63 | break;↵ | | 63 | break;↵
|
64 | }↵ | | 64 | }↵
|
65 | case '\r':↵ | | 65 | case '\r':↵
|
66 | {↵ | | 66 | {↵
|
67 | outputPos = replaceChars(outputPos, CR, inputLength);↵ | | 67 | outputPos = replaceChars(outputPos, CR, inputLength);↵
|
68 | changed = true;↵ | | 68 | changed = true;↵
|
69 | break; | | 69 | break;
|
See real code fragment |
|
See real code fragment |
Summary
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 1 |
Number of non-refactorable cases | 0 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.1 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 1274 |
-
{Refactorable}
Mapping Summary
Number of mapped statements | 53 |
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) | 42.5 |
Clone type | Type 2 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
10 | case 0x1: | | 11 | case 0x1: |
11 | case 0x2: | | 12 | case 0x2: |
12 | case 0x3: | | 13 | case 0x3: |
13 | case 0x4: | | 14 | case 0x4: |
14 | case 0x5: | | 15 | case 0x5: |
15 | case 0x6: | | 16 | case 0x6: |
16 | case 0x7: | | 17 | case 0x7: |
17 | case 0x8: | | 18 | case 0x8: |
18 | case 0xB: | | 19 | case 0xB: |
19 | case 0xC: | | 20 | case 0xC: |
20 | case 0xE: | | 21 | case 0xE: |
21 | case 0xF: | | 22 | case 0xF: |
22 | case 0x10: | | 23 | case 0x10: |
23 | case 0x11: | | 24 | case 0x11: |
24 | case 0x12: | | 25 | case 0x12: |
25 | case 0x13: | | 26 | case 0x13: |
26 | case 0x14: | | 27 | case 0x14: |
27 | case 0x15: | | 28 | case 0x15: |
28 | case 0x16: | | 29 | case 0x16: |
29 | case 0x17: | | 30 | case 0x17: |
30 | case 0x18: | | 31 | case 0x18: |
31 | case 0x19: | | 32 | case 0x19: |
32 | case 0x1A: | | 33 | case 0x1A: |
33 | case 0x1B: | | 34 | case 0x1B: |
34 | case 0x1C: | | 35 | case 0x1C: |
35 | case 0x1D: | | 36 | case 0x1D: |
36 | case 0x1E: | | 37 | case 0x1E: |
37 | case 0x1F: | | 38 | case 0x1F: |
38 | if (allowControlCharacters) | | 39 | if (allowControlCharacters) |
39 | outputPos = replaceChars(outputPos, CONTROL_CHARACTERS[ch], inputLength); | | 40 | outputPos = replaceChars(outputPos, CONTROL_CHARACTERS[ch], inputLength); |
40 | | | 41 | |
| | | | |
41 | throw new RuntimeException("An invalid XML character (Unicode: 0x" + Integer.toHexString(ch) + ") was found in the element content:" + input); | | 42 | throw new RuntimeException("An invalid XML character (Unicode: 0x" + Integer.toHexString(ch) + ") was found in the element content:" + input); |
42 | break; | | 43 | break; |
43 | case '&': | | 44 | case '&': |
44 | outputPos = replaceChars(outputPos, AMP, inputLength); | | 45 | outputPos = replaceChars(outputPos, AMP, inputLength); |
45 | changed = true; | | 46 | changed = true; |
46 | break; | | 47 | break; |
47 | case '<': | | 48 | case '<': |
48 | outputPos = replaceChars(outputPos, LESS, inputLength); | | 49 | outputPos = replaceChars(outputPos, LESS, inputLength); |
49 | changed = true; | | 50 | changed = true; |
50 | break; | | 51 | break; |
51 | case '"': | | 52 | case '"': |
52 | outputPos = replaceChars(outputPos, QUOTE, inputLength); | | 53 | outputPos = replaceChars(outputPos, QUOTE, inputLength); |
53 | changed = true; | | 54 | changed = true; |
54 | break; | | 55 | break; |
55 | case '\n': | | 56 | case '\n': |
56 | outputPos = replaceChars(outputPos, LF, inputLength); | | 57 | outputPos = replaceChars(outputPos, LINE_FEED, inputLength); |
57 | changed = true; | | 58 | changed = true; |
58 | break; | | 59 | break; |
59 | case '\r': | | 60 | case '\r': |
60 | outputPos = replaceChars(outputPos, CR, inputLength); | | 61 | outputPos = replaceChars(outputPos, CR, inputLength); |
61 | changed = true; | | 62 | changed = true; |
62 | break; | | 63 | break; |
Precondition Violations (0)
Row |
Violation |