langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java
changeset 39364 bd6d4a7936b4
parent 35426 374342e56a56
child 40508 74ef30d16fb9
equal deleted inserted replaced
39363:ebaee646b121 39364:bd6d4a7936b4
   185     /**
   185     /**
   186      * The mapping of TypeElements representing annotation to fields that use them.
   186      * The mapping of TypeElements representing annotation to fields that use them.
   187      */
   187      */
   188     public final Map<TypeElement, List<VariableElement>> annotationToField = new HashMap<>();
   188     public final Map<TypeElement, List<VariableElement>> annotationToField = new HashMap<>();
   189 
   189 
   190     private final DocletEnvironment root;
   190     private final DocletEnvironment docEnv;
   191     private final Elements elementUtils;
   191     private final Elements elementUtils;
   192     private final Types typeUtils;
   192     private final Types typeUtils;
   193     private final Utils utils;
   193     private final Utils utils;
   194 
   194 
   195     public ClassUseMapper(ConfigurationImpl configuration, ClassTree classtree) {
   195     public ClassUseMapper(ConfigurationImpl configuration, ClassTree classtree) {
   196         root = configuration.root;
   196         docEnv = configuration.docEnv;
   197         elementUtils = root.getElementUtils();
   197         elementUtils = docEnv.getElementUtils();
   198         typeUtils = root.getTypeUtils();
   198         typeUtils = docEnv.getTypeUtils();
   199         utils = configuration.utils;
   199         utils = configuration.utils;
   200         this.classtree = classtree;
   200         this.classtree = classtree;
   201         classToPackage = new TreeMap<>(utils.makeClassUseComparator());
   201         classToPackage = new TreeMap<>(utils.makeClassUseComparator());
   202         // Map subclassing, subinterfacing implementing, ...
   202         // Map subclassing, subinterfacing implementing, ...
   203         for (TypeElement te : classtree.baseClasses()) {
   203         for (TypeElement te : classtree.baseClasses()) {
   206         for (TypeElement intfc : classtree.baseInterfaces()) {
   206         for (TypeElement intfc : classtree.baseInterfaces()) {
   207             // does subinterfacing as side-effect
   207             // does subinterfacing as side-effect
   208             implementingClasses(intfc);
   208             implementingClasses(intfc);
   209         }
   209         }
   210         // Map methods, fields, constructors using a class.
   210         // Map methods, fields, constructors using a class.
   211         Set<TypeElement> classes = root.getIncludedClasses();
   211         Set<TypeElement> classes = docEnv.getIncludedClasses();
   212         for (TypeElement aClass : classes) {
   212         for (TypeElement aClass : classes) {
   213             PackageElement pkg = elementUtils.getPackageOf(aClass);
   213             PackageElement pkg = elementUtils.getPackageOf(aClass);
   214             mapAnnotations(classToPackageAnnotations, pkg, pkg);
   214             mapAnnotations(classToPackageAnnotations, pkg, pkg);
   215             mapTypeParameters(classToClassTypeParam, aClass, aClass);
   215             mapTypeParameters(classToClassTypeParam, aClass, aClass);
   216             mapAnnotations(classToClassAnnotations, aClass, aClass);
   216             mapAnnotations(classToClassAnnotations, aClass, aClass);