equal
deleted
inserted
replaced
29 * @modules jdk.compiler/com.sun.tools.javac.model |
29 * @modules jdk.compiler/com.sun.tools.javac.model |
30 * @run main/othervm -Xmx256m Main |
30 * @run main/othervm -Xmx256m Main |
31 */ |
31 */ |
32 |
32 |
33 import java.io.File; |
33 import java.io.File; |
|
34 import java.nio.file.Path; |
34 import java.util.*; |
35 import java.util.*; |
35 import java.util.Map.Entry; |
36 import java.util.Map.Entry; |
36 |
37 |
37 import javax.lang.model.element.Element; |
38 import javax.lang.model.element.Element; |
38 import javax.lang.model.element.ElementKind; |
39 import javax.lang.model.element.ElementKind; |
82 String type = fm.inferBinaryName(PLATFORM_CLASS_PATH, file); |
83 String type = fm.inferBinaryName(PLATFORM_CLASS_PATH, file); |
83 if (type.endsWith("package-info")) |
84 if (type.endsWith("package-info")) |
84 continue; |
85 continue; |
85 if (type.endsWith("module-info")) |
86 if (type.endsWith("module-info")) |
86 continue; |
87 continue; |
87 String moduleName = fm.asPath(file).getName(1).toString(); |
88 Path path = fm.asPath(file); |
|
89 int moduleIndex = path.getNameCount() - type.split("\\Q.\\E").length - 1; |
|
90 String moduleName = path.getName(moduleIndex).toString(); |
88 try { |
91 try { |
89 ModuleElement me = elements.getModuleElement(moduleName); |
92 ModuleElement me = elements.getModuleElement(moduleName); |
90 me.getClass(); |
93 me.getClass(); |
91 TypeElement elem = ((JavacElements) elements).getTypeElement(me, type); |
94 TypeElement elem = ((JavacElements) elements).getTypeElement(me, type); |
92 if (elem == null && type.indexOf('$') > 0) { |
95 if (elem == null && type.indexOf('$') > 0) { |