fr.umlv.tatoo.cc.tools.ast
Class ASTNodeBuilder

java.lang.Object
  extended by fr.umlv.tatoo.cc.tools.ast.ASTNodeBuilder

public class ASTNodeBuilder
extends Object


Nested Class Summary
static interface ASTNodeBuilder.Creator<A extends ASTNode>
           
 class ASTNodeBuilder.LazyCreator<A extends ASTNode>
           
 
Constructor Summary
ASTNodeBuilder(String packageName)
           
 
Method Summary
 Collection<ASTNode> getAllNodes()
           
 Map<ObjectId,ASTNode> getNodeMap()
           
 String getPackageName()
           
 ASTNodeBuilder.Creator<AttributeListNode> newAttributeListNode(NonTerminalDecl nonTerminal, Type elementType)
           
 ASTNodeBuilder.Creator<CompositeNode> newCompositeNode(NonTerminalDecl nonTerminal, NonTerminalDecl enclosingElement)
           
 ASTNodeBuilder.Creator<ProductionNode> newFlatNode(ProductionDecl production, Map<VariableDecl,Type> varMap, boolean isNonTerminalNotExpressive)
           
 ASTNodeBuilder.Creator<NonTerminalNode> newNonTerminalNode(NonTerminalDecl nonTerminal, boolean isStart)
           
 void setAsNonExpressive(NonTerminalDecl nonTerminal, ProductionDecl production)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASTNodeBuilder

public ASTNodeBuilder(String packageName)
Method Detail

getPackageName

public String getPackageName()

getAllNodes

public Collection<ASTNode> getAllNodes()

getNodeMap

public Map<ObjectId,ASTNode> getNodeMap()

setAsNonExpressive

public void setAsNonExpressive(NonTerminalDecl nonTerminal,
                               ProductionDecl production)

newCompositeNode

public ASTNodeBuilder.Creator<CompositeNode> newCompositeNode(NonTerminalDecl nonTerminal,
                                                              NonTerminalDecl enclosingElement)

newNonTerminalNode

public ASTNodeBuilder.Creator<NonTerminalNode> newNonTerminalNode(NonTerminalDecl nonTerminal,
                                                                  boolean isStart)

newAttributeListNode

public ASTNodeBuilder.Creator<AttributeListNode> newAttributeListNode(NonTerminalDecl nonTerminal,
                                                                      Type elementType)

newFlatNode

public ASTNodeBuilder.Creator<ProductionNode> newFlatNode(ProductionDecl production,
                                                          Map<VariableDecl,Type> varMap,
                                                          boolean isNonTerminalNotExpressive)