|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object tudresden.ocl.parser.analysis.AnalysisAdapter tudresden.ocl.parser.analysis.DepthFirstAdapter tudresden.ocl.check.TypeChecker org.oclparser.internal.core.typecheck.TypeCheckVisitor
TypeCheckVisitor extends TypeChecker only by storing the line and column if an error occurs.
Field Summary |
Fields inherited from class tudresden.ocl.check.TypeChecker |
setOfIteratingMethodNames |
Constructor Summary | |
TypeCheckVisitor(tudresden.ocl.OclTree tree,
tudresden.ocl.check.types.TypeFactory tf)
|
Method Summary | |
void |
caseAAdditiveExpression(tudresden.ocl.parser.node.AAdditiveExpression ae)
case-method overwritten since type of first operand required for analysis ( '-' is also defined for Sets) |
void |
caseAExpression(tudresden.ocl.parser.node.AExpression e)
|
void |
caseAFeaturePrimaryExpression(tudresden.ocl.parser.node.AFeaturePrimaryExpression fpe)
|
void |
caseAPostfixExpression(tudresden.ocl.parser.node.APostfixExpression poex)
|
void |
defaultCase(tudresden.ocl.parser.node.Node node)
|
int |
getCol()
|
int |
getLine()
|
void |
inACollectionTypeName(tudresden.ocl.parser.node.ACollectionTypeName ctn)
|
void |
inAConstraint(tudresden.ocl.parser.node.AConstraint c)
|
void |
inAFeatureCall(tudresden.ocl.parser.node.AFeatureCall fc)
This method is implemented to update the default context for the FeatureCall's FeatureCallParameter node if the feature call is a call to an iterating method. |
void |
inANonCollectionTypeName(tudresden.ocl.parser.node.ANonCollectionTypeName nctn)
|
void |
inStart(tudresden.ocl.parser.node.Start s)
|
void |
outABooleanLiteral(tudresden.ocl.parser.node.ABooleanLiteral bl)
|
void |
outAConstraintBody(tudresden.ocl.parser.node.AConstraintBody cb)
|
void |
outAEnumLiteral(tudresden.ocl.parser.node.AEnumLiteral el)
|
void |
outAExpressionListOrRange(tudresden.ocl.parser.node.AExpressionListOrRange elor)
|
void |
outAIfExpression(tudresden.ocl.parser.node.AIfExpression ie)
|
void |
outAIfPrimaryExpression(tudresden.ocl.parser.node.AIfPrimaryExpression ipe)
|
void |
outAIntegerLiteral(tudresden.ocl.parser.node.AIntegerLiteral il)
|
void |
outALitColPrimaryExpression(tudresden.ocl.parser.node.ALitColPrimaryExpression lce)
|
void |
outALiteralCollection(tudresden.ocl.parser.node.ALiteralCollection lc)
|
void |
outALiteralPrimaryExpression(tudresden.ocl.parser.node.ALiteralPrimaryExpression lpe)
|
void |
outALogicalExpression(tudresden.ocl.parser.node.ALogicalExpression le)
|
void |
outAMultiplicativeExpression(tudresden.ocl.parser.node.AMultiplicativeExpression me)
|
void |
outAParenthesesPrimaryExpression(tudresden.ocl.parser.node.AParenthesesPrimaryExpression ppe)
|
void |
outAPathSimpleTypeSpecifier(tudresden.ocl.parser.node.APathSimpleTypeSpecifier psts)
|
void |
outAPathTypeName(tudresden.ocl.parser.node.APathTypeName ptn)
|
void |
outAPostfixUnaryExpression(tudresden.ocl.parser.node.APostfixUnaryExpression ue)
|
void |
outARealLiteral(tudresden.ocl.parser.node.ARealLiteral rl)
|
void |
outARelationalExpression(tudresden.ocl.parser.node.ARelationalExpression re)
|
void |
outAStringLiteral(tudresden.ocl.parser.node.AStringLiteral sl)
|
void |
outATypeNamePathNameBegin(tudresden.ocl.parser.node.ATypeNamePathNameBegin tnpnb)
|
void |
outAUnaryUnaryExpression(tudresden.ocl.parser.node.AUnaryUnaryExpression ue)
|
Methods inherited from class tudresden.ocl.check.TypeChecker |
changeNotify, getBoundNames, getDefaultContext, getNodeType, getTypeFor, isNameBound |
Methods inherited from class tudresden.ocl.parser.analysis.DepthFirstAdapter |
caseAActualParameterList, caseAActualParameterListTail, caseAAdditiveExpressionTail, caseAAndLogicalOperator, caseAArrowPostfixExpressionTailBegin, caseABagCollectionKind, caseABagCollectionType, caseABarFcpHelper, caseABooleanLiteral, caseAClassifierContext, caseAClassifierContextBody, caseAClassifierHead, caseACollectionCollectionKind, caseACollectionCollectionType, caseACollectionTypeName, caseAColonFcpHelper, caseACommaFcpHelper, caseAConcreteFeatureCallParameters, caseAConstraint, caseAConstraintBody, caseAContextDeclaration, caseADeclaratorTail, caseADeclaratorTypeDeclaration, caseADivMultiplyOperator, caseADotPostfixExpressionTailBegin, caseAEmptyFeatureCallParameters, caseAEnumerationType, caseAEnumerationTypeTail, caseAEnumLiteral, caseAEnumSimpleTypeSpecifier, caseAEqualRelationalOperator, caseAExpressionListOrRange, caseAExpressionListTail, caseAFeatureCall, caseAFeatureCallParameters, caseAFileStart, caseAFormalParameter, caseAFormalParameterList, caseAFormalParameterListTail, caseAGteqRelationalOperator, caseAGtRelationalOperator, caseAIfExpression, caseAIfPrimaryExpression, caseAImpliesLogicalOperator, caseAIntegerLiteral, caseAInvStereotype, caseAIterateDeclarator, caseAIterateFcpHelper, caseALetExpression, caseALetExpressionTypeDeclaration, caseAListExpressionListOrRangeTail, caseALitColPrimaryExpression, caseALiteralCollection, caseALiteralPrimaryExpression, caseALogicalExpression, caseALogicalExpressionTail, caseALteqRelationalOperator, caseALtRelationalOperator, caseAMinusAddOperator, caseAMinusUnaryOperator, caseAMultiplicativeExpression, caseAMultiplicativeExpressionTail, caseAMultMultiplyOperator, caseANamePathNameBegin, caseANamePathNameEnd, caseANEqualRelationalOperator, caseANonCollectionTypeName, caseANotUnaryOperator, caseAOperationContext, caseAOperationContextBody, caseAOrLogicalOperator, caseAPackageStart, caseAParenthesesPrimaryExpression, caseAPathName, caseAPathNameTail, caseAPathSimpleTypeSpecifier, caseAPathTypeName, caseAPathTypeNameTail, caseAPlusAddOperator, caseAPostfixExpressionTail, caseAPostfixUnaryExpression, caseAPostStereotype, caseAPreStereotype, caseAQualifiers, caseARangeExpressionListOrRangeTail, caseARealLiteral, caseARelationalExpression, caseARelationalExpressionTail, caseAReturnTypeDeclaration, caseASequenceCollectionKind, caseASequenceCollectionType, caseASetCollectionKind, caseASetCollectionType, caseAStandardDeclarator, caseAStringLiteral, caseATimeExpression, caseATypeNamePathNameBegin, caseATypeNamePathNameEnd, caseAUnaryUnaryExpression, caseAXorLogicalOperator, caseStart, defaultIn, defaultOut, inAActualParameterList, inAActualParameterListTail, inAAdditiveExpression, inAAdditiveExpressionTail, inAAndLogicalOperator, inAArrowPostfixExpressionTailBegin, inABagCollectionKind, inABagCollectionType, inABarFcpHelper, inABooleanLiteral, inAClassifierContext, inAClassifierContextBody, inAClassifierHead, inACollectionCollectionKind, inACollectionCollectionType, inAColonFcpHelper, inACommaFcpHelper, inAConcreteFeatureCallParameters, inAConstraintBody, inAContextDeclaration, inADeclaratorTail, inADeclaratorTypeDeclaration, inADivMultiplyOperator, inADotPostfixExpressionTailBegin, inAEmptyFeatureCallParameters, inAEnumerationType, inAEnumerationTypeTail, inAEnumLiteral, inAEnumSimpleTypeSpecifier, inAEqualRelationalOperator, inAExpression, inAExpressionListOrRange, inAExpressionListTail, inAFeatureCallParameters, inAFeaturePrimaryExpression, inAFileStart, inAFormalParameter, inAFormalParameterList, inAFormalParameterListTail, inAGteqRelationalOperator, inAGtRelationalOperator, inAIfExpression, inAIfPrimaryExpression, inAImpliesLogicalOperator, inAIntegerLiteral, inAInvStereotype, inAIterateDeclarator, inAIterateFcpHelper, inALetExpression, inALetExpressionTypeDeclaration, inAListExpressionListOrRangeTail, inALitColPrimaryExpression, inALiteralCollection, inALiteralPrimaryExpression, inALogicalExpression, inALogicalExpressionTail, inALteqRelationalOperator, inALtRelationalOperator, inAMinusAddOperator, inAMinusUnaryOperator, inAMultiplicativeExpression, inAMultiplicativeExpressionTail, inAMultMultiplyOperator, inANamePathNameBegin, inANamePathNameEnd, inANEqualRelationalOperator, inANotUnaryOperator, inAOperationContext, inAOperationContextBody, inAOrLogicalOperator, inAPackageStart, inAParenthesesPrimaryExpression, inAPathName, inAPathNameTail, inAPathSimpleTypeSpecifier, inAPathTypeName, inAPathTypeNameTail, inAPlusAddOperator, inAPostfixExpression, inAPostfixExpressionTail, inAPostfixUnaryExpression, inAPostStereotype, inAPreStereotype, inAQualifiers, inARangeExpressionListOrRangeTail, inARealLiteral, inARelationalExpression, inARelationalExpressionTail, inAReturnTypeDeclaration, inASequenceCollectionKind, inASequenceCollectionType, inASetCollectionKind, inASetCollectionType, inAStandardDeclarator, inAStringLiteral, inATimeExpression, inATypeNamePathNameBegin, inATypeNamePathNameEnd, inAUnaryUnaryExpression, inAXorLogicalOperator, outAActualParameterList, outAActualParameterListTail, outAAdditiveExpression, outAAdditiveExpressionTail, outAAndLogicalOperator, outAArrowPostfixExpressionTailBegin, outABagCollectionKind, outABagCollectionType, outABarFcpHelper, outAClassifierContext, outAClassifierContextBody, outAClassifierHead, outACollectionCollectionKind, outACollectionCollectionType, outACollectionTypeName, outAColonFcpHelper, outACommaFcpHelper, outAConcreteFeatureCallParameters, outAConstraint, outAContextDeclaration, outADeclaratorTail, outADeclaratorTypeDeclaration, outADivMultiplyOperator, outADotPostfixExpressionTailBegin, outAEmptyFeatureCallParameters, outAEnumerationType, outAEnumerationTypeTail, outAEnumSimpleTypeSpecifier, outAEqualRelationalOperator, outAExpression, outAExpressionListTail, outAFeatureCall, outAFeatureCallParameters, outAFeaturePrimaryExpression, outAFileStart, outAFormalParameter, outAFormalParameterList, outAFormalParameterListTail, outAGteqRelationalOperator, outAGtRelationalOperator, outAImpliesLogicalOperator, outAInvStereotype, outAIterateDeclarator, outAIterateFcpHelper, outALetExpression, outALetExpressionTypeDeclaration, outAListExpressionListOrRangeTail, outALogicalExpressionTail, outALteqRelationalOperator, outALtRelationalOperator, outAMinusAddOperator, outAMinusUnaryOperator, outAMultiplicativeExpressionTail, outAMultMultiplyOperator, outANamePathNameBegin, outANamePathNameEnd, outANEqualRelationalOperator, outANonCollectionTypeName, outANotUnaryOperator, outAOperationContext, outAOperationContextBody, outAOrLogicalOperator, outAPackageStart, outAPathName, outAPathNameTail, outAPathTypeNameTail, outAPlusAddOperator, outAPostfixExpression, outAPostfixExpressionTail, outAPostStereotype, outAPreStereotype, outAQualifiers, outARangeExpressionListOrRangeTail, outARelationalExpressionTail, outAReturnTypeDeclaration, outASequenceCollectionKind, outASequenceCollectionType, outASetCollectionKind, outASetCollectionType, outAStandardDeclarator, outATimeExpression, outATypeNamePathNameEnd, outAXorLogicalOperator, outStart |
Methods inherited from class tudresden.ocl.parser.analysis.AnalysisAdapter |
caseEOF, caseTAnd, caseTApostroph, caseTArrow, caseTAt, caseTBar, caseTBlank, caseTBool, caseTChannel, caseTColon, caseTComma, caseTComment, caseTContext, caseTDcolon, caseTDdot, caseTDiv, caseTDot, caseTEndif, caseTEndpackagekey, caseTEnum, caseTEqual, caseTGt, caseTGteq, caseTImplies, caseTInt, caseTLBrace, caseTLBracket, caseTLPar, caseTLt, caseTLteq, caseTMinus, caseTMult, caseTName, caseTNEqual, caseTNewLine, caseTNot, caseTOr, caseTPackagekey, caseTPlus, caseTRBrace, caseTRBracket, caseTReal, caseTRPar, caseTSemicolon, caseTSimpleTypeName, caseTStringLit, caseTTab, caseTTBag, caseTTCollection, caseTTElse, caseTTIf, caseTTIn, caseTTInv, caseTTLet, caseTTPost, caseTTPre, caseTTSequence, caseTTSet, caseTTThen, caseTXor, getIn, getOut, setIn, setOut |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public TypeCheckVisitor(tudresden.ocl.OclTree tree, tudresden.ocl.check.types.TypeFactory tf)
tree
- tf
- Method Detail |
public void inStart(tudresden.ocl.parser.node.Start s)
public void inAConstraint(tudresden.ocl.parser.node.AConstraint c)
public void outAConstraintBody(tudresden.ocl.parser.node.AConstraintBody cb)
public void caseAExpression(tudresden.ocl.parser.node.AExpression e)
public void outAIfExpression(tudresden.ocl.parser.node.AIfExpression ie)
public void outALogicalExpression(tudresden.ocl.parser.node.ALogicalExpression le)
public void outARelationalExpression(tudresden.ocl.parser.node.ARelationalExpression re)
public void caseAAdditiveExpression(tudresden.ocl.parser.node.AAdditiveExpression ae)
public void outAMultiplicativeExpression(tudresden.ocl.parser.node.AMultiplicativeExpression me)
public void outAPostfixUnaryExpression(tudresden.ocl.parser.node.APostfixUnaryExpression ue)
public void outAUnaryUnaryExpression(tudresden.ocl.parser.node.AUnaryUnaryExpression ue)
public void caseAPostfixExpression(tudresden.ocl.parser.node.APostfixExpression poex)
public void inAFeatureCall(tudresden.ocl.parser.node.AFeatureCall fc)
public void outALitColPrimaryExpression(tudresden.ocl.parser.node.ALitColPrimaryExpression lce)
public void outALiteralPrimaryExpression(tudresden.ocl.parser.node.ALiteralPrimaryExpression lpe)
public void caseAFeaturePrimaryExpression(tudresden.ocl.parser.node.AFeaturePrimaryExpression fpe)
public void outAParenthesesPrimaryExpression(tudresden.ocl.parser.node.AParenthesesPrimaryExpression ppe)
public void outAIfPrimaryExpression(tudresden.ocl.parser.node.AIfPrimaryExpression ipe)
public void outAStringLiteral(tudresden.ocl.parser.node.AStringLiteral sl)
public void outARealLiteral(tudresden.ocl.parser.node.ARealLiteral rl)
public void outAIntegerLiteral(tudresden.ocl.parser.node.AIntegerLiteral il)
public void outABooleanLiteral(tudresden.ocl.parser.node.ABooleanLiteral bl)
public void outAEnumLiteral(tudresden.ocl.parser.node.AEnumLiteral el)
public void outALiteralCollection(tudresden.ocl.parser.node.ALiteralCollection lc)
public void outAExpressionListOrRange(tudresden.ocl.parser.node.AExpressionListOrRange elor)
public void outAPathSimpleTypeSpecifier(tudresden.ocl.parser.node.APathSimpleTypeSpecifier psts)
public void outAPathTypeName(tudresden.ocl.parser.node.APathTypeName ptn)
public void inACollectionTypeName(tudresden.ocl.parser.node.ACollectionTypeName ctn)
public void inANonCollectionTypeName(tudresden.ocl.parser.node.ANonCollectionTypeName nctn)
public void outATypeNamePathNameBegin(tudresden.ocl.parser.node.ATypeNamePathNameBegin tnpnb)
public void defaultCase(tudresden.ocl.parser.node.Node node)
public int getCol()
public int getLine()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |