gov.llnl.babel.visitor
Class CollisionChecker
java.lang.Object
   gov.llnl.babel.visitor.Visitor
gov.llnl.babel.visitor.Visitor
       gov.llnl.babel.visitor.CollisionChecker
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 | visitBooleanLiteral(BooleanLiteral il,
                    java.lang.Object data)
 | 
|  java.lang.Object | visitCharacterLiteral(CharacterLiteral il,
                      java.lang.Object data)
 | 
|  java.lang.Object | visitClassType(ClassType node,
               java.lang.Object data)
 | 
|  java.lang.Object | visitDComplexLiteral(DComplexLiteral il,
                     java.lang.Object data)
 | 
|  java.lang.Object | visitDoubleLiteral(DoubleLiteral il,
                   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 | visitFComplexLiteral(FComplexLiteral il,
                     java.lang.Object data)
 | 
|  java.lang.Object | visitFloatLiteral(FloatLiteral l,
                  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 | visitIntLiteral(IntLiteral il,
                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 | visitStringLiteral(StringLiteral il,
                   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, visitDocComment, visitEnsures, visitFixedType, visitFuncExpr, visitInvariants, visitNode, visitRequires, visitScopedID, visitScopedIDList, visitSplicerBlock, visitSplicerImpl, visitSplicerImplList, visitSplicerList | 
 
| 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_currentScope
protected java.util.Map d_currentScope
CollisionChecker
public CollisionChecker(MsgList msgs,
                        java.util.Map collisions)
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:
- visitSIDLFilein class- Visitor
 
- 
 
visitImportClause
public java.lang.Object visitImportClause(ImportClause node,
                                          java.lang.Object data)
- 
- Overrides:
- visitImportClausein class- Visitor
 
- 
 
visitRequireClause
public java.lang.Object visitRequireClause(RequireClause node,
                                           java.lang.Object data)
- 
- Overrides:
- visitRequireClausein class- Visitor
 
- 
 
visitPackage
public java.lang.Object visitPackage(Package node,
                                     java.lang.Object data)
- 
- Overrides:
- visitPackagein class- Visitor
 
- 
 
visitName
public java.lang.Object visitName(Name n,
                                  java.lang.Object data)
- 
- Overrides:
- visitNamein class- Visitor
 
- 
 
visitIntLiteral
public java.lang.Object visitIntLiteral(IntLiteral il,
                                        java.lang.Object data)
- 
- Overrides:
- visitIntLiteralin class- Visitor
 
- 
 
visitDoubleLiteral
public java.lang.Object visitDoubleLiteral(DoubleLiteral il,
                                           java.lang.Object data)
- 
- Overrides:
- visitDoubleLiteralin class- Visitor
 
- 
 
visitFloatLiteral
public java.lang.Object visitFloatLiteral(FloatLiteral l,
                                          java.lang.Object data)
- 
- Overrides:
- visitFloatLiteralin class- Visitor
 
- 
 
visitCharacterLiteral
public java.lang.Object visitCharacterLiteral(CharacterLiteral il,
                                              java.lang.Object data)
- 
- Overrides:
- visitCharacterLiteralin class- Visitor
 
- 
 
visitBooleanLiteral
public java.lang.Object visitBooleanLiteral(BooleanLiteral il,
                                            java.lang.Object data)
- 
- Overrides:
- visitBooleanLiteralin class- Visitor
 
- 
 
visitStringLiteral
public java.lang.Object visitStringLiteral(StringLiteral il,
                                           java.lang.Object data)
- 
- Overrides:
- visitStringLiteralin class- Visitor
 
- 
 
visitFComplexLiteral
public java.lang.Object visitFComplexLiteral(FComplexLiteral il,
                                             java.lang.Object data)
- 
- Overrides:
- visitFComplexLiteralin class- Visitor
 
- 
 
visitDComplexLiteral
public java.lang.Object visitDComplexLiteral(DComplexLiteral il,
                                             java.lang.Object data)
- 
- Overrides:
- visitDComplexLiteralin class- Visitor
 
- 
 
visitBinaryExpr
public java.lang.Object visitBinaryExpr(BinaryExpr be,
                                        java.lang.Object data)
- 
- Overrides:
- visitBinaryExprin class- Visitor
 
- 
 
visitUnaryExpr
public java.lang.Object visitUnaryExpr(UnaryExpr ue,
                                       java.lang.Object data)
- 
- Overrides:
- visitUnaryExprin class- Visitor
 
- 
 
visitExtents
public java.lang.Object visitExtents(Extents e,
                                     java.lang.Object data)
- 
- Overrides:
- visitExtentsin class- Visitor
 
- 
 
visitEnumeration
public java.lang.Object visitEnumeration(Enumeration node,
                                         java.lang.Object data)
- 
- Overrides:
- visitEnumerationin class- Visitor
 
- 
 
visitEnumItem
public java.lang.Object visitEnumItem(EnumItem node,
                                      java.lang.Object data)
- 
- Overrides:
- visitEnumItemin class- Visitor
 
- 
 
visitStructType
public java.lang.Object visitStructType(StructType node,
                                        java.lang.Object data)
- 
- Overrides:
- visitStructTypein class- Visitor
 
- 
 
visitStructItem
public java.lang.Object visitStructItem(StructItem node,
                                        java.lang.Object data)
- 
- Overrides:
- visitStructItemin class- Visitor
 
- 
 
visitClassType
public java.lang.Object visitClassType(ClassType node,
                                       java.lang.Object data)
- 
- Overrides:
- visitClassTypein class- Visitor
 
- 
 
visitInterfaceType
public java.lang.Object visitInterfaceType(InterfaceType node,
                                           java.lang.Object data)
- 
- Overrides:
- visitInterfaceTypein class- Visitor
 
- 
 
visitMethodList
public java.lang.Object visitMethodList(MethodList node,
                                        java.lang.Object data)
- 
- Overrides:
- visitMethodListin class- Visitor
 
- 
 
visitMethod
public java.lang.Object visitMethod(Method node,
                                    java.lang.Object data)
- 
- Overrides:
- visitMethodin class- Visitor
 
- 
 
visitArgumentList
public java.lang.Object visitArgumentList(ArgumentList node,
                                          java.lang.Object data)
- 
- Overrides:
- visitArgumentListin class- Visitor
 
- 
 
visitArgument
public java.lang.Object visitArgument(Argument node,
                                      java.lang.Object data)
- 
- Overrides:
- visitArgumentin class- Visitor
 
- 
 
visitRArrayType
public java.lang.Object visitRArrayType(RArrayType node,
                                        java.lang.Object data)
- 
- Overrides:
- visitRArrayTypein class- Visitor
 
- 
 
visitThrowsList
public java.lang.Object visitThrowsList(ThrowsList node,
                                        java.lang.Object data)
- 
- Overrides:
- visitThrowsListin class- Visitor
 
- 
 
visitFromClause
public java.lang.Object visitFromClause(FromClause node,
                                        java.lang.Object data)
- 
- Overrides:
- visitFromClausein class- Visitor
 
-