< prev index next >

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

Print this page




  30 import java.io.EOFException;
  31 import java.io.IOException;
  32 import java.io.InputStream;
  33 import java.io.UncheckedIOException;
  34 import java.lang.module.InvalidModuleDescriptorException;
  35 import java.lang.module.ModuleDescriptor;
  36 import java.lang.module.ModuleDescriptor.Builder;
  37 import java.lang.module.ModuleDescriptor.Requires;
  38 import java.lang.module.ModuleDescriptor.Exports;
  39 import java.lang.module.ModuleDescriptor.Opens;
  40 import java.nio.ByteBuffer;
  41 import java.nio.BufferUnderflowException;
  42 import java.util.ArrayList;
  43 import java.util.HashMap;
  44 import java.util.HashSet;
  45 import java.util.List;
  46 import java.util.Map;
  47 import java.util.Set;
  48 import java.util.function.Supplier;
  49 
  50 import jdk.internal.misc.JavaLangModuleAccess;
  51 import jdk.internal.misc.SharedSecrets;
  52 
  53 import static jdk.internal.module.ClassFileConstants.*;
  54 
  55 
  56 /**
  57  * Read module information from a {@code module-info} class file.
  58  *
  59  * @implNote The rationale for the hand-coded reader is startup performance
  60  * and fine control over the throwing of InvalidModuleDescriptorException.
  61  */
  62 
  63 public final class ModuleInfo {
  64 
  65     private final int JAVA_MIN_SUPPORTED_VERSION = 53;
  66     private final int JAVA_MAX_SUPPORTED_VERSION = 56;
  67 
  68     private static final JavaLangModuleAccess JLMA
  69         = SharedSecrets.getJavaLangModuleAccess();
  70 
  71     // supplies the set of packages when ModulePackages attribute not present




  30 import java.io.EOFException;
  31 import java.io.IOException;
  32 import java.io.InputStream;
  33 import java.io.UncheckedIOException;
  34 import java.lang.module.InvalidModuleDescriptorException;
  35 import java.lang.module.ModuleDescriptor;
  36 import java.lang.module.ModuleDescriptor.Builder;
  37 import java.lang.module.ModuleDescriptor.Requires;
  38 import java.lang.module.ModuleDescriptor.Exports;
  39 import java.lang.module.ModuleDescriptor.Opens;
  40 import java.nio.ByteBuffer;
  41 import java.nio.BufferUnderflowException;
  42 import java.util.ArrayList;
  43 import java.util.HashMap;
  44 import java.util.HashSet;
  45 import java.util.List;
  46 import java.util.Map;
  47 import java.util.Set;
  48 import java.util.function.Supplier;
  49 
  50 import jdk.internal.access.JavaLangModuleAccess;
  51 import jdk.internal.access.SharedSecrets;
  52 
  53 import static jdk.internal.module.ClassFileConstants.*;
  54 
  55 
  56 /**
  57  * Read module information from a {@code module-info} class file.
  58  *
  59  * @implNote The rationale for the hand-coded reader is startup performance
  60  * and fine control over the throwing of InvalidModuleDescriptorException.
  61  */
  62 
  63 public final class ModuleInfo {
  64 
  65     private final int JAVA_MIN_SUPPORTED_VERSION = 53;
  66     private final int JAVA_MAX_SUPPORTED_VERSION = 56;
  67 
  68     private static final JavaLangModuleAccess JLMA
  69         = SharedSecrets.getJavaLangModuleAccess();
  70 
  71     // supplies the set of packages when ModulePackages attribute not present


< prev index next >