38 |
38 |
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants; |
39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants; |
40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; |
40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle; |
41 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag; |
41 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag; |
42 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; |
42 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree; |
43 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
|
44 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent; |
43 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent; |
45 import jdk.javadoc.internal.doclets.toolkit.Content; |
44 import jdk.javadoc.internal.doclets.toolkit.Content; |
46 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter; |
45 import jdk.javadoc.internal.doclets.toolkit.MemberSummaryWriter; |
47 import jdk.javadoc.internal.doclets.toolkit.MethodWriter; |
46 import jdk.javadoc.internal.doclets.toolkit.MethodWriter; |
48 import jdk.javadoc.internal.doclets.toolkit.util.ImplementedMethods; |
|
49 import jdk.javadoc.internal.doclets.toolkit.util.Utils; |
47 import jdk.javadoc.internal.doclets.toolkit.util.Utils; |
|
48 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberTable; |
50 |
49 |
51 /** |
50 /** |
52 * Writes method documentation in HTML format. |
51 * Writes method documentation in HTML format. |
53 * |
52 * |
54 * <p><b>This is NOT part of any supported API. |
53 * <p><b>This is NOT part of any supported API. |
381 Utils utils = writer.utils; |
380 Utils utils = writer.utils; |
382 if (utils.isStatic(method) || writer.configuration.nocomment) { |
381 if (utils.isStatic(method) || writer.configuration.nocomment) { |
383 return; |
382 return; |
384 } |
383 } |
385 Contents contents = writer.contents; |
384 Contents contents = writer.contents; |
386 ImplementedMethods implementedMethodsFinder = |
385 VisibleMemberTable vmt = writer.configuration |
387 new ImplementedMethods(method, writer.configuration); |
386 .getVisibleMemberTable(utils.getEnclosingTypeElement(method)); |
388 SortedSet<ExecutableElement> implementedMethods = |
387 SortedSet<ExecutableElement> implementedMethods = |
389 new TreeSet<>(utils.makeOverrideUseComparator()); |
388 new TreeSet<>(utils.makeOverrideUseComparator()); |
390 implementedMethods.addAll(implementedMethodsFinder.build()); |
389 implementedMethods.addAll(vmt.getImplementedMethods(method)); |
391 for (ExecutableElement implementedMeth : implementedMethods) { |
390 for (ExecutableElement implementedMeth : implementedMethods) { |
392 TypeMirror intfac = implementedMethodsFinder.getMethodHolder(implementedMeth); |
391 TypeMirror intfac = vmt.getImplementedMethodHolder(method, implementedMeth); |
393 intfac = utils.getDeclaredType(utils.getEnclosingTypeElement(method), intfac); |
392 intfac = utils.getDeclaredType(utils.getEnclosingTypeElement(method), intfac); |
394 Content intfaclink = writer.getLink(new LinkInfoImpl( |
393 Content intfaclink = writer.getLink(new LinkInfoImpl( |
395 writer.configuration, LinkInfoImpl.Kind.METHOD_SPECIFIED_BY, intfac)); |
394 writer.configuration, LinkInfoImpl.Kind.METHOD_SPECIFIED_BY, intfac)); |
396 Content codeIntfacLink = HtmlTree.CODE(intfaclink); |
395 Content codeIntfacLink = HtmlTree.CODE(intfaclink); |
397 Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.overrideSpecifyLabel, contents.specifiedByLabel)); |
396 Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.overrideSpecifyLabel, contents.specifiedByLabel)); |