173-211-212

if (resourceAttributes == null) { resourceAttributes = resource.getResourceAttributes(); } resourceAttributes.setHidden(hidden);
if (resourceAttributes == null) { resourceAttributes = resource.getResourceAttributes(); } resourceAttributes.setExecutable(executable);

Clone fragments detected by clone detection tool
File path: /emf-2.4.1/src/org/eclipse/emf/ecore/resource/impl/PlatformResourceURIHandlerImpl.java |  | File path: /emf-2.4.1/src/org/eclipse/emf/ecore/resource/impl/PlatformResourceURIHandlerImpl.java
Method name: `void updateAttributes(String, Map, Map)` |  | Method name: `void updateAttributes(String, Map, Map)`
Number of AST nodes: 3 |  | Number of AST nodes: 3

1

    if (resourceAttributes == null)↵

1

    if (resourceAttributes == null)↵

2

                {↵

2

                {↵

3

                  resourceAttributes = resource.getResourceAttributes();↵

3

                  resourceAttributes = resource.getResourceAttributes();↵

4

                }↵

4

                }↵

5

                resourceAttributes.setHidden(hidden);

5

                resourceAttributes.setExecutable(executable);

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 the same method
Number of node comparisons | 6

1. {Non-refactorable}

   Mapping Summary
   Number of mapped statements | 3
   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) | 2.0
   Clone type | Type 2

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

   25

       if (resourceAttributes == null)

   20

       if (resourceAttributes == null)

   26

       resourceAttributes = resource.getResourceAttributes();

   21

       resourceAttributes = resource.getResourceAttributes();

   27

       resourceAttributes.setHidden(hidden);

   27 | resourceAttributes.setHidden(hidden);
   22 | resourceAttributes.setExecutable(executable);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   hidden | executable | VARIABLE_NAME_MISMATCH
   setHidden | setExecutable | METHOD_INVOCATION_NAME_MISMATCH

   Preondition Violations
   Expression resourceAttributes.setHidden(hidden) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression resourceAttributes.setExecutable(executable) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression resourceAttributes.setHidden(hidden) is a void method call, and thus it cannot be parameterized
   Expression resourceAttributes.setExecutable(executable) is a void method call, and thus it cannot be parameterized

   22

       resourceAttributes.setExecutable(executable);

   Precondition Violations (4)
   Row | Violation
   --- | ---
   1 | Expression resourceAttributes.setHidden(hidden) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   2 | Expression resourceAttributes.setExecutable(executable) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   3 | Expression resourceAttributes.setHidden(hidden) is a void method call, and thus it cannot be parameterized
   4 | Expression resourceAttributes.setExecutable(executable) is a void method call, and thus it cannot be parameterized