switch (featureID) { case MappingPackage.MAPPING__HELPER: return basicSetHelper(null, msgs); case MappingPackage.MAPPING__NESTED: return ((InternalEList<?>)getNested()).basicRemove(otherEnd, msgs); case MappingPackage.MAPPING__NESTED_IN: return basicSetNestedIn(null, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs);
switch (featureID) { case EcorePackage.EGENERIC_TYPE__EUPPER_BOUND: return basicSetEUpperBound(null, msgs); case EcorePackage.EGENERIC_TYPE__ETYPE_ARGUMENTS: return ((InternalEList<?>)getETypeArguments()).basicRemove(otherEnd, msgs); case EcorePackage.EGENERIC_TYPE__ELOWER_BOUND: return basicSetELowerBound(null, msgs); } return eDynamicInverseRemove(otherEnd, featureID, msgs);
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/mapping/impl/MappingImpl.java File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/EGenericTypeImpl.java
Method name: NotificationChain eInverseRemove(InternalEObject, int, NotificationChain) Method name: NotificationChain eInverseRemove(InternalEObject, int, NotificationChain)
Number of AST nodes: 8 Number of AST nodes: 8
1
switch (featureID)
1
switch (featureID)
2
    {
2
    {
3
      case MappingPackage.MAPPING__HELPER:
3
      case EcorePackage.EGENERIC_TYPE__EUPPER_BOUND:
4
        return basicSetHelper(null, msgs);
4
        return basicSetEUpperBound(null, msgs);
5
      case MappingPackage.MAPPING__NESTED:
5
      case EcorePackage.EGENERIC_TYPE__ETYPE_ARGUMENTS:
6
        return ((InternalEList<?>)getNested()).basicRemove(otherEnd, msgs);
6
        return ((InternalEList<?>)getETypeArguments()).basicRemove(otherEnd, msgs);
7
      case MappingPackage.MAPPING__NESTED_IN:
7
      case EcorePackage.EGENERIC_TYPE__ELOWER_BOUND:
8
        return basicSetNestedIn(null, msgs);
8
        return basicSetELowerBound(null, msgs);
9
    }
9
    }
10
    return super.eInverseRemove(otherEnd, featureID, msgs);
10
    return eDynamicInverseRemove(otherEnd, featureID, msgs);
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.0
Clones locationClones are in different classes having the same super class
Number of node comparisons26
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements8
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)2.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    switch (featureID)
    1
    switch (featureID)
    2
    case MappingPackage.MAPPING__HELPER:
    2
    case MappingPackage.MAPPING__HELPER:
    2
    case EcorePackage.EGENERIC_TYPE__EUPPER_BOUND:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.mapping.MappingPackageorg.eclipse.emf.ecore.EcorePackageVARIABLE_TYPE_MISMATCH
    MAPPING__HELPEREGENERIC_TYPE__EUPPER_BOUNDVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.mapping.MappingPackage of variable MappingPackage does not match with type org.eclipse.emf.ecore.EcorePackage of variable EcorePackage
    • Make classes org.eclipse.emf.mapping.MappingPackage and org.eclipse.emf.ecore.EcorePackage extend a common superclass
    2
    case EcorePackage.EGENERIC_TYPE__EUPPER_BOUND:
    3
    return basicSetHelper(null, msgs);
    3
    return basicSetHelper(null, msgs);
    3
    return basicSetEUpperBound(null, msgs);
    Differences
    Expression1Expression2Difference
    basicSetHelperbasicSetEUpperBoundMETHOD_INVOCATION_NAME_MISMATCH
    3
    return basicSetEUpperBound(null, msgs);
    4
    case MappingPackage.MAPPING__NESTED:
    4
    case MappingPackage.MAPPING__NESTED:
    4
    case EcorePackage.EGENERIC_TYPE__ETYPE_ARGUMENTS:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.mapping.MappingPackageorg.eclipse.emf.ecore.EcorePackageVARIABLE_TYPE_MISMATCH
    MAPPING__NESTEDEGENERIC_TYPE__ETYPE_ARGUMENTSVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.mapping.MappingPackage of variable MappingPackage does not match with type org.eclipse.emf.ecore.EcorePackage of variable EcorePackage
    • Make classes org.eclipse.emf.mapping.MappingPackage and org.eclipse.emf.ecore.EcorePackage extend a common superclass
    4
    case EcorePackage.EGENERIC_TYPE__ETYPE_ARGUMENTS:
    5
    return ((InternalEList<?>)getNested()).basicRemove(otherEnd, msgs);
    5
    return ((InternalEList<?>)getNested()).basicRemove(otherEnd, msgs);
    5
    return ((InternalEList<?>)getETypeArguments()).basicRemove(otherEnd, msgs);
    Differences
    Expression1Expression2Difference
    getNestedgetETypeArgumentsMETHOD_INVOCATION_NAME_MISMATCH
    org.eclipse.emf.common.util.EListorg.eclipse.emf.common.util.EListVARIABLE_TYPE_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.common.util.EList<org.eclipse.emf.mapping.Mapping> of variable getNested() does not match with type org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EGenericType> of variable getETypeArguments()
    • Make classes org.eclipse.emf.common.util.EList and org.eclipse.emf.common.util.EList extend a common superclass
    5
    return ((InternalEList<?>)getETypeArguments()).basicRemove(otherEnd, msgs);
    6
    case MappingPackage.MAPPING__NESTED_IN:
    6
    case MappingPackage.MAPPING__NESTED_IN:
    6
    case EcorePackage.EGENERIC_TYPE__ELOWER_BOUND:
    Differences
    Expression1Expression2Difference
    org.eclipse.emf.mapping.MappingPackageorg.eclipse.emf.ecore.EcorePackageVARIABLE_TYPE_MISMATCH
    MAPPING__NESTED_INEGENERIC_TYPE__ELOWER_BOUNDVARIABLE_NAME_MISMATCH
    Preondition Violations
    Type org.eclipse.emf.mapping.MappingPackage of variable MappingPackage does not match with type org.eclipse.emf.ecore.EcorePackage of variable EcorePackage
    • Make classes org.eclipse.emf.mapping.MappingPackage and org.eclipse.emf.ecore.EcorePackage extend a common superclass
    6
    case EcorePackage.EGENERIC_TYPE__ELOWER_BOUND:
    7
    return basicSetNestedIn(null, msgs);
    7
    return basicSetNestedIn(null, msgs);
    7
    return basicSetELowerBound(null, msgs);
    Differences
    Expression1Expression2Difference
    basicSetNestedInbasicSetELowerBoundMETHOD_INVOCATION_NAME_MISMATCH
    7
    return basicSetELowerBound(null, msgs);
    8
    return super.eInverseRemove(otherEnd, featureID, msgs);
    8
    return super.eInverseRemove(otherEnd, featureID, msgs);
    8
    return eDynamicInverseRemove(otherEnd, featureID, msgs);
    Differences
    Expression1Expression2Difference
    super.eInverseRemove(otherEnd,featureID,msgs)eDynamicInverseRemove(otherEnd,featureID,msgs)TYPE_COMPATIBLE_REPLACEMENT
    8
    return eDynamicInverseRemove(otherEnd, featureID, msgs);
    Precondition Violations (4)
    Row Violation
    1Type org.eclipse.emf.mapping.MappingPackage of variable MappingPackage does not match with type org.eclipse.emf.ecore.EcorePackage of variable EcorePackage
    2Type org.eclipse.emf.mapping.MappingPackage of variable MappingPackage does not match with type org.eclipse.emf.ecore.EcorePackage of variable EcorePackage
    3Type org.eclipse.emf.common.util.EList<org.eclipse.emf.mapping.Mapping> of variable getNested() does not match with type org.eclipse.emf.common.util.EList<org.eclipse.emf.ecore.EGenericType> of variable getETypeArguments()
    4Type org.eclipse.emf.mapping.MappingPackage of variable MappingPackage does not match with type org.eclipse.emf.ecore.EcorePackage of variable EcorePackage