gov.llnl.babel.visitor
Class SymbolTablePrimer
java.lang.Object
gov.llnl.babel.visitor.Visitor
gov.llnl.babel.visitor.SymbolTablePrimer
public class SymbolTablePrimer
- extends Visitor
This AST visitor does the first pass on initializing the older SymbolTable.
Empty Classes, Interfaces, (and eventually structs) will be added.
Enums are also added, but since they make no reference to other types they
are entered in their entirety here.
A second pass is needed later to add all the details about inheritance,
methods, arguements, etc. The reason for the two separate passes is to
make the type resolution more permissive than the original single-pass
model of the original parser and the existing SymbolTable.
- See Also:
SymbolTableDecorator
Methods inherited from class gov.llnl.babel.visitor.Visitor |
visitArgument, visitArgumentList, visitArrayType, visitAssertion, visitAttribute, visitAttributeList, visitBinaryExpr, visitBooleanLiteral, visitCharacterLiteral, visitDComplexLiteral, visitDocComment, visitDoubleLiteral, visitEnsures, visitExtents, visitFComplexLiteral, visitFixedType, visitFloatLiteral, visitFromClause, visitFuncExpr, visitImportClause, visitIntLiteral, visitInvariants, visitMethod, visitMethodList, visitName, visitNode, visitRArrayType, visitRequireClause, visitRequires, visitScopedID, visitScopedIDList, visitSIDLFile, visitSplicerBlock, visitSplicerImpl, visitSplicerImplList, visitSplicerList, visitStringLiteral, visitStructItem, visitThrowsList, visitUnaryExpr |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
d_msgs
protected MsgList d_msgs
SymbolTablePrimer
public SymbolTablePrimer(MsgList msgs,
Context context)
visitPackage
public java.lang.Object visitPackage(Package node,
java.lang.Object data)
- Overrides:
visitPackage
in class Visitor
visitInterfaceType
public java.lang.Object visitInterfaceType(InterfaceType node,
java.lang.Object data)
- Overrides:
visitInterfaceType
in class Visitor
visitClassType
public java.lang.Object visitClassType(ClassType node,
java.lang.Object data)
- Overrides:
visitClassType
in class Visitor
visitStructType
public java.lang.Object visitStructType(StructType node,
java.lang.Object data)
- Overrides:
visitStructType
in class Visitor
visitEnumeration
public java.lang.Object visitEnumeration(Enumeration node,
java.lang.Object data)
- Overrides:
visitEnumeration
in class Visitor
visitEnumItem
public java.lang.Object visitEnumItem(EnumItem node,
java.lang.Object data)
- Overrides:
visitEnumItem
in class Visitor