--- old/src/java.base/share/classes/jdk/internal/module/ModuleReferenceImpl.java 2017-03-21 13:44:11.124977356 +0000 +++ new/src/java.base/share/classes/jdk/internal/module/ModuleReferenceImpl.java 2017-03-21 13:44:10.925963700 +0000 @@ -46,6 +46,9 @@ // non-null if the module is patched private final ModulePatcher patcher; + // ModuleTarget if the module is OS/architecture specific + private final ModuleTarget target; + // the hashes of other modules recorded in this module private final ModuleHashes recordedHashes; @@ -65,6 +68,7 @@ URI location, Supplier readerSupplier, ModulePatcher patcher, + ModuleTarget target, ModuleHashes recordedHashes, ModuleHashes.HashSupplier hasher, ModuleResolution moduleResolution) @@ -72,6 +76,7 @@ super(descriptor, Objects.requireNonNull(location)); this.readerSupplier = readerSupplier; this.patcher = patcher; + this.target = target; this.recordedHashes = recordedHashes; this.hasher = hasher; this.moduleResolution = moduleResolution; @@ -94,6 +99,13 @@ } /** + * Returns the ModuleTarget or {@code null} if the no target platform. + */ + public ModuleTarget moduleTarget() { + return target; + } + + /** * Returns the hashes recorded in this module or {@code null} if there * are no hashes recorded. */