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 (includesFileList.size() > 0) { Enumeration e = includesFileList.elements(); while (e.hasMoreElements()) { NameEntry ne = (NameEntry) e.nextElement(); String fileName = ne.evalName(p); if (fileName != null) { File inclFile = p.resolveFile(fileName); if (!inclFile.exists()) { throw new BuildException("Includesfile " + inclFile.getAbsolutePath() + " not found."); } readPatterns(inclFile, includeList, p); } } includesFileList.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 (includesFileList.size() > 0) {
2
            Iterator i = resources.iterator();
2
            
3
            Resource r1 = (Resource
3
Enumeration e = includesFileList.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
              
7
                r2 = (Resource) i.next();
8
                try
9
  if (fileName != null) {
10
                    File inclFile = p.resolveFile(fileName);
9
 {
11
                    if (!inclFile.exists()) {
10
                    if (!ResourceUtils.contentEquals(r1, r2, asText)) {
12
                        throw new BuildExcepti
13
on("Includesfile "
11
                        return false;
14
                          
12
                    }
15
                       
13
                } catch (IOException ioe) {
14
                    throw new BuildException("when comparing resources "
16
+ inclFile.getAbsolutePath()
17
                                                 + " not found.");
15
                   
18
                    }
16
     + r1.toString() + " and " + r2.toString(), ioe);
19
                    readPatterns(inclFile, includeList, p);
17
                }
20
                }
18
                r1 = r2;
21
            }
19
            }
22
            includesFileList.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.2
Clones locationClones are in different classes
Number of node comparisons1