if (diagnostics != null)
{
diagnostics.add
(new BasicDiagnostic
(Diagnostic.ERROR,
DIAGNOSTIC_SOURCE,
WELL_FORMED_INSTANCE_TYPE_NAME,
getString(key, substitutions),
new Object [] { index }));
}
if (oldValue != null)
{
notifications =
((InternalEObject)oldValue).eInverseRemove
(owner,
InternalEObject.EOPPOSITE_FEATURE_BASE - owner.eClass().getFeatureID(feature),
null,
notifications);
}
Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/util/EcoreValidator.java
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/impl/EStructuralFeatureImpl.java
Method name: void report(DiagnosticChain, String, Object[], int, Map)
Method name: NotificationChain dynamicInverseAdd(InternalEObject, EStructuralFeature.Internal.DynamicValueHolder, int, InternalEObject, NotificationChain)
Number of AST nodes: 2
Number of AST nodes: 2
1 if ( diagnostics != null) ↵ 1 if ( oldValue != null) ↵
2 { ↵ 2 ↵
3 diagnostics.add ↵ 3 ↵
4 (new BasicDiagnostic ↵
5 (Diagnostic.ERROR, ↵
6 DIAGNOSTIC_SOURCE, ↵
7 WELL_FORMED_INSTANCE_TYPE_NAME, ↵
8 getString(key, substitutions), ↵
9 new Object [] { index })); ↵
4 { ↵
5 notifications = ↵
6 ((InternalEObject)oldValue).eInverseRemove ↵
7 (owner, ↵
8 InternalEObject.EOPPOSITE_FEATURE_BASE - owner.eClass().getFeatureID(feature), ↵
9 null, ↵
10 notifications); ↵
10 } 11 }
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 4
{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 1
Time elapsed for statement mapping (ms) 1.7
Clone type Type 2
Mapped Statements
ID
Statement
ID
Statement
1
if ( diagnostics != null ) 9
if ( oldValue != null ) 2 diagnostics . add ( new BasicDiagnostic ( Diagnostic . ERROR , DIAGNOSTIC_SOURCE , WELL_FORMED_INSTANCE_TYPE_NAME , getString ( key , substitutions ) , new Object [ ] { index } ) ) ; 10 notifications = ( ( InternalEObject ) oldValue ) . eInverseRemove ( owner , InternalEObject . EOPPOSITE_FEATURE_BASE - owner . eClass ( ) . getFeatureID ( feature ) , null , notifications ) ;
Precondition Violations (1)
Row
Violation
1 Type org.eclipse.emf.common.util.DiagnosticChain of variable diagnostics does not match with type java.lang.Object of variable oldValue