langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java
changeset 22159 682da512ec17
parent 17574 044c7e1e4d53
child 22163 3651128c74eb
equal deleted inserted replaced
22158:dca1b80ed62c 22159:682da512ec17
   104         ParamTag[] tags = input.isTypeVariableParamTag ?
   104         ParamTag[] tags = input.isTypeVariableParamTag ?
   105             ((MethodDoc)input.element).typeParamTags() : ((MethodDoc)input.element).paramTags();
   105             ((MethodDoc)input.element).typeParamTags() : ((MethodDoc)input.element).paramTags();
   106         Map<String, String> rankMap = getRankMap(input.isTypeVariableParamTag ?
   106         Map<String, String> rankMap = getRankMap(input.isTypeVariableParamTag ?
   107             (Object[]) ((MethodDoc)input.element).typeParameters() :
   107             (Object[]) ((MethodDoc)input.element).typeParameters() :
   108             (Object[]) ((MethodDoc)input.element).parameters());
   108             (Object[]) ((MethodDoc)input.element).parameters());
   109         for (int i = 0; i < tags.length; i++) {
   109         for (ParamTag tag : tags) {
   110             if (rankMap.containsKey(tags[i].parameterName()) &&
   110             if (rankMap.containsKey(tag.parameterName()) &&
   111                     rankMap.get(tags[i].parameterName()).equals((input.tagId))) {
   111                 rankMap.get(tag.parameterName()).equals((input.tagId))) {
   112                 output.holder = input.element;
   112                 output.holder = input.element;
   113                 output.holderTag = tags[i];
   113                 output.holderTag = tag;
   114                 output.inlineTags = input.isFirstSentence ?
   114                 output.inlineTags = input.isFirstSentence ?
   115                     tags[i].firstSentenceTags() : tags[i].inlineTags();
   115                                     tag.firstSentenceTags() : tag.inlineTags();
   116                 return;
   116                 return;
   117             }
   117             }
   118         }
   118         }
   119     }
   119     }
   120 
   120 
   267     private Content processParamTags(boolean isNonTypeParams,
   267     private Content processParamTags(boolean isNonTypeParams,
   268             ParamTag[] paramTags, Map<String, String> rankMap, TagletWriter writer,
   268             ParamTag[] paramTags, Map<String, String> rankMap, TagletWriter writer,
   269             Set<String> alreadyDocumented) {
   269             Set<String> alreadyDocumented) {
   270         Content result = writer.getOutputInstance();
   270         Content result = writer.getOutputInstance();
   271         if (paramTags.length > 0) {
   271         if (paramTags.length > 0) {
   272             for (int i = 0; i < paramTags.length; ++i) {
   272             for (ParamTag pt : paramTags) {
   273                 ParamTag pt = paramTags[i];
       
   274                 String paramName = isNonTypeParams ?
   273                 String paramName = isNonTypeParams ?
   275                     pt.parameterName() : "<" + pt.parameterName() + ">";
   274                                    pt.parameterName() : "<" + pt.parameterName() + ">";
   276                 if (! rankMap.containsKey(pt.parameterName())) {
   275                 if (!rankMap.containsKey(pt.parameterName())) {
   277                     writer.getMsgRetriever().warning(pt.position(),
   276                     writer.getMsgRetriever().warning(pt.position(),
   278                         isNonTypeParams ?
   277                                                      isNonTypeParams ?
   279                             "doclet.Parameters_warn" :
   278                                                      "doclet.Parameters_warn" :
   280                             "doclet.Type_Parameters_warn",
   279                                                      "doclet.Type_Parameters_warn",
   281                         paramName);
   280                                                      paramName);
   282                 }
   281                 }
   283                 String rank = rankMap.get(pt.parameterName());
   282                 String rank = rankMap.get(pt.parameterName());
   284                 if (rank != null && alreadyDocumented.contains(rank)) {
   283                 if (rank != null && alreadyDocumented.contains(rank)) {
   285                     writer.getMsgRetriever().warning(pt.position(),
   284                     writer.getMsgRetriever().warning(pt.position(),
   286                        isNonTypeParams ?
   285                                                      isNonTypeParams ?
   287                            "doclet.Parameters_dup_warn" :
   286                                                      "doclet.Parameters_dup_warn" :
   288                            "doclet.Type_Parameters_dup_warn",
   287                                                      "doclet.Type_Parameters_dup_warn",
   289                        paramName);
   288                                                      paramName);
   290                 }
   289                 }
   291                 result.addContent(processParamTag(isNonTypeParams, writer, pt,
   290                 result.addContent(processParamTag(isNonTypeParams, writer, pt,
   292                      pt.parameterName(), alreadyDocumented.size() == 0));
   291                                                   pt.parameterName(), alreadyDocumented.size() == 0));
   293                 alreadyDocumented.add(rank);
   292                 alreadyDocumented.add(rank);
   294             }
   293             }
   295         }
   294         }
   296         return result;
   295         return result;
   297     }
   296     }