gnu.expr

Class ModuleExp

public class ModuleExp extends LambdaExp implements Externalizable

Class used to implement Scheme top-level environments.
Field Summary
static booleanalwaysCompile
Flag to force compilation, even when not required.
static StringdumpZipPrefix
Used to control which .zip file dumps are generated.
static intEXPORT_SPECIFIED
static intinteractiveCounter
Numeric identifier for this interactive "command".
static intIMMEDIATE
static intLAZY_DECLARATIONS
static intNONSTATIC_SPECIFIED
static intSTATIC_RUN_SPECIFIED
static intSTATIC_SPECIFIED
static intSUPERTYPE_SPECIFIED
Constructor Summary
ModuleExp()
Method Summary
voidallocChildClasses(Compilation comp)
ClassTypeclassFor(Compilation comp)
Return the class this module.
static booleanevalModule(Environment env, CallContext ctx, Compilation comp, URL url, OutPort msg)
static ClassevalToClass(Compilation comp, URL url)
DeclarationfirstDecl()
ClassType[]getInterfaces()
StringgetJavaName()
ClassTypegetSuperType()
booleanisStatic()
voidprint(OutPort out)
voidreadExternal(ObjectInput in)
voidsetInterfaces(ClassType[] s)
voidsetSuperType(ClassType s)
booleanstaticInitRun()
True if module body (i.e. run) is called by class initializer.
protected Expressionwalk(ExpWalker walker)
voidwriteExternal(ObjectOutput out)

Field Detail

alwaysCompile

public static boolean alwaysCompile
Flag to force compilation, even when not required.

dumpZipPrefix

public static String dumpZipPrefix
Used to control which .zip file dumps are generated.

EXPORT_SPECIFIED

public static final int EXPORT_SPECIFIED

interactiveCounter

public static int interactiveCounter
Numeric identifier for this interactive "command". Incremented by Shell.run, and used to set the module name, and maybe the name of the --debug-dump-zip output file. We increment and use this counter purely to ease debugging. (Since each module gets its own ClassLoader, they don't need to be named differently, and it doesn't matter if there is a race condition on the counter.)

IMMEDIATE

public static final int IMMEDIATE

LAZY_DECLARATIONS

public static final int LAZY_DECLARATIONS

NONSTATIC_SPECIFIED

public static final int NONSTATIC_SPECIFIED

STATIC_RUN_SPECIFIED

public static final int STATIC_RUN_SPECIFIED

STATIC_SPECIFIED

public static final int STATIC_SPECIFIED

SUPERTYPE_SPECIFIED

public static final int SUPERTYPE_SPECIFIED

Constructor Detail

ModuleExp

public ModuleExp()

Method Detail

allocChildClasses

public void allocChildClasses(Compilation comp)

classFor

public ClassType classFor(Compilation comp)
Return the class this module. If not set yet, sets it now, based on the source file name.

evalModule

public static final boolean evalModule(Environment env, CallContext ctx, Compilation comp, URL url, OutPort msg)

evalToClass

public static Class evalToClass(Compilation comp, URL url)

firstDecl

public Declaration firstDecl()

getInterfaces

public final ClassType[] getInterfaces()

getJavaName

public String getJavaName()

getSuperType

public final ClassType getSuperType()

isStatic

public final boolean isStatic()

print

public void print(OutPort out)

readExternal

public void readExternal(ObjectInput in)

setInterfaces

public final void setInterfaces(ClassType[] s)

setSuperType

public final void setSuperType(ClassType s)

staticInitRun

public boolean staticInitRun()
True if module body (i.e. run) is called by class initializer.

walk

protected Expression walk(ExpWalker walker)

writeExternal

public void writeExternal(ObjectOutput out)