11436-3-7

if (diagnostics == null) { return false; } else { result = false; diagnostics.add (createDiagnostic (Diagnostic.ERROR, DIAGNOSTIC_SOURCE, CONSISTENT_TYPE_PRIMITIVE_TYPE_NOT_PERMITTED, "_UI_EGenericTypeInvalidPrimitiveType_diagnostic", new Object[] { instanceClassName }, new Object[] { eGenericType }, context)); }
if (diagnostics == null) { return false; } else { result = false; diagnostics.add (createDiagnostic (Diagnostic.ERROR, DIAGNOSTIC_SOURCE, CONSISTENT_SUPER_TYPES_DUPLICATE, "_UI_EClassNoDuplicateSuperTypes_diagnostic", new Object [] { eGenericSuperTypes.indexOf(eGenericSuperType), index }, new Object[] { eClass, eGenericSuperType, eGenericSuperTypes.get(index) }, context)); }

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/util/EcoreValidator.java
Method name: `boolean validateEGenericType_ConsistentType(EGenericType, DiagnosticChain, Map)` |  | Method name: `boolean validateEClass_ConsistentSuperTypes(EClass, DiagnosticChain, Map)`
Number of AST nodes: 4 |  | Number of AST nodes: 4

1

    if (diagnostics == null)↵

1

    if (diagnostics == null)↵

2

            {↵

2

            ↵

3

      {↵

3

              return false;↵

4

                return false;↵

4

            }↵

5

              }↵

5

            else↵

6

              else↵

6

            {↵

7

            ↵

8

      {↵

7

              result = false;↵

9

                result = false;↵

8

              diagnostics.add↵

10

                diagnostics.add↵

9

                (createDiagnostic↵

11

                  (createDiagnostic↵

10

                  (Diagnostic.ERROR,↵

12

                    (Diagnostic.ERROR,↵

11

                   DIAGNOSTIC_SOURCE,↵

13

                     DIAGNOSTIC_SOURCE,↵

12

                   CONSISTENT_TYPE_PRIMITIVE_TYPE_NOT_PERMITTED,↵

14

                     CONSISTENT_SUPER_TYPES_DUPLICATE,↵

13

                   "_UI_EGenericTypeInvalidPrimitiveType_diagnostic",↵

15

                     "_UI_EClassNoDuplicateSuperTypes_diagnostic",↵

14

                   new Object[] { instanceClassName },↵

16

                     new Object [] { eGenericSuperTypes.indexOf(eGenericSuperType), index },↵

15

                   new Object[] { eGenericType },↵

17

                     new Object[] { eClass, eGenericSuperType,  eGenericSuperTypes.get(index) },↵

16

                   context));↵

18

                     context));↵

17

            }

19

              }

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.2
Clones location | Clones are declared in the same class
Number of node comparisons | 17

1. {Non-refactorable}

   Mapping Summary
   Number of mapped statements | 4
   Number of unmapped statements in the first code fragment | 0
   Number of unmapped statements in the second code fragment | 0
   Time elapsed for statement mapping (ms) | 27.1
   Clone type | Type 2

   Mapped Statements
   ID | Statement |  | ID | Statement
   --- | --- | --- | --- | ---

   63

       if (diagnostics == null)

   9

       if (diagnostics == null)

   64

       return false;

   64 | return false;
   10 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   10

       return false;

       else

       else

   65

       result = false;

   11

       result = false;

   66

       diagnostics.add(createDiagnostic(Diagnostic.ERROR, DIAGNOSTIC_SOURCE, CONSISTENT_TYPE_PRIMITIVE_TYPE_NOT_PERMITTED, "_UI_EGenericTypeInvalidPrimitiveType_diagnostic", new Object[] {instanceClassName}, new Object[] {eGenericType}, context));

   66 | diagnostics.add(createDiagnostic(Diagnostic.ERROR, DIAGNOSTIC_SOURCE, CONSISTENT_TYPE_PRIMITIVE_TYPE_NOT_PERMITTED, "_UI_EGenericTypeInvalidPrimitiveType_diagnostic", new Object[] {instanceClassName}, new Object[] {eGenericType}, context));
   12 | diagnostics.add(createDiagnostic(Diagnostic.ERROR, DIAGNOSTIC_SOURCE, CONSISTENT_SUPER_TYPES_DUPLICATE, "_UI_EClassNoDuplicateSuperTypes_diagnostic", new Object[] {eGenericSuperTypes.indexOf(eGenericSuperType), index}, new Object[] {eClass, eGenericSuperType, eGenericSuperTypes.get(index)}, context));

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   CONSISTENT_TYPE_PRIMITIVE_TYPE_NOT_PERMITTED | CONSISTENT_SUPER_TYPES_DUPLICATE | VARIABLE_NAME_MISMATCH
   "_UI_EGenericTypeInvalidPrimitiveType_diagnostic" | "_UI_EClassNoDuplicateSuperTypes_diagnostic" | LITERAL_VALUE_MISMATCH
   {instanceClassName} | {eGenericSuperTypes.indexOf(eGenericSuperType),index} | ARRAY_INITIALIZER_EXPRESSION_NUMBER_MISMATCH
   {eGenericType} | {eClass,eGenericSuperType,eGenericSuperTypes.get(index)} | ARRAY_INITIALIZER_EXPRESSION_NUMBER_MISMATCH

   12

       diagnostics.add(createDiagnostic(Diagnostic.ERROR, DIAGNOSTIC_SOURCE, CONSISTENT_SUPER_TYPES_DUPLICATE, "_UI_EClassNoDuplicateSuperTypes_diagnostic", new Object[] {eGenericSuperTypes.indexOf(eGenericSuperType), index}, new Object[] {eClass, eGenericSuperType, eGenericSuperTypes.get(index)}, context));

   Precondition Violations (2)
   Row | Violation
   --- | ---
   1 | Conditional return false;
   2 | Conditional return false;