Example #1
0
 /** Performs the dependency analysis on the given archives. */
 public void run(List<Archive> archives) {
   // build a map from Location to Archive
   for (Archive archive : archives) {
     for (Location l : archive.getClasses()) {
       if (!map.containsKey(l)) {
         map.put(l, archive);
       } else {
         // duplicated class warning?
       }
     }
   }
   // traverse and analyze all dependencies
   for (Archive archive : archives) {
     ArchiveDeps deps;
     if (type == Type.CLASS || type == Type.VERBOSE) {
       deps = new ClassVisitor(archive);
     } else {
       deps = new PackageVisitor(archive);
     }
     archive.visitDependences(deps);
     results.put(archive, deps);
   }
 }