gov.llnl.babel.visitor
Class SymbolTableDecorator

java.lang.Object
  extended by gov.llnl.babel.visitor.Visitor
      extended by gov.llnl.babel.visitor.SymbolTableDecorator

public class SymbolTableDecorator
extends Visitor

Iterates over a AST a second time to decorate a primed SymbolTable with all the details about classes, interfaces, and structs Type resolution is largely performed in this stage.

See Also:
SymbolTablePrimer

Field Summary
protected  java.util.ArrayList d_imports
           
protected  MsgList d_msgs
           
protected  java.util.HashMap d_requires
           
 
Constructor Summary
SymbolTableDecorator(MsgList msgs, HierarchySorter hs, Context context)
           
 
Method Summary
 java.lang.Object visitArgument(Argument node, java.lang.Object data)
           
 java.lang.Object visitArrayType(ArrayType node, java.lang.Object data)
           
 java.lang.Object visitAssertion(Assertion node, java.lang.Object data)
           
 java.lang.Object visitClassType(ClassType node, java.lang.Object data)
           
 java.lang.Object visitEnsures(Ensures node, java.lang.Object data)
           
 java.lang.Object visitFixedType(FixedType node, java.lang.Object data)
           
 java.lang.Object visitImportClause(ImportClause node, java.lang.Object data)
           
 java.lang.Object visitInterfaceType(InterfaceType node, java.lang.Object data)
           
 java.lang.Object visitMethod(Method node, java.lang.Object data)
           
 java.lang.Object visitRArrayType(RArrayType node, java.lang.Object data)
           
 java.lang.Object visitRequireClause(RequireClause node, java.lang.Object data)
           
 java.lang.Object visitRequires(Requires node, java.lang.Object data)
           
 java.lang.Object visitScopedID(ScopedID node, java.lang.Object data)
           
 java.lang.Object visitSIDLFile(SIDLFile node, java.lang.Object data)
           
 java.lang.Object visitSplicerBlock(SplicerBlock sb, java.lang.Object data)
           
 java.lang.Object visitSplicerImpl(SplicerImpl impl, java.lang.Object data)
           
 java.lang.Object visitSplicerImplList(SplicerImplList sil, java.lang.Object data)
           
 java.lang.Object visitSplicerList(SplicerList sl, java.lang.Object data)
           
 java.lang.Object visitStructItem(StructItem node, java.lang.Object data)
           
 java.lang.Object visitStructType(StructType node, java.lang.Object data)
           
 java.lang.Object visitThrowsList(ThrowsList node, java.lang.Object data)
           
 
Methods inherited from class gov.llnl.babel.visitor.Visitor
visitArgumentList, visitAttribute, visitAttributeList, visitBinaryExpr, visitBooleanLiteral, visitCharacterLiteral, visitDComplexLiteral, visitDocComment, visitDoubleLiteral, visitEnumeration, visitEnumItem, visitExtents, visitFComplexLiteral, visitFloatLiteral, visitFromClause, visitFuncExpr, visitIntLiteral, visitInvariants, visitMethodList, visitName, visitNode, visitPackage, visitScopedIDList, visitStringLiteral, visitUnaryExpr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

d_msgs

protected MsgList d_msgs

d_imports

protected java.util.ArrayList d_imports

d_requires

protected java.util.HashMap d_requires
Constructor Detail

SymbolTableDecorator

public SymbolTableDecorator(MsgList msgs,
                            HierarchySorter hs,
                            Context context)
Method Detail

visitSIDLFile

public java.lang.Object visitSIDLFile(SIDLFile node,
                                      java.lang.Object data)
Overrides:
visitSIDLFile in class Visitor

visitImportClause

public java.lang.Object visitImportClause(ImportClause node,
                                          java.lang.Object data)
Overrides:
visitImportClause in class Visitor

visitRequireClause

public java.lang.Object visitRequireClause(RequireClause node,
                                           java.lang.Object data)
Overrides:
visitRequireClause in class Visitor

visitClassType

public java.lang.Object visitClassType(ClassType node,
                                       java.lang.Object data)
Overrides:
visitClassType in class Visitor

visitInterfaceType

public java.lang.Object visitInterfaceType(InterfaceType node,
                                           java.lang.Object data)
Overrides:
visitInterfaceType in class Visitor

visitMethod

public java.lang.Object visitMethod(Method node,
                                    java.lang.Object data)
Overrides:
visitMethod in class Visitor

visitEnsures

public java.lang.Object visitEnsures(Ensures node,
                                     java.lang.Object data)
Overrides:
visitEnsures in class Visitor

visitRequires

public java.lang.Object visitRequires(Requires node,
                                      java.lang.Object data)
Overrides:
visitRequires in class Visitor

visitAssertion

public java.lang.Object visitAssertion(Assertion node,
                                       java.lang.Object data)
Overrides:
visitAssertion in class Visitor

visitArgument

public java.lang.Object visitArgument(Argument node,
                                      java.lang.Object data)
Overrides:
visitArgument in class Visitor

visitThrowsList

public java.lang.Object visitThrowsList(ThrowsList node,
                                        java.lang.Object data)
Overrides:
visitThrowsList in class Visitor

visitArrayType

public java.lang.Object visitArrayType(ArrayType node,
                                       java.lang.Object data)
Overrides:
visitArrayType in class Visitor

visitRArrayType

public java.lang.Object visitRArrayType(RArrayType node,
                                        java.lang.Object data)
Overrides:
visitRArrayType in class Visitor

visitStructType

public java.lang.Object visitStructType(StructType node,
                                        java.lang.Object data)
Overrides:
visitStructType in class Visitor

visitStructItem

public java.lang.Object visitStructItem(StructItem node,
                                        java.lang.Object data)
Overrides:
visitStructItem in class Visitor

visitFixedType

public java.lang.Object visitFixedType(FixedType node,
                                       java.lang.Object data)
Overrides:
visitFixedType in class Visitor

visitScopedID

public java.lang.Object visitScopedID(ScopedID node,
                                      java.lang.Object data)
Overrides:
visitScopedID in class Visitor

visitSplicerList

public java.lang.Object visitSplicerList(SplicerList sl,
                                         java.lang.Object data)
Overrides:
visitSplicerList in class Visitor

visitSplicerBlock

public java.lang.Object visitSplicerBlock(SplicerBlock sb,
                                          java.lang.Object data)
Overrides:
visitSplicerBlock in class Visitor

visitSplicerImplList

public java.lang.Object visitSplicerImplList(SplicerImplList sil,
                                             java.lang.Object data)
Overrides:
visitSplicerImplList in class Visitor

visitSplicerImpl

public java.lang.Object visitSplicerImpl(SplicerImpl impl,
                                         java.lang.Object data)
Overrides:
visitSplicerImpl in class Visitor