Time elapsed for finding largest common nesting structure subtrees (ms)
0.1
Clones location
Clones are in different classes
Number of node comparisons
5
{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
2
Time elapsed for statement mapping (ms)
0.3
Clone type
Type 2
Mapped Statements
ID
Statement
ID
Statement
1
if(loadOptions==null)
1
if(loadOptions==null)
14
if(buffer==null)
Differences
Expression1
Expression2
Difference
loadOptions
buffer
VARIABLE_NAME_MISMATCH
java.util.Map
java.lang.StringBuffer
VARIABLE_TYPE_MISMATCH
Preondition Violations
Type java.util.Map<java.lang.Object,java.lang.Object> of variable loadOptions does not match with type java.lang.StringBuffer of variable buffer
Make classes java.util.Map and java.lang.StringBuffer extend a common superclass
14
if(buffer==null)
2
loadOptions=newHashMap<Object, Object>();
15
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
15
buffer=newStringBuffer(value);
3
returnloadOptions;
3
returnloadOptions;
Preondition Violations
Unmatched return loadOptions;
16
buffer.deleteCharAt(i-offset++);
Precondition Violations (3)
Row
Violation
1
Type java.util.Map<java.lang.Object,java.lang.Object> of variable loadOptions does not match with type java.lang.StringBuffer of variable buffer
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