if (resources.size() > 1) { Iterator i = resources.iterator(); Resource r1 = (Resource) i.next(); Resource r2 = null; while (i.hasNext()) { r2 = (Resource) i.next(); try { if (!ResourceUtils.contentEquals(r1, r2, asText)) { return false; } } catch (IOException ioe) { throw new BuildException("when comparing resources " + r1.toString() + " and " + r2.toString(), ioe); } r1 = r2; } }
if (excludesFileList.size() > 0) { Enumeration e = excludesFileList.elements(); while (e.hasMoreElements()) { NameEntry ne = (NameEntry) e.nextElement(); String fileName = ne.evalName(p); if (fileName != null) { File exclFile = p.resolveFile(fileName); if (!exclFile.exists()) { throw new BuildException("Excludesfile " + exclFile.getAbsolutePath() + " not found."); } readPatterns(exclFile, excludeList, p); } } excludesFileList.removeAllElements(); }
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/condition/ResourcesMatch.java File path: /apache-ant-1.7.0/src/org/apache/tools/ant/types/PatternSet.java
Method name: boolean eval() Method name: void readFiles(Project)
Number of AST nodes: 10 Number of AST nodes: 11
1
if (resources.size() > 1) {
1
if (excludesFileList.size() > 0) {
2
            Iterator i = resources.iterator();
2
            
3
            Resource r1 = (Resource
3
Enumeration e = excludesFileList.elements();
4
            while (e.hasMoreElements()) {
4
) i.next();
5
                NameEntry ne = (NameEntry) e.nextElement();
5
            Resource r2 = null;
6
            
7
    String fileName = ne.evalName(p);
6
            while (i.hasNext()) {
8
                if (fileName != null) {
7
                r2 = (Resource) i.next();
9
                 
8
                try
10
   File exclFile = p.resolveFile(fileName);
9
 {
11
                    if (!exclFile.exists()) {
10
                    if (!ResourceUtils.contentEquals(r1, r2, asText)) {
12
                        throw new BuildExcepti
13
on("Excludesfile "
11
                        return false;
14
                          
12
                    }
15
                       
13
                } catch (IOException ioe) {
14
                    throw new BuildException("when comparing resources "
16
+ exclFile.getAbsolutePath()
17
                                                 + " not found.");
15
                    
18
                    }
16
    + r1.toString() + " and " + r2.toString(), ioe);
19
                    readPatterns(exclFile, excludeList, p);
17
                }
20
                }
18
                r1 = r2;
21
            }
19
            }
22
            excludesFileList.removeAllElements();
20
        }
23
        }
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