gov.llnl.babel.visitor
Class CollisionChecker
java.lang.Object
gov.llnl.babel.visitor.Visitor
gov.llnl.babel.visitor.CollisionChecker
public class CollisionChecker
- extends Visitor
Checks for naming collisions two args with same name in same method,
two Types with same name in a packgage, and so on for all names in
the ast. For enumerations, it also checks for duplicate explicit values
and assigns unique values to items otherwise unassigned. For packages, it
also blocks attempts to reopen a final package. Naturally, it will detect
collisions for packages that are closed and reopened.
Method Summary |
protected AttributeList |
checkAttributes(AttributeList attrs)
|
protected void |
checkName(java.lang.String scope_name,
Name name,
java.util.HashMap scope)
|
protected void |
checkNameInPackageScope(Name name,
java.util.HashMap scope)
|
java.lang.Object |
visitArgument(Argument node,
java.lang.Object data)
|
java.lang.Object |
visitArgumentList(ArgumentList node,
java.lang.Object data)
|
java.lang.Object |
visitBinaryExpr(BinaryExpr be,
java.lang.Object data)
|
java.lang.Object |
visitClassType(ClassType node,
java.lang.Object data)
|
java.lang.Object |
visitEnumeration(Enumeration node,
java.lang.Object data)
|
java.lang.Object |
visitEnumItem(EnumItem node,
java.lang.Object data)
|
java.lang.Object |
visitExtents(Extents e,
java.lang.Object data)
|
java.lang.Object |
visitFromClause(FromClause 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 |
visitMethodList(MethodList node,
java.lang.Object data)
|
java.lang.Object |
visitName(Name n,
java.lang.Object data)
|
java.lang.Object |
visitPackage(Package 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 |
visitSIDLFile(SIDLFile node,
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)
|
java.lang.Object |
visitUnaryExpr(UnaryExpr ue,
java.lang.Object data)
|
Methods inherited from class gov.llnl.babel.visitor.Visitor |
visitArrayType, visitAssertion, visitAttribute, visitAttributeList, visitBooleanLiteral, visitCharacterLiteral, visitDComplexLiteral, visitDocComment, visitDoubleLiteral, visitEnsures, visitFComplexLiteral, visitFixedType, visitFloatLiteral, visitFuncExpr, visitIntLiteral, visitNode, visitRequires, visitScopedID, visitScopedIDList, visitStringLiteral |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
d_msgs
protected MsgList d_msgs
d_symbolTable
protected static java.util.HashMap d_symbolTable
d_currentScope
protected java.util.HashMap d_currentScope
CollisionChecker
public CollisionChecker(MsgList msgs)
checkAttributes
protected AttributeList checkAttributes(AttributeList attrs)
checkName
protected void checkName(java.lang.String scope_name,
Name name,
java.util.HashMap scope)
checkNameInPackageScope
protected void checkNameInPackageScope(Name name,
java.util.HashMap scope)
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
visitPackage
public java.lang.Object visitPackage(Package node,
java.lang.Object data)
- Overrides:
visitPackage
in class Visitor
visitName
public java.lang.Object visitName(Name n,
java.lang.Object data)
- Overrides:
visitName
in class Visitor
visitBinaryExpr
public java.lang.Object visitBinaryExpr(BinaryExpr be,
java.lang.Object data)
- Overrides:
visitBinaryExpr
in class Visitor
visitUnaryExpr
public java.lang.Object visitUnaryExpr(UnaryExpr ue,
java.lang.Object data)
- Overrides:
visitUnaryExpr
in class Visitor
visitExtents
public java.lang.Object visitExtents(Extents e,
java.lang.Object data)
- Overrides:
visitExtents
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
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
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
visitMethodList
public java.lang.Object visitMethodList(MethodList node,
java.lang.Object data)
- Overrides:
visitMethodList
in class Visitor
visitMethod
public java.lang.Object visitMethod(Method node,
java.lang.Object data)
- Overrides:
visitMethod
in class Visitor
visitArgumentList
public java.lang.Object visitArgumentList(ArgumentList node,
java.lang.Object data)
- Overrides:
visitArgumentList
in class Visitor
visitArgument
public java.lang.Object visitArgument(Argument node,
java.lang.Object data)
- Overrides:
visitArgument
in class Visitor
visitRArrayType
public java.lang.Object visitRArrayType(RArrayType node,
java.lang.Object data)
- Overrides:
visitRArrayType
in class Visitor
visitThrowsList
public java.lang.Object visitThrowsList(ThrowsList node,
java.lang.Object data)
- Overrides:
visitThrowsList
in class Visitor
visitFromClause
public java.lang.Object visitFromClause(FromClause node,
java.lang.Object data)
- Overrides:
visitFromClause
in class Visitor