gnu.expr
Class ClassExp
java.lang.Object
gnu.mapping.Procedure
gnu.mapping.Procedure0
gnu.expr.Expression
gnu.expr.ScopeExp
gnu.expr.LambdaExp
gnu.expr.ClassExp
- All Implemented Interfaces:
- Named, Printable
- Direct Known Subclasses:
- ObjectExp
public class ClassExp
- extends LambdaExp
Field Summary |
LambdaExp |
clinitMethod
An artificial method named "$clinit$" for evaluating
static initializations. |
LambdaExp |
initMethod
An artificial method named "$finit$" for evaluating
non-static initializations. |
Expression[] |
supers
List of base classes and implemented interfaces. |
Fields inherited from class gnu.expr.LambdaExp |
body, closureEnvField, defaultArgs, fileFunctionName, firstChild, keywords, max_args, min_args, nameDecl, NEXT_AVAIL_FLAG, nextSibling, NO_FIELD, returnContinuation, returnType, SEQUENCE_RESULT, staticLinkField |
Methods inherited from class gnu.expr.LambdaExp |
allocChildClasses, allocFrame, capture, compileBody, compileEnd, declareClosureEnv, declareThis, getCallConvention, getCaller, getCanCall, getCanRead, getExpClassName, getHeapFrameType, getImportsLexVars, getInlineOnly, getMainMethod, getMethod, getNeedsClosureEnv, getNeedsStaticLink, getOwningLambda, getProperty, getReturnType, incomingArgs, isClassGenerated, isClassMethod, isHandlingTailCalls, isModuleBody, loadHeapFrame, outerLambda, outerLambdaNotInline, restArgType, setCanCall, setCanRead, setClassMethod, setExceptions, setImportsLexVars, setImportsLexVars, setInlineOnly, setNeedsStaticLink, setNeedsStaticLink, setProperty, setReturnType, setType, toString, variable_args, walkChildrenOnly, walkProperties |
Methods inherited from class gnu.expr.ScopeExp |
add, add, addDeclaration, addDeclaration, addDeclaration, countDecls, currentLambda, currentModule, firstDecl, getDefine, getNoDefine, getVarScope, lookup, lookup, nesting, popScope, remove, remove, replaceFollowing |
Methods inherited from class gnu.expr.Expression |
apply, apply0, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, eval, getColumn, getFile, getFlag, getFlags, getLine, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine |
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getName, getSetter, getSymbol, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, removeProperty, set0, set1, setN, setName, setProperty, setSetter, setSymbol |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
supers
public Expression[] supers
- List of base classes and implemented interfaces.
initMethod
public LambdaExp initMethod
- An artificial method named
"$finit$"
for evaluating
non-static initializations.
All constructors need to call this.
clinitMethod
public LambdaExp clinitMethod
- An artificial method named
"$clinit$"
for evaluating
static initializations.
ClassExp
public ClassExp()
isSimple
public boolean isSimple()
setSimple
public void setSimple(boolean value)
setMakingClassPair
public void setMakingClassPair(boolean val)
isMakingClassPair
public boolean isMakingClassPair()
- True if we should make a pair of an interface and a class.
compile
public void compile(Compilation comp,
Target target)
- Overrides:
compile
in class LambdaExp
compilePushClass
public void compilePushClass(Compilation comp,
Target target)
getJavaName
public java.lang.String getJavaName()
getCompiledClassType
protected ClassType getCompiledClassType(Compilation comp)
- Description copied from class:
LambdaExp
- Return the ClassType of the Procedure this is being compiled into.
- Overrides:
getCompiledClassType
in class LambdaExp
getType
public Type getType()
- Description copied from class:
Expression
- Return the Type used to represent the values of this Expression.
- Overrides:
getType
in class LambdaExp
declareParts
public void declareParts(Compilation comp)
compile
public ClassType compile(Compilation comp)
walk
protected Expression walk(ExpWalker walker)
- Overrides:
walk
in class LambdaExp
walkChildren
protected void walkChildren(ExpWalker walker)
- Overrides:
walkChildren
in class LambdaExp
print
public void print(OutPort out)
- Overrides:
print
in class LambdaExp
compileSetField
public Field compileSetField(Compilation comp)
- Overrides:
compileSetField
in class LambdaExp
slotToMethodName
public static java.lang.String slotToMethodName(java.lang.String prefix,
java.lang.String sname)
- Mangle a "slot" name to a get- or set- method name.
- Parameters:
prefix
- either "get" or "set"sname
- a "slot" (property) name. This is mangled if needed.