if (oldValue != null)
{
notifications =
((InternalEObject)oldValue).eInverseRemove
(owner,
InternalEObject.EOPPOSITE_FEATURE_BASE - owner.eClass().getFeatureID(feature),
null,
notifications);
}
if (nameToClassifierMap != null)
{
nameToClassifierMap.values().remove(eClassifier);
nameToClassifierMap.put(newName, eClassifier);
}
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java
|
|
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/BasicExtendedMetaData.java
|
Method name: NotificationChain dynamicInverseAdd(InternalEObject, EStructuralFeature.Internal.DynamicValueHolder, int, InternalEObject, NotificationChain)
|
|
Method name: void rename(EClassifier, String)
|
Number of AST nodes: 2
|
|
Number of AST nodes: 3
|
|
1 | if (oldValue != null)↵ | | 1 | if (nameToClassifierMap != null)↵
|
2 | {↵ | | 2 | {↵
|
3 | notifications = ↵ | | 3 | ↵
|
4 | ((InternalEObject)oldValue).eInverseRemove↵ | | |
|
5 | (owner,↵ | | |
|
6 | InternalEObject.EOPPOSITE_FEATURE_BASE - owner.eClass().getFeatureID(feature),↵ | | |
|
7 | null,↵ | | |
|
8 | notifications↵ | | 4 | nameToClassifierMap.values().remove(eClassifier);↵
|
9 | );↵ | | 5 | nameToClassifierMap.put(newName, eClassifier);↵
|
10 | } | | 6 | }
|
See real code fragment |
|
See real code fragment |
Summary
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.1 |
Clones location | Clones are in different classes |
Number of node comparisons | 6 |
-
{Non-refactorable}
Mapping Summary
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 1 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 0.6 |
Clone type | Type 3 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
9 | if (oldValue != null) | | 1 | if (nameToClassifierMap != null) |
| | | 2 | nameToClassifierMap.values().remove(eClassifier); |
| | | 3 | nameToClassifierMap.put(newName, eClassifier); |
10 | notifications = ((InternalEObject)oldValue).eInverseRemove(owner, InternalEObject.EOPPOSITE_FEATURE_BASE - owner.eClass().getFeatureID(feature), null, notifications); | | | |
Precondition Violations (1)
Row |
Violation |
1 | Type java.lang.Object of variable oldValue does not match with type java.util.Map<java.lang.String,org.eclipse.emf.ecore.EClassifier> of variable nameToClassifierMap |