47
48 import static javax.tools.StandardLocation.CLASS_PATH;
49 import static javax.tools.StandardLocation.PLATFORM_CLASS_PATH;
50 import static javax.tools.JavaFileObject.Kind.CLASS;
51
52
53 public class Main {
54
55 public static PackageElement getPackage(TypeElement type) {
56 Element owner = type;
57 while (owner.getKind() != ElementKind.PACKAGE)
58 owner = owner.getEnclosingElement();
59 return (PackageElement)owner;
60 }
61
62 static int progress = 0;
63 static JavaCompiler tool;
64 static JavacTask javac;
65 static Elements elements;
66
67 static List<String> addmods_ALL_SYSTEM = Arrays.asList("-addmods", "ALL-SYSTEM");
68
69 public static void main(String[] args) throws Exception {
70 JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
71 try (StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null)) {
72 fm.setLocation(CLASS_PATH, Collections.<File>emptyList());
73 JavacTask javac = (JavacTask)tool.getTask(null, fm, null, addmods_ALL_SYSTEM, null, null);
74 Elements elements = javac.getElements();
75
76 final Map<String, Set<String>> packages = new LinkedHashMap<>();
77
78 int nestedClasses = 0;
79 int classes = 0;
80
81 for (JavaFileObject file : fm.list(PLATFORM_CLASS_PATH, "", EnumSet.of(CLASS), true)) {
82 String type = fm.inferBinaryName(PLATFORM_CLASS_PATH, file);
83 if (type.endsWith("package-info"))
84 continue;
85 if (type.endsWith("module-info"))
86 continue;
87 String moduleName = fm.asPath(file).getName(1).toString();
|
47
48 import static javax.tools.StandardLocation.CLASS_PATH;
49 import static javax.tools.StandardLocation.PLATFORM_CLASS_PATH;
50 import static javax.tools.JavaFileObject.Kind.CLASS;
51
52
53 public class Main {
54
55 public static PackageElement getPackage(TypeElement type) {
56 Element owner = type;
57 while (owner.getKind() != ElementKind.PACKAGE)
58 owner = owner.getEnclosingElement();
59 return (PackageElement)owner;
60 }
61
62 static int progress = 0;
63 static JavaCompiler tool;
64 static JavacTask javac;
65 static Elements elements;
66
67 static List<String> addmods_ALL_SYSTEM = Arrays.asList("--add-modules", "ALL-SYSTEM");
68
69 public static void main(String[] args) throws Exception {
70 JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
71 try (StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null)) {
72 fm.setLocation(CLASS_PATH, Collections.<File>emptyList());
73 JavacTask javac = (JavacTask)tool.getTask(null, fm, null, addmods_ALL_SYSTEM, null, null);
74 Elements elements = javac.getElements();
75
76 final Map<String, Set<String>> packages = new LinkedHashMap<>();
77
78 int nestedClasses = 0;
79 int classes = 0;
80
81 for (JavaFileObject file : fm.list(PLATFORM_CLASS_PATH, "", EnumSet.of(CLASS), true)) {
82 String type = fm.inferBinaryName(PLATFORM_CLASS_PATH, file);
83 if (type.endsWith("package-info"))
84 continue;
85 if (type.endsWith("module-info"))
86 continue;
87 String moduleName = fm.asPath(file).getName(1).toString();
|