< prev index next >

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java

Print this page

        

*** 76,85 **** --- 76,86 ---- import com.sun.source.tree.LineMap; import com.sun.source.util.DocSourcePositions; import com.sun.source.util.DocTrees; import com.sun.source.util.TreePath; import com.sun.tools.javac.model.JavacTypes; + import jdk.javadoc.internal.doclets.formats.html.HtmlConfiguration; import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration; import jdk.javadoc.internal.doclets.toolkit.CommentUtils.DocCommentDuo; import jdk.javadoc.internal.doclets.toolkit.Messages; import jdk.javadoc.internal.doclets.toolkit.WorkArounds; import jdk.javadoc.internal.tool.DocEnvImpl;
*** 890,902 **** t = getSuperType(asTypeElement(t))) { TypeElement te = asTypeElement(t); if (te == null) { return null; } ! List<? extends Element> methods = te.getEnclosedElements(); for (ExecutableElement ee : ElementFilter.methodsIn(methods)) { ! if (configuration.workArounds.overrides(method, ee, origin)) { return ee; } } if (t.equals(getObjectType())) return null; --- 891,906 ---- t = getSuperType(asTypeElement(t))) { TypeElement te = asTypeElement(t); if (te == null) { return null; } ! VisibleMemberMap vmm = configuration.getVisibleMemberMap(te, ! VisibleMemberMap.Kind.METHODS); ! List<? extends Element> methods = vmm.getMembers(te); for (ExecutableElement ee : ElementFilter.methodsIn(methods)) { ! if (configuration.workArounds.overrides(method, ee, origin) && ! !isSimpleOverride(ee)) { return ee; } } if (t.equals(getObjectType())) return null;
*** 1460,1472 **** --- 1464,1478 ---- for (Element e : getMethods(elem)) { ExecutableElement ee = (ExecutableElement)e; if (!getFullBody(e).isEmpty()) // ignore if already set continue; if (ee.getSimpleName().contentEquals("values") && ee.getParameters().isEmpty()) { + removeCommentHelper(ee); // purge previous entry configuration.cmtUtils.setEnumValuesTree(configuration, e); } if (ee.getSimpleName().contentEquals("valueOf") && ee.getParameters().size() == 1) { + removeCommentHelper(ee); // purge previous entry configuration.cmtUtils.setEnumValueOfTree(configuration, e); } } }
*** 1555,1564 **** --- 1561,1589 ---- return true; } return hasBlockTag(e, DocTree.Kind.HIDDEN); } + /** + * Returns true if the method has no comments, or a lone @inheritDoc. + * @param m a method + * @return + */ + public boolean isSimpleOverride(ExecutableElement m) { + if (!configuration.summarizeOverriddenMethods || + !isIncluded(m)) { + return false; + } + + if (!getBlockTags(m).isEmpty()) + return false; + + List<? extends DocTree> fullBody = getFullBody(m); + return fullBody.isEmpty() || + (fullBody.size() == 1 && fullBody.get(0).getKind().equals(Kind.INHERIT_DOC)); + } + /** * In case of JavaFX mode on, filters out classes that are private, * package private, these are not documented in JavaFX mode, also * remove those classes that have @hidden or @treatAsPrivate comment tag. *
< prev index next >