gov.llnl.babel.ast
Class ASTNode
java.lang.Object
gov.llnl.babel.ast.ASTNode
- Direct Known Subclasses:
- Argument, Assertion, Attribute, BinaryExpr, Ensures, EnumItem, Extents, FromClause, FuncExpr, Invariants, Literal, Method, Name, NodeList, Requires, SIDLFile, SplicerBlock, SplicerImpl, StructItem, Type, TypeSearchClause, UnaryExpr
public abstract class ASTNode
- extends java.lang.Object
Base class for all AST nodes
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ILLEGAL_NODEID
public static final long ILLEGAL_NODEID
- See Also:
- Constant Field Values
ASTNode
public ASTNode()
ASTNode
public ASTNode(ParseTreeNode src,
ASTNode parent)
- Parameters:
src
- the ParseTreeNode useful for debugging (or null) for generated
codeparent
- the parent ASTNode.
getFirstToken
public Token getFirstToken()
getLastToken
public Token getLastToken()
setFirstToken
protected void setFirstToken(Token token)
setLastToken
protected void setLastToken(Token token)
getFilename
public java.lang.String getFilename()
- If we have information about the sourcecode, traverse parent pointers until
we get to a node that knows its filename. Return null if information is not
available (or in the case of generated ASTs, not applicable)
- Returns:
setParent
public void setParent(ASTNode node)
getParent
public ASTNode getParent()
setParseTreeNode
public void setParseTreeNode(ParseTreeNode src)
getParseTreeNode
public ParseTreeNode getParseTreeNode()
setSymbolTableEntry
public void setSymbolTableEntry(Symbol symbol)
getSymbolTableEntry
public Symbol getSymbolTableEntry()
setNodeId
public void setNodeId(long id)
getNodeId
public long getNodeId()
accept
public abstract java.lang.Object accept(Visitor v,
java.lang.Object data)
- implements "Visitor Pattern"
- Parameters:
v
- The visitor classdata
- Optional extra data
- Returns:
- Optional extra data