|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object gnu.mapping.Procedure gnu.mapping.Procedure0 gnu.expr.Expression gnu.expr.ScopeExp
public abstract class ScopeExp
Abstract class for expressions that add local variable bindings.
Field Summary | |
---|---|
int |
id
Unique id number, to ease print-outs and debugging. |
ScopeExp |
outer
The statically enclosing binding contour. |
Fields inherited from class gnu.expr.Expression |
---|
flags, NEXT_AVAIL_FLAG, noExpressions |
Constructor Summary | |
---|---|
ScopeExp()
|
Method Summary | |
---|---|
void |
add(Declaration decl)
|
void |
add(Declaration prev,
Declaration decl)
Add a Declaration at a specified position. |
void |
addDeclaration(Declaration decl)
Add a Declaration to the current Scope. |
Declaration |
addDeclaration(java.lang.Object name)
Create a new declaration in the current Scope. |
Declaration |
addDeclaration(java.lang.Object name,
Type type)
Create a new declaration in the current Scope. |
int |
countDecls()
|
LambdaExp |
currentLambda()
|
ModuleExp |
currentModule()
|
Declaration |
firstDecl()
|
Declaration |
getDefine(java.lang.Object name,
char severity,
Compilation parser)
Add a new Declaration, with a message if there is an existing one. |
Declaration |
getNoDefine(java.lang.Object name)
Lookup a declaration, create a non-defining declaration if needed. |
Scope |
getVarScope()
|
Declaration |
lookup(java.lang.Object sym)
Find a Declaration by name. |
Declaration |
lookup(java.lang.Object sym,
Language language,
int namespace)
|
static int |
nesting(ScopeExp sc)
|
void |
popScope(CodeAttr code)
Clear bytecode resources for the ScopeExp. |
void |
remove(Declaration decl)
|
void |
remove(Declaration prev,
Declaration decl)
|
void |
replaceFollowing(Declaration prev,
Declaration newDecl)
Replace the prev.next by newDecl . |
java.lang.String |
toString()
|
protected Expression |
walk(ExpWalker walker)
|
Methods inherited from class gnu.expr.Expression |
---|
apply, apply0, compile, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, eval, getColumn, getFile, getFlag, getFlags, getLine, getType, makeWhile, match0, print, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, walkChildren |
Methods inherited from class gnu.mapping.Procedure0 |
---|
apply1, apply2, apply3, apply4, applyN, numArgs |
Methods inherited from class gnu.mapping.Procedure |
---|
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getName, getProperty, getSetter, getSymbol, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, removeProperty, set0, set1, setN, setName, setProperty, setProperty, setSetter, setSymbol |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public ScopeExp outer
public int id
Constructor Detail |
---|
public ScopeExp()
Method Detail |
---|
public Declaration firstDecl()
public Scope getVarScope()
public void popScope(CodeAttr code)
public void add(Declaration decl)
public void add(Declaration prev, Declaration decl)
public void replaceFollowing(Declaration prev, Declaration newDecl)
prev.next
by newDecl
.
If prev==null
, replace the first decl.
public void remove(Declaration decl)
public void remove(Declaration prev, Declaration decl)
public LambdaExp currentLambda()
public ModuleExp currentModule()
public Declaration lookup(java.lang.Object sym)
sym
- the (interned) name of the Declaration sought
public Declaration lookup(java.lang.Object sym, Language language, int namespace)
public Declaration getNoDefine(java.lang.Object name)
public Declaration getDefine(java.lang.Object name, char severity, Compilation parser)
public final Declaration addDeclaration(java.lang.Object name)
name
- name (interned) to give to the new Declaration.public final Declaration addDeclaration(java.lang.Object name, Type type)
name
- name (interned) to give to the new Declaration.type
- type of the new Declaration.public final void addDeclaration(Declaration decl)
public int countDecls()
public static int nesting(ScopeExp sc)
protected Expression walk(ExpWalker walker)
walk
in class Expression
public java.lang.String toString()
toString
in class Procedure
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |