langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java
changeset 1789 7ac8c0815000
parent 1264 076a3cde30d5
child 5520 86e4b9a9da40
equal deleted inserted replaced
1788:ced0a1a7ec80 1789:7ac8c0815000
   182 
   182 
   183     public ClassUseMapper(RootDoc root, ClassTree classtree) {
   183     public ClassUseMapper(RootDoc root, ClassTree classtree) {
   184         this.classtree = classtree;
   184         this.classtree = classtree;
   185 
   185 
   186         // Map subclassing, subinterfacing implementing, ...
   186         // Map subclassing, subinterfacing implementing, ...
   187         for (Iterator it = classtree.baseclasses().iterator(); it.hasNext();) {
   187         for (Iterator<ClassDoc> it = classtree.baseclasses().iterator(); it.hasNext();) {
   188             subclasses((ClassDoc)it.next());
   188             subclasses(it.next());
   189         }
   189         }
   190         for (Iterator it = classtree.baseinterfaces().iterator(); it.hasNext();) {
   190         for (Iterator<ClassDoc> it = classtree.baseinterfaces().iterator(); it.hasNext();) {
   191             // does subinterfacing as side-effect
   191             // does subinterfacing as side-effect
   192             implementingClasses((ClassDoc)it.next());
   192             implementingClasses(it.next());
   193         }
   193         }
   194         // Map methods, fields, constructors using a class.
   194         // Map methods, fields, constructors using a class.
   195         ClassDoc[] classes = root.classes();
   195         ClassDoc[] classes = root.classes();
   196         for (int i = 0; i < classes.length; i++) {
   196         for (int i = 0; i < classes.length; i++) {
   197             PackageDoc pkg = classes[i].containingPackage();
   197             PackageDoc pkg = classes[i].containingPackage();
   277         if (ret == null) {
   277         if (ret == null) {
   278             ret = new TreeSet<ClassDoc>();
   278             ret = new TreeSet<ClassDoc>();
   279             List<ClassDoc> impl = classtree.implementingclasses(cd);
   279             List<ClassDoc> impl = classtree.implementingclasses(cd);
   280             if (impl != null) {
   280             if (impl != null) {
   281                 ret.addAll(impl);
   281                 ret.addAll(impl);
   282                 for (Iterator it = impl.iterator(); it.hasNext();) {
   282                 for (Iterator<ClassDoc> it = impl.iterator(); it.hasNext();) {
   283                     ret.addAll(subclasses((ClassDoc)it.next()));
   283                     ret.addAll(subclasses(it.next()));
   284                 }
   284                 }
   285             }
   285             }
   286             for (Iterator it = subinterfaces(cd).iterator(); it.hasNext();) {
   286             for (Iterator<ClassDoc> it = subinterfaces(cd).iterator(); it.hasNext();) {
   287                 ret.addAll(implementingClasses((ClassDoc)it.next()));
   287                 ret.addAll(implementingClasses(it.next()));
   288             }
   288             }
   289             addAll(classToImplementingClass, cd, ret);
   289             addAll(classToImplementingClass, cd, ret);
   290         }
   290         }
   291         return ret;
   291         return ret;
   292     }
   292     }
   326     }
   326     }
   327 
   327 
   328     private <T> List<T> refList(Map<String,List<T>> map, ClassDoc cd) {
   328     private <T> List<T> refList(Map<String,List<T>> map, ClassDoc cd) {
   329         List<T> list = map.get(cd.qualifiedName());
   329         List<T> list = map.get(cd.qualifiedName());
   330         if (list == null) {
   330         if (list == null) {
   331             @SuppressWarnings("unchecked")
   331             List<T> l = new ArrayList<T>();
   332             List<T> l = new ArrayList();
       
   333             list = l;
   332             list = l;
   334             map.put(cd.qualifiedName(), list);
   333             map.put(cd.qualifiedName(), list);
   335         }
   334         }
   336         return list;
   335         return list;
   337     }
   336     }
   346     }
   345     }
   347 
   346 
   348     private Set<ClassDoc> classSet(ClassDoc cd) {
   347     private Set<ClassDoc> classSet(ClassDoc cd) {
   349         Set<ClassDoc> clsSet = classToClass.get(cd.qualifiedName());
   348         Set<ClassDoc> clsSet = classToClass.get(cd.qualifiedName());
   350         if (clsSet == null) {
   349         if (clsSet == null) {
   351             @SuppressWarnings("unchecked")
   350             Set<ClassDoc> s = new TreeSet<ClassDoc>();
   352             Set<ClassDoc> s = new TreeSet();
       
   353             clsSet = s;
   351             clsSet = s;
   354             classToClass.put(cd.qualifiedName(), clsSet);
   352             classToClass.put(cd.qualifiedName(), clsSet);
   355         }
   353         }
   356         return clsSet;
   354         return clsSet;
   357     }
   355     }