try { JUnitTest t = (JUnitTest) super.clone(); t.props = props == null ? null : (Properties) props.clone(); t.formatters = (Vector) formatters.clone(); return t; } catch (CloneNotSupportedException e) { // plain impossible return this; }
try { // We must check if the process was not stopped // before being here process.exitValue(); } catch (IllegalThreadStateException itse) { // the process is not terminated, if this is really // a timeout and not a manual stop then kill it. if (watch) { killedProcess = true; process.destroy(); } }
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/optional/junit/JUnitTest.java File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/ExecuteWatchdog.java
Method name: Object clone() Method name: void timeoutOccured(Watchdog)
Number of AST nodes: 5 Number of AST nodes: 2
1
try {
1
try {
2
            JUnitTest t = (JUnitTest) super.clone();
2
            
3
            t.props = props == null ? null : (Properties) props.clone();
4
            t.formatters = (Vector) formatters.clone();
5
            return t;
6
        } catch (CloneNotSupportedException e) {
7
            // plain impossible
8
            return this;
3
    // We must check if the process was not stopped
4
                // before being here
5
                process.exitValue();
6
            } catch (IllegalThreadStateException itse) {
7
                // the process is not terminated, if this is really
8
                // a timeout and not a manual stop then kill it.
9
                if (watch) {
10
                    killedProcess = true;
11
                    process.destroy();
12
                }
9
        }
13
            }
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.1
Clones locationClones are in different classes
Number of node comparisons1