jltools.visit
Class  FlattenVisitor
java.lang.Object
  |
  +--jltools.ast.NodeVisitor
        |
        +--jltools.visit.FlattenVisitor
- public class FlattenVisitor
- extends NodeVisitor
  
The FlattenVisitor flattens the AST,
 
| 
Method Summary | 
 NodeVisitor | 
enter(Node n)
 
          When entering a BlockStatement, place a new StatementList
 onto the stack | 
 Node | 
leave(Node old,
      Node n,
      NodeVisitor v)
 
          Flatten complex expressions within the AST | 
 Node | 
override(Node n)
 
          Given a tree rooted at n, the visitor has the option of
 overriding all traversal of the children of n. | 
 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
 
FlattenVisitor
public FlattenVisitor(TypeSystem ts,
                      NodeFactory nf)
override
public Node override(Node n)
- Description copied from class: 
NodeVisitor 
- Given a tree rooted at 
n, the visitor has the option of
 overriding all traversal of the children of n. If no
 changes were made to n and the visitor wishes to prevent
 further traversal of the tree, then it should return n. If
 changes were made to the subtree, then the visitor should return a
 copy of n with appropriate changes.  Finally, if the
 visitor does not wish to override traversal of the subtree rooted at
 n, then it should return null.
- Overrides:
 override in class NodeVisitor
 
- Following copied from class: 
jltools.ast.NodeVisitor 
- Parameters:
 n - The root of the subtree to be traversed.- Returns:
 - A node if normal traversal is to stop, 
null if it
 is to continue. 
 
 
enter
public NodeVisitor enter(Node n)
- When entering a BlockStatement, place a new StatementList
 onto the stack
- Overrides:
 enter in class NodeVisitor
 
- Following copied from class: 
jltools.ast.NodeVisitor 
- Parameters:
 n - The root of the subtree to be traversed.- Returns:
 - The 
NodeVisitor which should be used to visit the
 children of n. 
 
 
leave
public Node leave(Node old,
                  Node n,
                  NodeVisitor v)
- Flatten complex expressions within the AST
- Overrides:
 leave in class NodeVisitor
 
- Following copied from class: 
jltools.ast.NodeVisitor 
- Parameters:
 old - The original state of root of the current subtree.n - The current state of the root of the current subtree.v - The NodeVisitor object used to visit the children.- Returns:
 - The final result of the traversal of the tree rooted at
 
n.