langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DeprecatedAPIListBuilder.java
changeset 42816 3638773ff1b0
parent 42408 d6f09ae68eab
child 45417 f7479ee8de69
equal deleted inserted replaced
42815:050370edaade 42816:3638773ff1b0
    50      */
    50      */
    51     private final Map<DeprElementKind, SortedSet<Element>> deprecatedMap;
    51     private final Map<DeprElementKind, SortedSet<Element>> deprecatedMap;
    52     private final Configuration configuration;
    52     private final Configuration configuration;
    53     private final Utils utils;
    53     private final Utils utils;
    54     public static enum DeprElementKind {
    54     public static enum DeprElementKind {
       
    55         REMOVAL,
    55         MODULE,
    56         MODULE,
    56         PACKAGE,
    57         PACKAGE,
    57         INTERFACE,
    58         INTERFACE,
    58         CLASS,
    59         CLASS,
    59         ENUM,
    60         ENUM,
    88      * methods and fields.
    89      * methods and fields.
    89      *
    90      *
    90      * @param configuration the current configuration of the doclet.
    91      * @param configuration the current configuration of the doclet.
    91      */
    92      */
    92     private void buildDeprecatedAPIInfo() {
    93     private void buildDeprecatedAPIInfo() {
       
    94         SortedSet<Element> rset = deprecatedMap.get(DeprElementKind.REMOVAL);
    93         SortedSet<ModuleElement> modules = configuration.modules;
    95         SortedSet<ModuleElement> modules = configuration.modules;
    94         SortedSet<Element> mset = deprecatedMap.get(DeprElementKind.MODULE);
    96         SortedSet<Element> mset = deprecatedMap.get(DeprElementKind.MODULE);
    95         for (Element me : modules) {
    97         for (Element me : modules) {
       
    98             if (utils.isDeprecatedForRemoval(me)) {
       
    99                 rset.add(me);
       
   100             }
    96             if (utils.isDeprecated(me)) {
   101             if (utils.isDeprecated(me)) {
    97                 mset.add(me);
   102                 mset.add(me);
    98             }
   103             }
    99         }
   104         }
   100         SortedSet<PackageElement> packages = configuration.packages;
   105         SortedSet<PackageElement> packages = configuration.packages;
   101         SortedSet<Element> pset = deprecatedMap.get(DeprElementKind.PACKAGE);
   106         SortedSet<Element> pset = deprecatedMap.get(DeprElementKind.PACKAGE);
   102         for (Element pe : packages) {
   107         for (Element pe : packages) {
       
   108             if (utils.isDeprecatedForRemoval(pe)) {
       
   109                 rset.add(pe);
       
   110             }
   103             if (utils.isDeprecated(pe)) {
   111             if (utils.isDeprecated(pe)) {
   104                 pset.add(pe);
   112                 pset.add(pe);
   105             }
   113             }
   106         }
   114         }
   107         for (Element e : configuration.getIncludedTypeElements()) {
   115         for (Element e : configuration.getIncludedTypeElements()) {
   108             TypeElement te = (TypeElement)e;
   116             TypeElement te = (TypeElement)e;
   109             SortedSet<Element> eset;
   117             SortedSet<Element> eset;
       
   118             if (utils.isDeprecatedForRemoval(e)) {
       
   119                 rset.add(e);
       
   120             }
   110             if (utils.isDeprecated(e)) {
   121             if (utils.isDeprecated(e)) {
   111                 switch (e.getKind()) {
   122                 switch (e.getKind()) {
   112                     case ANNOTATION_TYPE:
   123                     case ANNOTATION_TYPE:
   113                         eset = deprecatedMap.get(DeprElementKind.ANNOTATION_TYPE);
   124                         eset = deprecatedMap.get(DeprElementKind.ANNOTATION_TYPE);
   114                         eset.add(e);
   125                         eset.add(e);
   131                         eset = deprecatedMap.get(DeprElementKind.ENUM);
   142                         eset = deprecatedMap.get(DeprElementKind.ENUM);
   132                         eset.add(e);
   143                         eset.add(e);
   133                         break;
   144                         break;
   134                 }
   145                 }
   135             }
   146             }
   136             composeDeprecatedList(deprecatedMap.get(DeprElementKind.FIELD),
   147             composeDeprecatedList(rset, deprecatedMap.get(DeprElementKind.FIELD),
   137                     utils.getFields(te));
   148                     utils.getFields(te));
   138             composeDeprecatedList(deprecatedMap.get(DeprElementKind.METHOD),
   149             composeDeprecatedList(rset, deprecatedMap.get(DeprElementKind.METHOD),
   139                     utils.getMethods(te));
   150                     utils.getMethods(te));
   140             composeDeprecatedList(deprecatedMap.get(DeprElementKind.CONSTRUCTOR),
   151             composeDeprecatedList(rset, deprecatedMap.get(DeprElementKind.CONSTRUCTOR),
   141                     utils.getConstructors(te));
   152                     utils.getConstructors(te));
   142             if (utils.isEnum(e)) {
   153             if (utils.isEnum(e)) {
   143                 composeDeprecatedList(deprecatedMap.get(DeprElementKind.ENUM_CONSTANT),
   154                 composeDeprecatedList(rset, deprecatedMap.get(DeprElementKind.ENUM_CONSTANT),
   144                         utils.getEnumConstants(te));
   155                         utils.getEnumConstants(te));
   145             }
   156             }
   146             if (utils.isAnnotationType(e)) {
   157             if (utils.isAnnotationType(e)) {
   147                 composeDeprecatedList(deprecatedMap.get(DeprElementKind.ANNOTATION_TYPE_MEMBER),
   158                 composeDeprecatedList(rset, deprecatedMap.get(DeprElementKind.ANNOTATION_TYPE_MEMBER),
   148                         utils.getAnnotationMembers(te));
   159                         utils.getAnnotationMembers(te));
   149 
   160 
   150             }
   161             }
   151         }
   162         }
   152     }
   163     }
   153 
   164 
   154     /**
   165     /**
   155      * Add the members into a single list of deprecated members.
   166      * Add the members into a single list of deprecated members.
   156      *
   167      *
       
   168      * @param rset set of elements deprecated for removal.
       
   169      * @param sset set of deprecated elements.
   157      * @param list List of all the particular deprecated members, e.g. methods.
   170      * @param list List of all the particular deprecated members, e.g. methods.
   158      * @param members members to be added in the list.
   171      * @param members members to be added in the list.
   159      */
   172      */
   160     private void composeDeprecatedList(SortedSet<Element> sset, List<? extends Element> members) {
   173     private void composeDeprecatedList(SortedSet<Element> rset, SortedSet<Element> sset, List<? extends Element> members) {
   161         for (Element member : members) {
   174         for (Element member : members) {
       
   175             if (utils.isDeprecatedForRemoval(member)) {
       
   176                 rset.add(member);
       
   177             }
   162             if (utils.isDeprecated(member)) {
   178             if (utils.isDeprecated(member)) {
   163                 sset.add(member);
   179                 sset.add(member);
   164             }
   180             }
   165         }
   181         }
   166     }
   182     }