langtools/test/tools/javac/processing/model/testgetallmembers/Main.java
changeset 41638 7b8819e22551
parent 40308 274367a99f98
child 43270 de9a02e20567
equal deleted inserted replaced
41637:7b24b4c32ee6 41638:7b8819e22551
    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) {