uk.ac.cam.cl.ijam
Class ModuleDefinition

java.lang.Object
  extended by uk.ac.cam.cl.ijam.ModuleDefinition

 class ModuleDefinition
extends java.lang.Object

Module definition is a compiled version of a module file. Basically, the package names specified in the module file are here expanded into individual class names.

For the purposes of this implementation, the contents of each module definition must be placed in a separate directory.


Field Summary
(package private)  java.util.List<java.lang.String> exports
           
(package private)  java.util.List<ImportDependency> imports
           
(package private)  java.util.List<java.lang.String> members
           
(package private)  java.lang.String moduleDir
           
(package private)  java.lang.String moduleName
           
(package private)  ModuleFile.Repl repl
           
private static java.lang.String sep
           
 
Constructor Summary
ModuleDefinition(ModuleFile mf)
           
 
Method Summary
private  java.util.List<java.lang.String> expandMemberPackages(java.util.List<PN> pns)
          For each of the specified package names, looks up the names of class files in the corresponding directories, and returns the resulting list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sep

private static final java.lang.String sep

moduleName

final java.lang.String moduleName

moduleDir

final java.lang.String moduleDir

repl

final ModuleFile.Repl repl

members

final java.util.List<java.lang.String> members

imports

final java.util.List<ImportDependency> imports

exports

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

ModuleDefinition

ModuleDefinition(ModuleFile mf)
Method Detail

expandMemberPackages

private java.util.List<java.lang.String> expandMemberPackages(java.util.List<PN> pns)
For each of the specified package names, looks up the names of class files in the corresponding directories, and returns the resulting list.

Parameters:
pns - List of package names.
Returns:
List of filenames pointing to corresponding classfiles.