switch (featureID) { case EcorePackage.EATTRIBUTE__EANNOTATIONS: return getEAnnotations(); case EcorePackage.EATTRIBUTE__NAME: return getName(); case EcorePackage.EATTRIBUTE__ORDERED: return isOrdered() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__UNIQUE: return isUnique() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__LOWER_BOUND: return new Integer(getLowerBound()); case EcorePackage.EATTRIBUTE__UPPER_BOUND: return new Integer(getUpperBound()); case EcorePackage.EATTRIBUTE__MANY: return isMany() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__REQUIRED: return isRequired() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__ETYPE: if (resolve) return getEType(); return basicGetEType(); case EcorePackage.EATTRIBUTE__EGENERIC_TYPE: return getEGenericType(); case EcorePackage.EATTRIBUTE__CHANGEABLE: return isChangeable() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__VOLATILE: return isVolatile() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__TRANSIENT: return isTransient() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL: return getDefaultValueLiteral(); case EcorePackage.EATTRIBUTE__DEFAULT_VALUE: return getDefaultValue(); case EcorePackage.EATTRIBUTE__UNSETTABLE: return isUnsettable() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__DERIVED: return isDerived() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__ECONTAINING_CLASS: return getEContainingClass(); case EcorePackage.EATTRIBUTE__ID: return isID() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.EATTRIBUTE__EATTRIBUTE_TYPE: if (resolve) return getEAttributeType(); return basicGetEAttributeType(); } return eDynamicGet(featureID, resolve, coreType);
switch (featureID) { case EcorePackage.ESTRUCTURAL_FEATURE__EANNOTATIONS: return getEAnnotations(); case EcorePackage.ESTRUCTURAL_FEATURE__NAME: return getName(); case EcorePackage.ESTRUCTURAL_FEATURE__ORDERED: return isOrdered() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__UNIQUE: return isUnique() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__LOWER_BOUND: return new Integer(getLowerBound()); case EcorePackage.ESTRUCTURAL_FEATURE__UPPER_BOUND: return new Integer(getUpperBound()); case EcorePackage.ESTRUCTURAL_FEATURE__MANY: return isMany() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__REQUIRED: return isRequired() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__ETYPE: if (resolve) return getEType(); return basicGetEType(); case EcorePackage.ESTRUCTURAL_FEATURE__EGENERIC_TYPE: return getEGenericType(); case EcorePackage.ESTRUCTURAL_FEATURE__CHANGEABLE: return isChangeable() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__VOLATILE: return isVolatile() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__TRANSIENT: return isTransient() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL: return getDefaultValueLiteral(); case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE: return getDefaultValue(); case EcorePackage.ESTRUCTURAL_FEATURE__UNSETTABLE: return isUnsettable() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__DERIVED: return isDerived() ? Boolean.TRUE : Boolean.FALSE; case EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS: return getEContainingClass(); } return eDynamicGet(featureID, resolve, coreType);
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/EAttributeImpl.java File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java
Method name: Object eGet(int, boolean, boolean) Method name: Object eGet(int, boolean, boolean)
Number of AST nodes: 46 Number of AST nodes: 40
1
switch (featureID)
1
switch (featureID)
2
    {
2
    {
3
      case EcorePackage.EATTRIBUTE__EANNOTATIONS:
3
      case EcorePackage.ESTRUCTURAL_FEATURE__EANNOTATIONS:
4
        return getEAnnotations();
4
        return getEAnnotations();
5
      case EcorePackage.EATTRIBUTE__NAME:
5
      case EcorePackage.ESTRUCTURAL_FEATURE__NAME:
6
        return getName();
6
        return getName();
7
      case EcorePackage.EATTRIBUTE__ORDERED:
7
      case EcorePackage.ESTRUCTURAL_FEATURE__ORDERED:
8
        return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
8
        return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
9
      case EcorePackage.EATTRIBUTE__UNIQUE:
9
      case EcorePackage.ESTRUCTURAL_FEATURE__UNIQUE:
10
        return isUnique() ? Boolean.TRUE : Boolean.FALSE;
10
        return isUnique() ? Boolean.TRUE : Boolean.FALSE;
11
      case EcorePackage.EATTRIBUTE__LOWER_BOUND:
11
      case EcorePackage.ESTRUCTURAL_FEATURE__LOWER_BOUND:
12
        return new Integer(getLowerBound());
12
        return new Integer(getLowerBound());
13
      case EcorePackage.EATTRIBUTE__UPPER_BOUND:
13
      case EcorePackage.ESTRUCTURAL_FEATURE__UPPER_BOUND:
14
        return new Integer(getUpperBound());
14
        return new Integer(getUpperBound());
15
      case EcorePackage.EATTRIBUTE__MANY:
15
      case EcorePackage.ESTRUCTURAL_FEATURE__MANY:
16
        return isMany() ? Boolean.TRUE : Boolean.FALSE;
16
        return isMany() ? Boolean.TRUE : Boolean.FALSE;
17
      case EcorePackage.EATTRIBUTE__REQUIRED:
17
      case EcorePackage.ESTRUCTURAL_FEATURE__REQUIRED:
18
        return isRequired() ? Boolean.TRUE : Boolean.FALSE;
18
        return isRequired() ? Boolean.TRUE : Boolean.FALSE;
19
      case EcorePackage.EATTRIBUTE__ETYPE:
19
      case EcorePackage.ESTRUCTURAL_FEATURE__ETYPE:
20
        if (resolve) return getEType();
20
        if (resolve) return getEType();
21
        return basicGetEType();
21
        return basicGetEType();
22
      case EcorePackage.EATTRIBUTE__EGENERIC_TYPE:
22
      case EcorePackage.ESTRUCTURAL_FEATURE__EGENERIC_TYPE:
23
        return getEGenericType();
23
        return getEGenericType();
24
      case EcorePackage.EATTRIBUTE__CHANGEABLE:
24
      case EcorePackage.ESTRUCTURAL_FEATURE__CHANGEABLE:
25
        return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
25
        return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
26
      case EcorePackage.EATTRIBUTE__VOLATILE:
26
      case EcorePackage.ESTRUCTURAL_FEATURE__VOLATILE:
27
        return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
27
        return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
28
      case EcorePackage.EATTRIBUTE__TRANSIENT:
28
      case EcorePackage.ESTRUCTURAL_FEATURE__TRANSIENT:
29
        return isTransient() ? Boolean.TRUE : Boolean.FALSE;
29
        return isTransient() ? Boolean.TRUE : Boolean.FALSE;
30
      case EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL:
30
      case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL:
31
        return getDefaultValueLiteral();
31
        return getDefaultValueLiteral();
32
      case EcorePackage.EATTRIBUTE__DEFAULT_VALUE:
32
      case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE:
33
        return getDefaultValue();
33
        return getDefaultValue();
34
      case EcorePackage.EATTRIBUTE__UNSETTABLE:
34
      case EcorePackage.ESTRUCTURAL_FEATURE__UNSETTABLE:
35
        return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
35
        return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
36
      case EcorePackage.EATTRIBUTE__DERIVED:
36
      case EcorePackage.ESTRUCTURAL_FEATURE__DERIVED:
37
        return isDerived() ? Boolean.TRUE : Boolean.FALSE;
37
        return isDerived() ? Boolean.TRUE : Boolean.FALSE;
38
      case EcorePackage.EATTRIBUTE__ECONTAINING_CLASS:
38
      case EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS:
39
        return getEContainingClass();
39
        return getEContainingClass();
40
      case EcorePackage.EATTRIBUTE__ID:
41
        return isID() ? Boolean.TRUE : Boolean.FALSE;
42
      case EcorePackage.EATTRIBUTE__EATTRIBUTE_TYPE:
43
        if (resolve) return getEAttributeType();
44
        return basicGetEAttributeType();
45
    }
40
    }
