< prev index next >

src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java

Print this page

        

@@ -68,10 +68,13 @@
     private String osVersion;
 
     // the hashes for the Hashes attribute
     private ModuleHashes hashes;
 
+    // the value of the ModuleResolution attribute
+    private ModuleResolution moduleResolution;
+
     private ModuleInfoExtender(InputStream in) {
         this.in = in;
     }
 
     /**

@@ -119,10 +122,18 @@
         this.hashes = hashes;
         return this;
     }
 
     /**
+     * Sets the value for the ModuleResolution attribute.
+     */
+    public ModuleInfoExtender moduleResolution(ModuleResolution mres) {
+        this.moduleResolution = mres;
+        return this;
+    }
+
+    /**
      * A ClassVisitor that supports adding class file attributes. If an
      * attribute already exists then the first occurence of the attribute
      * is replaced.
      */
     private static class AttributeAddingClassVisitor extends ClassVisitor {

@@ -181,25 +192,24 @@
 
         ClassReader cr = new ClassReader(in);
 
         if (packages != null)
             cv.addAttribute(new ModulePackagesAttribute(packages));
-        if (version != null)
-            cv.addAttribute(new ModuleVersionAttribute(version));
         if (mainClass != null)
             cv.addAttribute(new ModuleMainClassAttribute(mainClass));
         if (osName != null || osArch != null || osVersion != null)
             cv.addAttribute(new ModuleTargetAttribute(osName, osArch, osVersion));
         if (hashes != null)
             cv.addAttribute(new ModuleHashesAttribute(hashes));
+        if (moduleResolution != null)
+            cv.addAttribute(new ModuleResolutionAttribute(moduleResolution.value()));
 
         List<Attribute> attrs = new ArrayList<>();
 
         // prototypes of attributes that should be parsed
-        attrs.add(new ModuleAttribute());
+        attrs.add(new ModuleAttribute(version));
         attrs.add(new ModulePackagesAttribute());
-        attrs.add(new ModuleVersionAttribute());
         attrs.add(new ModuleMainClassAttribute());
         attrs.add(new ModuleTargetAttribute());
         attrs.add(new ModuleHashesAttribute());
 
         cr.accept(cv, attrs.toArray(new Attribute[0]), 0);
< prev index next >