ast
Class ListNode

java.lang.Object
  extended by ast.ASTNode
      extended by ast.ListNode
Direct Known Subclasses:
ClassList, ExprList, FormalList, MemberList, StmtList

public abstract class ListNode
extends ASTNode

The abstract ListNode class represents a generic list of AST nodes. It contains a line number (lineNum) and a list (listElements).

See Also:
ASTNode

Field Summary
 
Fields inherited from class ast.ASTNode
charNum, lineNum, lineStr
 
Constructor Summary
protected ListNode(int lineNum)
          ListNode constructor
 
Method Summary
abstract  java.lang.Object accept(visitor.Visitor v, java.lang.Object o)
          Visitor method
 ListNode addElement(ASTNode node)
          Add an element to this list node
 java.util.Iterator<ASTNode> getIterator()
          Returns an iterator for this list
 int getSize()
          Get the list size
 
Methods inherited from class ast.ASTNode
getLineNum
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListNode

protected ListNode(int lineNum)
ListNode constructor

Parameters:
lineNum - source line number corresponding to this AST node
Method Detail

addElement

public ListNode addElement(ASTNode node)
Add an element to this list node

Parameters:
node - element to add
Returns:
the updated list

getIterator

public java.util.Iterator<ASTNode> getIterator()
Returns an iterator for this list

Returns:
iterator for this list

getSize

public int getSize()
Get the list size

Returns:
list size

accept

public abstract java.lang.Object accept(visitor.Visitor v,
                                        java.lang.Object o)
Visitor method

Specified by:
accept in class ASTNode
Parameters:
v - visitor object
o - object to pass down
Returns:
result of visiting this node
See Also:
Visitor