| java.lang.Object bossa.syntax.Node
All known Subclasses: bossa.syntax.Definition, bossa.syntax.AST, bossa.syntax.Symbol,
Node | abstract public class Node (Code) | | Basic component of the syntax tree.
Defines its local scope.
version: $Date: 2005/03/11 17:35:52 $ author: Daniel Bonniot (d.bonniot@mail.dotcom.fr) |
Constructor Summary | |
| Node(int propagate) | | Node(List children, int propagate) |
currentFunction | static Object currentFunction(Code) | | Type checking
|
down | final static int down(Code) | | |
global | final static int global(Code) | | |
none | final static int none(Code) | | |
thisExp | static Expression thisExp(Code) | | The this parameter of the current function, or null.
|
upper | final static int upper(Code) | | |
Node | Node(int propagate)(Code) | | |
addChild | void addChild(Node n)(Code) | | child(n) is prefered now
|
addChildren | List addChildren(List c)(Code) | | Always returns the argument (except an empty list for 'null').
This is just a convenience to be able to write 'this.f = addChildren(f)'.
|
buildScope | void buildScope(VarScope outer, TypeScope typeOuter)(Code) | | Sets up the scope, once the outer scope is given.
|
doResolve | void doResolve()(Code) | | |
doTypecheck | final void doTypecheck()(Code) | | |
getGlobalTypeScope | final public static TypeScope getGlobalTypeScope()(Code) | | Scopes shared by all modules.
|
removeChildren | void removeChildren()(Code) | | |
resolve | void resolve()(Code) | | uses the scope to replace identifiers with their meaning
|
setCurrentFunction | static void setCurrentFunction(Object f)(Code) | | |
typecheck | void typecheck()(Code) | | override this when typechecking is needed.
|
|
|