public abstract class ASTNode
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static long |
ILLEGAL_NODEID |
Constructor and Description |
---|
ASTNode() |
ASTNode(ParseTreeNode src,
ASTNode parent) |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
accept(Visitor v,
java.lang.Object data)
implements "Visitor Pattern"
|
java.lang.String |
getFilename()
If we have information about the sourcecode, traverse parent pointers until
we get to a node that knows its filename.
|
Token |
getFirstToken() |
Token |
getLastToken() |
long |
getNodeId() |
ASTNode |
getParent() |
ParseTreeNode |
getParseTreeNode() |
Symbol |
getSymbolTableEntry() |
protected void |
setFirstToken(Token token) |
protected void |
setLastToken(Token token) |
void |
setNodeId(long id) |
void |
setParent(ASTNode node) |
void |
setParseTreeNode(ParseTreeNode src) |
void |
setSymbolTableEntry(Symbol symbol) |
public static final long ILLEGAL_NODEID
public ASTNode()
public ASTNode(ParseTreeNode src, ASTNode parent)
src
- the ParseTreeNode useful for debugging (or null) for generated
codeparent
- the parent ASTNode.public Token getFirstToken()
public Token getLastToken()
protected void setFirstToken(Token token)
protected void setLastToken(Token token)
public java.lang.String getFilename()
public void setParent(ASTNode node)
public ASTNode getParent()
public void setParseTreeNode(ParseTreeNode src)
public ParseTreeNode getParseTreeNode()
public void setSymbolTableEntry(Symbol symbol)
public Symbol getSymbolTableEntry()
public void setNodeId(long id)
public long getNodeId()
public abstract java.lang.Object accept(Visitor v, java.lang.Object data)
v
- The visitor classdata
- Optional extra data