gov.llnl.babel.ast
Class ASTNode

java.lang.Object
  extended by 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


Field Summary
static long ILLEGAL_NODEID
           
 
Constructor Summary
ASTNode()
           
ASTNode(ParseTreeNode src, ASTNode parent)
           
 
Method Summary
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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ILLEGAL_NODEID

public static final long ILLEGAL_NODEID
See Also:
Constant Field Values
Constructor Detail

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 Detail

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 class
data - Optional extra data
Returns:
Optional extra data