switch (sort) { case VOID: return opcode + 5; case BOOLEAN: case BYTE: return opcode + 6; case CHAR: return opcode + 7; case SHORT: return opcode + 8; case INT: return opcode; case FLOAT: return opcode + 2; case LONG: return opcode + 1; case DOUBLE: return opcode + 3; //case ARRAY: //case OBJECT: default: return opcode + 4; }
switch (sort) { case VOID: return opcode + 5; case BOOLEAN: case CHAR: case BYTE: case SHORT: case INT: return opcode; case FLOAT: return opcode + 2; case LONG: return opcode + 1; case DOUBLE: return opcode + 3; //case ARRAY: //case OBJECT: default: return opcode + 4; }
Clone fragments detected by clone detection tool
File path: /jEdit-4.2/src/org/objectweb/asm/Type.java File path: /jEdit-4.2/src/org/objectweb/asm/Type.java
Method name: int getOpcode(int) Method name: int getOpcode(int)
Number of AST nodes: 20 Number of AST nodes: 17
1
switch (sort) {
1
switch (sort) {
2
        case VOID:
2
        case VOID:
3
          return opcode + 5;
3
          return opcode + 5;
4
        case BOOLEAN:
4
        case BOOLEAN:
5
        case BYTE:
5
        case 
6
          return opcode + 6;
7
        case CHAR:
8
          return opcode + 7;
9
        case SHORT:
10
          return opcode + 8;
6
CHAR:
7
        case BYTE:
8
        case SHORT:
11
        case INT:
9
        case INT:
12
          return opcode;
10
          return opcode;
13
        case FLOAT:
11
        case FLOAT:
14
          return opcode + 2;
12
          return opcode + 2;
15
        case LONG:
13
        case LONG:
16
          return opcode + 1;
14
          return opcode + 1;
17
        case DOUBLE:
15
        case DOUBLE:
18
          return opcode + 3;
16
          return opcode + 3;
19
        //case ARRAY:
17
        //case ARRAY:
20
        //case OBJECT:
18
        //case OBJECT:
21
        default:
19
        default:
22
          return opcode + 4;
20
          return opcode + 4;
23
      }
21
      }
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.2
Clones locationClones are in the same method
Number of node comparisons155
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements17
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)19.6
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    2
    switch (sort)
    22
    switch (sort)
    3
    case VOID:
    23
    case VOID:
    4
    return opcode + 5;
    24
    return opcode + 5;
    5
    case BOOLEAN:
    25
    case BOOLEAN:
    6
    case BYTE:
    6
    case BYTE:
    29
    case INT:
    Differences
    Expression1Expression2Difference
    BYTEINTVARIABLE_NAME_MISMATCH
    29
    case INT:
    7
    return opcode + 6;
    7
    return opcode + 6;
    30
    return opcode;
    Differences
    Expression1Expression2Difference
    opcode + 6opcodeTYPE_COMPATIBLE_REPLACEMENT
    30
    return opcode;
    8
    case CHAR:
    8
    case CHAR:
    31
    case FLOAT:
    Differences
    Expression1Expression2Difference
    CHARFLOATVARIABLE_NAME_MISMATCH
    31
    case FLOAT:
    9
    return opcode + 7;
    9
    return opcode + 7;
    32
    return opcode + 2;
    Differences
    Expression1Expression2Difference
    72LITERAL_VALUE_MISMATCH
    32
    return opcode + 2;
    10
    case SHORT:
    10
    case SHORT:
    33
    case LONG:
    Differences
    Expression1Expression2Difference
    SHORTLONGVARIABLE_NAME_MISMATCH
    33
    case LONG:
    11
    return opcode + 8;
    11
    return opcode + 8;
    34
    return opcode + 1;
    Differences
    Expression1Expression2Difference
    81LITERAL_VALUE_MISMATCH
    34
    return opcode + 1;
    12
    case INT:
    12
    case INT:
    35
    case DOUBLE:
    Differences
    Expression1Expression2Difference
    INTDOUBLEVARIABLE_NAME_MISMATCH
    35
    case DOUBLE:
    13
    return opcode;
    13
    return opcode;
    36
    return opcode + 3;
    Differences
    Expression1Expression2Difference
    opcodeopcode + 3TYPE_COMPATIBLE_REPLACEMENT
    36
    return opcode + 3;
    14
    case FLOAT:
    14
    case FLOAT:
    26
    case CHAR:
    Differences
    Expression1Expression2Difference
    FLOATCHARVARIABLE_NAME_MISMATCH
    26
    case CHAR:
    15
    return opcode + 2;
    15
    return opcode + 2;
    Preondition Violations
    Unmatched return opcode + 2;
                                                
    16
    case LONG:
    16
    case LONG:
    27
    case BYTE:
    Differences
    Expression1Expression2Difference
    LONGBYTEVARIABLE_NAME_MISMATCH
    27
    case BYTE:
    17
    return opcode + 1;
    17
    return opcode + 1;
    Preondition Violations
    Unmatched return opcode + 1;
                                                
    18
    case DOUBLE:
    18
    case DOUBLE:
    28
    case SHORT:
    Differences
    Expression1Expression2Difference
    DOUBLESHORTVARIABLE_NAME_MISMATCH
    28
    case SHORT:
    19
    return opcode + 3;
    19
    return opcode + 3;
    Preondition Violations
    Unmatched return opcode + 3;
                                                
    20
    default:
    37
    default:
    21
    return opcode + 4;
    38
    return opcode + 4;
    Precondition Violations (3)
    Row Violation
    1Unmatched return opcode + 2;
    2Unmatched return opcode + 1;
    3Unmatched return opcode + 3;