48 }
49 }
50
51 @Override
52 public void process() {
53 CompileTheWorld.OUT.println("# jimage: " + root);
54 if (!Files.exists(root)) {
55 return;
56 }
57 try {
58 ImageReader reader = ImageReader.open(root);
59 Arrays.stream(reader.getEntryNames())
60 .filter(name -> name.endsWith(".class"))
61 .filter(name -> !name.endsWith("module-info.class"))
62 .map(Utils::fileNameToClassName)
63 .forEach(this::processClass);
64 } catch (IOException ioe) {
65 ioe.printStackTrace();
66 }
67 }
68 }
|
48 }
49 }
50
51 @Override
52 public void process() {
53 CompileTheWorld.OUT.println("# jimage: " + root);
54 if (!Files.exists(root)) {
55 return;
56 }
57 try {
58 ImageReader reader = ImageReader.open(root);
59 Arrays.stream(reader.getEntryNames())
60 .filter(name -> name.endsWith(".class"))
61 .filter(name -> !name.endsWith("module-info.class"))
62 .map(Utils::fileNameToClassName)
63 .forEach(this::processClass);
64 } catch (IOException ioe) {
65 ioe.printStackTrace();
66 }
67 }
68
69 @Override
70 public long classCount() {
71 try (ImageReader reader = ImageReader.open(root)) {
72 return Arrays.stream(reader.getEntryNames())
73 .filter(name -> name.endsWith(".class"))
74 .filter(name -> !name.endsWith("module-info.class"))
75 .map(Utils::fileNameToClassName)
76 .count();
77 } catch (IOException e) {
78 throw new Error("can not open jimage file " + root + " : "
79 + e.getMessage() , e);
80 }
81 }
82 }
|