46
    return eDynamicGet(featureID, resolve, coreType);
41
    return eDynamicGet(featureID, resolve, coreType);
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 different classes having the same super class
Number of node comparisons691
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements40
    Number of unmapped statements in the first code fragment6
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)38.9
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    switch (featureID)
    1
    switch (featureID)
    2
    case EcorePackage.EATTRIBUTE__EANNOTATIONS:
    2
    case EcorePackage.EATTRIBUTE__EANNOTATIONS:
    2
    case EcorePackage.ESTRUCTURAL_FEATURE__EANNOTATIONS:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__EANNOTATIONSESTRUCTURAL_FEATURE__EANNOTATIONSVARIABLE_NAME_MISMATCH
    2
    case EcorePackage.ESTRUCTURAL_FEATURE__EANNOTATIONS:
    3
    return getEAnnotations();
    3
    return getEAnnotations();
    4
    case EcorePackage.EATTRIBUTE__NAME:
    4
    case EcorePackage.EATTRIBUTE__NAME:
    4
    case EcorePackage.ESTRUCTURAL_FEATURE__NAME:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__NAMEESTRUCTURAL_FEATURE__NAMEVARIABLE_NAME_MISMATCH
    4
    case EcorePackage.ESTRUCTURAL_FEATURE__NAME:
    5
    return getName();
    5
    return getName();
    6
    case EcorePackage.EATTRIBUTE__ORDERED:
    6
    case EcorePackage.EATTRIBUTE__ORDERED:
    6
    case EcorePackage.ESTRUCTURAL_FEATURE__ORDERED:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__ORDEREDESTRUCTURAL_FEATURE__ORDEREDVARIABLE_NAME_MISMATCH
    6
    case EcorePackage.ESTRUCTURAL_FEATURE__ORDERED:
    7
    return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
    7
    return isOrdered() ? Boolean.TRUE : Boolean.FALSE;
    8
    case EcorePackage.EATTRIBUTE__UNIQUE:
    8
    case EcorePackage.EATTRIBUTE__UNIQUE:
    8
    case EcorePackage.ESTRUCTURAL_FEATURE__UNIQUE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__UNIQUEESTRUCTURAL_FEATURE__UNIQUEVARIABLE_NAME_MISMATCH
    8
    case EcorePackage.ESTRUCTURAL_FEATURE__UNIQUE:
    9
    return isUnique() ? Boolean.TRUE : Boolean.FALSE;
    9
    return isUnique() ? Boolean.TRUE : Boolean.FALSE;
    10
    case EcorePackage.EATTRIBUTE__LOWER_BOUND:
    10
    case EcorePackage.EATTRIBUTE__LOWER_BOUND:
    10
    case EcorePackage.ESTRUCTURAL_FEATURE__LOWER_BOUND:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__LOWER_BOUNDESTRUCTURAL_FEATURE__LOWER_BOUNDVARIABLE_NAME_MISMATCH
    10
    case EcorePackage.ESTRUCTURAL_FEATURE__LOWER_BOUND:
    11
    return new Integer(getLowerBound());
    11
    return new Integer(getLowerBound());
    12
    case EcorePackage.EATTRIBUTE__UPPER_BOUND:
    12
    case EcorePackage.EATTRIBUTE__UPPER_BOUND:
    12
    case EcorePackage.ESTRUCTURAL_FEATURE__UPPER_BOUND:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__UPPER_BOUNDESTRUCTURAL_FEATURE__UPPER_BOUNDVARIABLE_NAME_MISMATCH
    12
    case EcorePackage.ESTRUCTURAL_FEATURE__UPPER_BOUND:
    13
    return new Integer(getUpperBound());
    13
    return new Integer(getUpperBound());
    14
    case EcorePackage.EATTRIBUTE__MANY:
    14
    case EcorePackage.EATTRIBUTE__MANY:
    14
    case EcorePackage.ESTRUCTURAL_FEATURE__MANY:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__MANYESTRUCTURAL_FEATURE__MANYVARIABLE_NAME_MISMATCH
    14
    case EcorePackage.ESTRUCTURAL_FEATURE__MANY:
    15
    return isMany() ? Boolean.TRUE : Boolean.FALSE;
    15
    return isMany() ? Boolean.TRUE : Boolean.FALSE;
    16
    case EcorePackage.EATTRIBUTE__REQUIRED:
    16
    case EcorePackage.EATTRIBUTE__REQUIRED:
    16
    case EcorePackage.ESTRUCTURAL_FEATURE__REQUIRED:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__REQUIREDESTRUCTURAL_FEATURE__REQUIREDVARIABLE_NAME_MISMATCH
    16
    case EcorePackage.ESTRUCTURAL_FEATURE__REQUIRED:
    17
    return isRequired() ? Boolean.TRUE : Boolean.FALSE;
    17
    return isRequired() ? Boolean.TRUE : Boolean.FALSE;
    18
    case EcorePackage.EATTRIBUTE__ETYPE:
    18
    case EcorePackage.EATTRIBUTE__ETYPE:
    18
    case EcorePackage.ESTRUCTURAL_FEATURE__ETYPE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__ETYPEESTRUCTURAL_FEATURE__ETYPEVARIABLE_NAME_MISMATCH
    18
    case EcorePackage.ESTRUCTURAL_FEATURE__ETYPE:
    19
    if (resolve)
    19
    if (resolve)
    20
    return getEType();
    20
    return getEType();
    21
    return basicGetEType();
    21
    return basicGetEType();
    22
    case EcorePackage.EATTRIBUTE__EGENERIC_TYPE:
    22
    case EcorePackage.EATTRIBUTE__EGENERIC_TYPE:
    22
    case EcorePackage.ESTRUCTURAL_FEATURE__EGENERIC_TYPE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__EGENERIC_TYPEESTRUCTURAL_FEATURE__EGENERIC_TYPEVARIABLE_NAME_MISMATCH
    22
    case EcorePackage.ESTRUCTURAL_FEATURE__EGENERIC_TYPE:
    23
    return getEGenericType();
    23
    return getEGenericType();
    24
    case EcorePackage.EATTRIBUTE__CHANGEABLE:
    24
    case EcorePackage.EATTRIBUTE__CHANGEABLE:
    24
    case EcorePackage.ESTRUCTURAL_FEATURE__CHANGEABLE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__CHANGEABLEESTRUCTURAL_FEATURE__CHANGEABLEVARIABLE_NAME_MISMATCH
    24
    case EcorePackage.ESTRUCTURAL_FEATURE__CHANGEABLE:
    25
    return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
    25
    return isChangeable() ? Boolean.TRUE : Boolean.FALSE;
    26
    case EcorePackage.EATTRIBUTE__VOLATILE:
    26
    case EcorePackage.EATTRIBUTE__VOLATILE:
    26
    case EcorePackage.ESTRUCTURAL_FEATURE__VOLATILE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__VOLATILEESTRUCTURAL_FEATURE__VOLATILEVARIABLE_NAME_MISMATCH
    26
    case EcorePackage.ESTRUCTURAL_FEATURE__VOLATILE:
    27
    return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
    27
    return isVolatile() ? Boolean.TRUE : Boolean.FALSE;
    28
    case EcorePackage.EATTRIBUTE__TRANSIENT:
    28
    case EcorePackage.EATTRIBUTE__TRANSIENT:
    28
    case EcorePackage.ESTRUCTURAL_FEATURE__TRANSIENT:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__TRANSIENTESTRUCTURAL_FEATURE__TRANSIENTVARIABLE_NAME_MISMATCH
    28
    case EcorePackage.ESTRUCTURAL_FEATURE__TRANSIENT:
    29
    return isTransient() ? Boolean.TRUE : Boolean.FALSE;
    29
    return isTransient() ? Boolean.TRUE : Boolean.FALSE;
    30
    case EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL:
    30
    case EcorePackage.EATTRIBUTE__DEFAULT_VALUE_LITERAL:
    30
    case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__DEFAULT_VALUE_LITERALESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERALVARIABLE_NAME_MISMATCH
    30
    case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE_LITERAL:
    31
    return getDefaultValueLiteral();
    31
    return getDefaultValueLiteral();
    32
    case EcorePackage.EATTRIBUTE__DEFAULT_VALUE:
    32
    case EcorePackage.EATTRIBUTE__DEFAULT_VALUE:
    32
    case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__DEFAULT_VALUEESTRUCTURAL_FEATURE__DEFAULT_VALUEVARIABLE_NAME_MISMATCH
    32
    case EcorePackage.ESTRUCTURAL_FEATURE__DEFAULT_VALUE:
    33
    return getDefaultValue();
    33
    return getDefaultValue();
    34
    case EcorePackage.EATTRIBUTE__UNSETTABLE:
    34
    case EcorePackage.EATTRIBUTE__UNSETTABLE:
    34
    case EcorePackage.ESTRUCTURAL_FEATURE__UNSETTABLE:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__UNSETTABLEESTRUCTURAL_FEATURE__UNSETTABLEVARIABLE_NAME_MISMATCH
    34
    case EcorePackage.ESTRUCTURAL_FEATURE__UNSETTABLE:
    35
    return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
    35
    return isUnsettable() ? Boolean.TRUE : Boolean.FALSE;
    36
    case EcorePackage.EATTRIBUTE__DERIVED:
    36
    case EcorePackage.EATTRIBUTE__DERIVED:
    36
    case EcorePackage.ESTRUCTURAL_FEATURE__DERIVED:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__DERIVEDESTRUCTURAL_FEATURE__DERIVEDVARIABLE_NAME_MISMATCH
    36
    case EcorePackage.ESTRUCTURAL_FEATURE__DERIVED:
    37
    return isDerived() ? Boolean.TRUE : Boolean.FALSE;
    37
    return isDerived() ? Boolean.TRUE : Boolean.FALSE;
    38
    case EcorePackage.EATTRIBUTE__ECONTAINING_CLASS:
    38
    case EcorePackage.EATTRIBUTE__ECONTAINING_CLASS:
    38
    case EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS:
    Differences
    Expression1Expression2Difference
    EATTRIBUTE__ECONTAINING_CLASSESTRUCTURAL_FEATURE__ECONTAINING_CLASSVARIABLE_NAME_MISMATCH
    38
    case EcorePackage.ESTRUCTURAL_FEATURE__ECONTAINING_CLASS:
    39
    return getEContainingClass();
    39
    return getEContainingClass();
    40
    case EcorePackage.EATTRIBUTE__ID:
                                                                              
    41
    return isID() ? Boolean.TRUE : Boolean.FALSE;
    41
    return isID() ? Boolean.TRUE : Boolean.FALSE;
    Preondition Violations
    Unmatched return isID() ? Boolean.TRUE : Boolean.FALSE;
                                                                                                      
    42
    case EcorePackage.EATTRIBUTE__EATTRIBUTE_TYPE:
                                                                                                        
    43
    if (resolve)
                                  
    44
    return getEAttributeType();
    44
    return getEAttributeType();
    Preondition Violations
    Unmatched return getEAttributeType();
                                                                  
    45
    return basicGetEAttributeType();
    45
    return basicGetEAttributeType();
    Preondition Violations
    Unmatched return basicGetEAttributeType();
                                                                            
    46
    return eDynamicGet(featureID, resolve, coreType);
    40
    return eDynamicGet(featureID, resolve, coreType);
    Precondition Violations (3)
    Row Violation
    1Unmatched return isID() ? Boolean.TRUE : Boolean.FALSE;
    2Unmatched return getEAttributeType();
    3Unmatched return basicGetEAttributeType();