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<Element, TreePath> 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.