diff -r 7b06e19184de -r 4ec472ee5135 langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java --- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java Thu Jan 19 11:17:11 2017 -0800 +++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java Thu Jan 19 13:16:19 2017 -0800 @@ -44,6 +44,7 @@ import javax.lang.model.element.VariableElement; import javax.lang.model.type.TypeMirror; import javax.lang.model.util.Elements; +import javax.tools.FileObject; import javax.tools.JavaFileManager.Location; import javax.tools.JavaFileObject; @@ -59,7 +60,9 @@ import com.sun.tools.javac.code.Symbol.ClassSymbol; import com.sun.tools.javac.code.Symbol.MethodSymbol; import com.sun.tools.javac.code.Symbol.ModuleSymbol; +import com.sun.tools.javac.code.Symbol.PackageSymbol; import com.sun.tools.javac.code.Symbol.VarSymbol; +import com.sun.tools.javac.code.Symtab; import com.sun.tools.javac.comp.AttrContext; import com.sun.tools.javac.comp.Env; import com.sun.tools.javac.model.JavacElements; @@ -192,11 +195,24 @@ return ((VarSymbol)ve).getConstValue(); } - //TODO: DocTrees: Trees.getPath(Element e) is slow a factor 4-5 times. + // TODO: DocTrees: Trees.getPath(Element e) is slow a factor 4-5 times. public Map getElementToTreePath() { return toolEnv.elementToTreePath; } + // TODO: we need ElementUtils.getPackage to cope with input strings + // to return the proper unnamedPackage for all supported releases. + PackageElement getUnnamedPackage() { + return (toolEnv.source.allowModules()) + ? toolEnv.syms.unnamedModule.unnamedPackage + : toolEnv.syms.noModule.unnamedPackage; + } + + // TODO: implement in either jx.l.m API (preferred) or DocletEnvironment. + FileObject getJavaFileObject(PackageElement packageElement) { + return ((PackageSymbol)packageElement).sourcefile; + } + // TODO: needs to ported to jx.l.m. public TypeElement searchClass(TypeElement klass, String className) { // search by qualified name first @@ -530,12 +546,6 @@ } } - // TODO: this is a fast way to get the JavaFileObject for - // a package.html file, however we need to eliminate this. - public JavaFileObject getJavaFileObject(PackageElement pe) { - return toolEnv.pkgToJavaFOMap.get(pe); - } - // TODO: we need to eliminate this, as it is hacky. /** * Returns a representation of the package truncated to two levels.