Time elapsed for finding largest common nesting structure subtrees (ms)
0.1
Clones location
Clones are in different classes
Number of node comparisons
7
{Non-refactorable}
Mapping Summary
Number of mapped statements
1
Number of unmapped statements in the first code fragment
2
Number of unmapped statements in the second code fragment
3
Time elapsed for statement mapping (ms)
0.5
Clone type
Type 3
Mapped Statements
ID
Statement
ID
Statement
19
if(buffer==null)
19
if(buffer==null)
1
if(owners==null)
Differences
Expression1
Expression2
Difference
buffer
owners
VARIABLE_NAME_MISMATCH
java.lang.StringBuffer
java.util.List
VARIABLE_TYPE_MISMATCH
Preondition Violations
Type java.lang.StringBuffer of variable buffer does not match with type java.util.List<java.lang.Object> of variable owners
Make classes java.lang.StringBuffer and java.util.List extend a common superclass
1
if(owners==null)
2
owners=newUniqueEList<Object>();
3
addOwners(getCommand());
20
buffer=newStringBuffer(value);
20
buffer=newStringBuffer(value);
Preondition Violations
Unmatched statement buffer=new StringBuffer(value); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
4
returnowners;
Preondition Violations
Unmatched return owners;
4
returnowners;
21
buffer.setCharAt(i-offset, ' ');
Precondition Violations (3)
Row
Violation
1
Type java.lang.StringBuffer of variable buffer does not match with type java.util.List<java.lang.Object> of variable owners
2
Unmatched statement buffer=new StringBuffer(value); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted