ReplaceTokens newFilter = new ReplaceTokens(rdr); newFilter.setBeginToken(getBeginToken()); newFilter.setEndToken(getEndToken()); newFilter.setTokens(getTokens()); newFilter.setInitialized(true); return newFilter;
checkParameters(); readFile(); executeOperation(); writeFile();
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/filters/ReplaceTokens.java File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/optional/PropertyFile.java
Method name: Reader chain(Reader) Method name: void execute()
Number of AST nodes: 6 Number of AST nodes: 4
1
ReplaceTokens newFilter = new ReplaceTokens(rdr);
2
        newFilter.setBeginToken(getBeginToken());
3
        newFilter.setEndToken(getEndToken());
4
        newFilter.setTokens(getTokens
1
checkParameters();
2
        readFile();
5
());
3
        executeOperation();
6
        newFilter.setInitialized(true);
4
        
7
        return newFilter;
5
writeFile();
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are in different classes
Number of node comparisons24
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements4
    Number of unmapped statements in the first code fragment2
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    ReplaceTokens newFilter = new ReplaceTokens(rdr);
                                                                                                        
    2
    newFilter.setBeginToken(getBeginToken());
    2
    newFilter.setBeginToken(getBeginToken());
    1
    checkParameters();
    Differences
    Expression1Expression2Difference
    setBeginTokencheckParametersMETHOD_INVOCATION_NAME_MISMATCH
    newFilter.setBeginToken(getBeginToken())checkParameters()ARGUMENT_NUMBER_MISMATCH
    newFilterMISSING_METHOD_INVOCATION_EXPRESSION
    Preondition Violations
    Expression newFilter.setBeginToken(getBeginToken()) is a void method call, and thus it cannot be parameterized
    Expression checkParameters() is a void method call, and thus it cannot be parameterized
    Expression newFilter.setBeginToken(getBeginToken()) is a void method call, and thus it cannot be parameterized
    Expression checkParameters() is a void method call, and thus it cannot be parameterized
    1
    checkParameters();
    3
    newFilter.setEndToken(getEndToken());
    3
    newFilter.setEndToken(getEndToken());
    2
    readFile();
    Differences
    Expression1Expression2Difference
    setEndTokenreadFileMETHOD_INVOCATION_NAME_MISMATCH
    newFilter.setEndToken(getEndToken())readFile()ARGUMENT_NUMBER_MISMATCH
    newFilterMISSING_METHOD_INVOCATION_EXPRESSION
    Preondition Violations
    Expression newFilter.setEndToken(getEndToken()) is a void method call, and thus it cannot be parameterized
    Expression readFile() is a void method call, and thus it cannot be parameterized
    Expression newFilter.setEndToken(getEndToken()) is a void method call, and thus it cannot be parameterized
    Expression readFile() is a void method call, and thus it cannot be parameterized
    2
    readFile();
    4
    newFilter.setTokens(getTokens());
    4
    newFilter.setTokens(getTokens());
    4
    writeFile();
    Differences
    Expression1Expression2Difference
    setTokenswriteFileMETHOD_INVOCATION_NAME_MISMATCH
    newFilter.setTokens(getTokens())writeFile()ARGUMENT_NUMBER_MISMATCH
    newFilterMISSING_METHOD_INVOCATION_EXPRESSION
    Preondition Violations
    Expression writeFile() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    • Inline private method writeFile
    Expression newFilter.setTokens(getTokens()) is a void method call, and thus it cannot be parameterized
    Expression writeFile() is a void method call, and thus it cannot be parameterized
    Expression writeFile() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    • Inline private method writeFile
    Expression newFilter.setTokens(getTokens()) is a void method call, and thus it cannot be parameterized
    Expression writeFile() is a void method call, and thus it cannot be parameterized
    4
    writeFile();
    5
    newFilter.setInitialized(true);
    5
    newFilter.setInitialized(true);
    3
    executeOperation();
    Differences
    Expression1Expression2Difference
    setInitializedexecuteOperationMETHOD_INVOCATION_NAME_MISMATCH
    newFilter.setInitialized(true)executeOperation()ARGUMENT_NUMBER_MISMATCH
    newFilterMISSING_METHOD_INVOCATION_EXPRESSION
    Preondition Violations
    Expression executeOperation() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    • Inline private method executeOperation
    Expression newFilter.setInitialized(true) is a void method call, and thus it cannot be parameterized
    Expression executeOperation() is a void method call, and thus it cannot be parameterized
    Expression executeOperation() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    • Inline private method executeOperation
    Expression newFilter.setInitialized(true) is a void method call, and thus it cannot be parameterized
    Expression executeOperation() is a void method call, and thus it cannot be parameterized
    3
    executeOperation();
    6
    return newFilter;
    6
    return newFilter;
    Preondition Violations
    Unmatched return newFilter;
                                            
    Precondition Violations (21)
    Row Violation
    1Expression newFilter.setBeginToken(getBeginToken()) is a void method call, and thus it cannot be parameterized
    2Expression checkParameters() is a void method call, and thus it cannot be parameterized
    3Expression newFilter.setBeginToken(getBeginToken()) is a void method call, and thus it cannot be parameterized
    4Expression checkParameters() is a void method call, and thus it cannot be parameterized
    5Expression newFilter.setEndToken(getEndToken()) is a void method call, and thus it cannot be parameterized
    6Expression readFile() is a void method call, and thus it cannot be parameterized
    7Expression newFilter.setEndToken(getEndToken()) is a void method call, and thus it cannot be parameterized
    8Expression readFile() is a void method call, and thus it cannot be parameterized
    9Expression writeFile() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression newFilter.setTokens(getTokens()) is a void method call, and thus it cannot be parameterized
    11Expression writeFile() is a void method call, and thus it cannot be parameterized
    12Expression writeFile() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13Expression newFilter.setTokens(getTokens()) is a void method call, and thus it cannot be parameterized
    14Expression writeFile() is a void method call, and thus it cannot be parameterized
    15Expression executeOperation() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16Expression newFilter.setInitialized(true) is a void method call, and thus it cannot be parameterized
    17Expression executeOperation() is a void method call, and thus it cannot be parameterized
    18Expression executeOperation() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19Expression newFilter.setInitialized(true) is a void method call, and thus it cannot be parameterized
    20Expression executeOperation() is a void method call, and thus it cannot be parameterized
    21Unmatched return newFilter;