AlgorithmName an = new AlgorithmName();
an.setValue(value);
setAlgorithm(an);
} else if ("comparator".equals(key)) {
ComparatorName cn = new ComparatorName();
cn.setValue(value);
setComparator(cn);
CacheName cn = new CacheName();
cn.setValue(value);
setCache(cn);
} else if ("algorithm".equals(key)) {
AlgorithmName an = new AlgorithmName();
an.setValue(value);
setAlgorithm(an);
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
|
|
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/types/selectors/modifiedselector/ModifiedSelector.java
|
Method name: void useParameter(Parameter)
|
|
Method name: void useParameter(Parameter)
|
Number of AST nodes: 6
|
|
Number of AST nodes: 6
|
|
1 | AlgorithmName an = new AlgorithmName();↵ | | 1 | CacheName cn = new CacheName();↵
|
2 | an.setValue(value);↵ | | 2 | cn.setValue(value);↵
|
3 | setAlgorithm(an);↵ | | 3 | setCache(cn);↵
|
4 | } else if ("comparator".equals(key)) {↵ | | 4 | } else if ("algorithm".equals(key)) {↵
|
5 | ComparatorName cn = new ComparatorName();↵ | | 5 | AlgorithmName an = new AlgorithmName();↵
|
6 | cn.setValue(value);↵ | | 6 | an.setValue(value);↵
|
7 | setComparator(cn); | | 7 | setAlgorithm(an);
|
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.0 |
Clones location | Clones are in the same method |
Number of node comparisons | 5 |
-
{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) | 0.0 |
Clone type | Type 2 |
Mapped Statements
ID |
Statement |
|
ID |
Statement |
8 | AlgorithmName an = new AlgorithmName(); | | 4 | CacheName cn = new CacheName(); |
9 | an.setValue(value); | | 5 | cn.setValue(value); |
10 | setAlgorithm(an); | | 6 | setCache(cn); |
Precondition Violations (4)
Row |
Violation |
1 | Expression setAlgorithm(an) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression setCache(cn) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression setAlgorithm(an) is a void method call, and thus it cannot be parameterized |
4 | Expression setCache(cn) is a void method call, and thus it cannot be parameterized |