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;
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.1
Clones locationClones are declared in the same class
Number of node comparisons1274
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements53
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)42.5
    Clone typeType 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
    changed = true;
    41
    changed = true;
    else
    else
    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);
    56
    outputPos = replaceChars(outputPos, LF, inputLength);
    57
    outputPos = replaceChars(outputPos, LINE_FEED, inputLength);
    Differences
    Expression1Expression2Difference
    LFLINE_FEEDVARIABLE_NAME_MISMATCH
    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