Class ModuleFile

  extended by

public class ModuleFile
extends java.lang.Object

ModuleFile class represents the contents of a ".spkg" file. It is created directly by our JavaCC parser for superpackages (see Parser.jj). As in the Java Module System, we have members specified as Java packages, imports specified as module definition names, and exports specified as individual fully-qualified class names.

A superpackage can be marked as "replicating", which means that if it is imported in a default manner (not with "own", "as", or explicit "shared"), a new instance will be created.

Note that we do not support sub-modules or any *-notation in the module files.

Nested Class Summary
static class ModuleFile.Repl
Field Summary
 java.util.List<java.lang.String> exports
(package private) file
 java.util.List<ImportDependency> imports
 java.util.List<PN> members
(package private)  java.lang.String name
(package private)  ModuleFile.Repl repl
Constructor Summary
ModuleFile( file, java.lang.String name, ModuleFile.Repl repl)
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


final file


final java.lang.String name


final ModuleFile.Repl repl


public final java.util.List<PN> members


public final java.util.List<ImportDependency> imports


public final java.util.List<java.lang.String> exports
Constructor Detail


public ModuleFile( file,
                  java.lang.String name,
                  ModuleFile.Repl repl)