File path: /emf-2.4.1/src/org/eclipse/emf/ecore/provider/EClassItemProvider.java | File path: /emf-2.4.1/src/org/eclipse/emf/edit/provider/ItemProviderAdapter.java | |||
Method name: Collection extends EStructuralFeature> getChildrenFeatures(Object)
|
Method name: List
|
|||
Number of AST nodes: 6 | Number of AST nodes: 4 | |||
1 | if (childrenFeatures == null)↵ | 1 | if (owners == null)↵ | |
2 | {↵ | 2 | {↵ | |
3 | super.getChildrenFeatures(object);↵ | 3 | ↵ | |
4 | childrenFeatures.add(EcorePackage.Literals.ECLASS__EOPERATIONS);↵ | |||
5 | childrenFeatures.add(EcorePackage.Literals.ECLASS__ESTRUCTURAL_FEATURES);↵ | |||
6 | childrenFeatures.add(2, EcorePackage.Literals.ECLASS__EGENERIC_SUPER_TYPES↵ | 4 | owners = new UniqueEList<Object>();↵ | |
7 | );↵ | 5 | addOwners(getCommand());↵ | |
8 | }↵ | 6 | ↵ | |
7 | }↵ | |||
9 | return childrenFeatures; | 8 | return owners; | |
See real code fragment | See real code fragment |
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 | 16 |
Number of mapped statements | 2 |
Number of unmapped statements in the first code fragment | 4 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 7.2 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | if (childrenFeatures == null) |
| 1 | if (owners == null) | ||||||||||||||||||||
|
| 2 | owners = new UniqueEList<Object>(); | |||||||||||||||||||||
2 | super.getChildrenFeatures(object); | | ||||||||||||||||||||||
3 | childrenFeatures.add(EcorePackage.Literals.ECLASS__EOPERATIONS); | | ||||||||||||||||||||||
4 | childrenFeatures.add(EcorePackage.Literals.ECLASS__ESTRUCTURAL_FEATURES); | | ||||||||||||||||||||||
5 | childrenFeatures.add(2, EcorePackage.Literals.ECLASS__EGENERIC_SUPER_TYPES); |
| 3 | addOwners(getCommand()); | ||||||||||||||||||||
|
| 4 | return owners; | |||||||||||||||||||||
6 | return childrenFeatures; |
| |
Row | Violation |
---|---|
1 | Type java.util.List<org.eclipse.emf.ecore.EStructuralFeature> of variable childrenFeatures does not match with type java.util.List<java.lang.Object> of variable owners |
2 | Unmatched statement owners=new UniqueEList<Object>(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Expression childrenFeatures.add(2,EcorePackage.Literals.ECLASS__EGENERIC_SUPER_TYPES) is a void method call, and thus it cannot be parameterized |
4 | Expression addOwners(getCommand()) is a void method call, and thus it cannot be parameterized |
5 | Expression childrenFeatures.add(2,EcorePackage.Literals.ECLASS__EGENERIC_SUPER_TYPES) is a void method call, and thus it cannot be parameterized |
6 | Expression addOwners(getCommand()) is a void method call, and thus it cannot be parameterized |
7 | Unmatched return owners; |
8 | Unmatched return childrenFeatures; |