gov.llnl.babel.ast

Class ASTNode

Known Direct 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

Field Summary

static long
ILLEGAL_NODEID

Constructor Summary

ASTNode()
ASTNode(ParseTreeNode src, ASTNode parent)

Method Summary

abstract Object
accept(Visitor v, Object data)
implements "Visitor Pattern"
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)

Field Details

ILLEGAL_NODEID

public static final long ILLEGAL_NODEID
Field Value:
-1L

Constructor Details

ASTNode

public ASTNode()

ASTNode

public ASTNode(ParseTreeNode src,
               ASTNode parent)
Parameters:
src - the ParseTreeNode useful for debugging (or null) for generated code
parent - the parent ASTNode.

Method Details

accept

public abstract Object accept(Visitor v,
                              Object data)
implements "Visitor Pattern"
Parameters:
v - The visitor class
data - Optional extra data
Returns:
Optional extra data

getFilename

public 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:

getFirstToken

public Token getFirstToken()

getLastToken

public Token getLastToken()

getNodeId

public long getNodeId()

getParent

public ASTNode getParent()

getParseTreeNode

public ParseTreeNode getParseTreeNode()

getSymbolTableEntry

public Symbol getSymbolTableEntry()

setFirstToken

protected void setFirstToken(Token token)

setLastToken

protected void setLastToken(Token token)

setNodeId

public void setNodeId(long id)

setParent

public void setParent(ASTNode node)

setParseTreeNode

public void setParseTreeNode(ParseTreeNode src)

setSymbolTableEntry

public void setSymbolTableEntry(Symbol symbol)