com.veromodo.tempo.sem
Class ExprNarrowTypes

java.lang.Object
  extended by com.veromodo.tempo.ast.ASTHVisitor
      extended by com.veromodo.tempo.sem.ExprNarrowTypes
All Implemented Interfaces:
ASTIVisitor
Direct Known Subclasses:
ExprNarrowTypesInfer

public class ExprNarrowTypes
extends ASTHVisitor


Nested Class Summary
 class ExprNarrowTypes.TypeSelection<T>
           
 
Constructor Summary
ExprNarrowTypes(Environment e)
           
 
Method Summary
 void applyASTBinary(ASTBinary n)
           
 void applyASTCall(ASTCall n)
           
 void applyASTChoose(ASTChoose n)
           
 void applyASTCond(ASTCond n)
           
 void applyASTDerefArray(ASTDerefArray n)
           
 void applyASTDerefField(ASTDerefField n)
           
 void applyASTExprId(ASTExprId n)
           
 void applyASTExprLiteral(ASTExprLiteral n)
           
 void applyASTMixCBraceOp(ASTMixCBraceOp n)
           
 void applyASTNDRChoose(ASTNDRChoose n)
           
 void applyASTQExist(ASTQExist n)
           
 void applyASTQForall(ASTQForall n)
           
 void applyASTSetof(ASTSetof n)
           
 void applyASTTupleConstructor(ASTTupleConstructor n)
           
 void applyASTTypeSelector(ASTTypeSelector n)
           
 void applyASTUnary(ASTUnary n)
           
 void narrowIt(ASTNode n, SetOfType t)
           
 
Methods inherited from class com.veromodo.tempo.ast.ASTHVisitor
applyASTAction, applyASTActionFormal, applyASTActionFormalConst, applyASTActionFormalName, applyASTActionFormalTypedIdList, applyASTActionSet, applyASTActual, applyASTActualExpr, applyASTActualType, applyASTAdd, applyASTAnd, applyASTAssignment, applyASTAutomaton, applyASTBackwardSim, applyASTBasicAutomaton, applyASTBinOp, applyASTBlock, applyASTComponent, applyASTComponentDef, applyASTComponentInst, applyASTCompositeAutomaton, applyASTDecl, applyASTDeclFields, applyASTDeclFun, applyASTDeclLocals, applyASTDeclScheduleLocal, applyASTDeclVar, applyASTDeclVocabulary, applyASTDefType, applyASTDiv, applyASTEffect, applyASTEqual, applyASTEquiv, applyASTExpr, applyASTFire, applyASTFireInput, applyASTFireInternal, applyASTFireOutput, applyASTFloatLiteral, applyASTFollow, applyASTForClause, applyASTForLoop, applyASTFormal, applyASTForwardSim, applyASTGEqual, applyASTGreater, applyASTIdentifier, applyASTIdOrNum, applyASTIfThen, applyASTIfThenElse, applyASTImply, applyASTIntLiteral, applyASTInvariant, applyASTLEqual, applyASTLess, applyASTList, applyASTListActionFormal, applyASTListActionSet, applyASTListActual, applyASTListComponent, applyASTListDeclFuns, applyASTListDeclLocals, applyASTListDeclScheduleLocal, applyASTListDefType, applyASTListFields, applyASTListFormal, applyASTListFormula, applyASTListId, applyASTListIdOrNum, applyASTListName, applyASTListOperatorSignature, applyASTListProofUsing, applyASTListRoot, applyASTListSignature, applyASTListSimProofEntry, applyASTListStartEntry, applyASTListState, applyASTListStatement, applyASTListTask, applyASTListTrajectories, applyASTListTrajRef, applyASTListTransition, applyASTListType, applyASTListVocabRef, applyASTLiteral, applyASTMSGInvoke, applyASTMSGInvokeInput, applyASTMSGInvokeInternal, applyASTMSGInvokeOutput, applyASTMul, applyASTNDRFire, applyASTNDRFireInput, applyASTNDRFireInternal, applyASTNDRFireOutput, applyASTNDRFollow, applyASTNDRIfThen, applyASTNDRIfThenElse, applyASTNDRWhile, applyASTNDRYield, applyASTNeg, applyASTNEqual, applyASTNode, applyASTNot, applyASTNotation, applyASTNotationFun, applyASTNotationInfix, applyASTNotationInfixRight, applyASTNotationITE, applyASTNotationMixBracket, applyASTNotationMixCBrace, applyASTNotationMixFix, applyASTNotationPrefix, applyASTNotationSuffix, applyASTOperator, applyASTOperatorSignature, applyASTOr, applyASTPost, applyASTPow, applyASTProofFire, applyASTProofFollow, applyASTProofIfThen, applyASTProofIfThenElse, applyASTProofStatement, applyASTProofUsing, applyASTProofWhile, applyASTQuantified, applyASTRoot, applyASTRootDeclFuns, applyASTRootDeclTypes, applyASTRootDeclVocab, applyASTRootVocabRef, applyASTSchedule, applyASTSignature, applyASTSimProof, applyASTSimProofAction, applyASTSimProofEntry, applyASTSimulation, applyASTStartEntry, applyASTState, applyASTStatement, applyASTSub, applyASTTask, applyASTTrajectory, applyASTTrajEntry, applyASTTrajRef, applyASTTransEntry, applyASTTransition, applyASTType, applyASTTypeAlias, applyASTTypeEnum, applyASTTypeFunction, applyASTTypeGeneric, applyASTTypeId, applyASTTypeParameter, applyASTTypeTuple, applyASTTypeUnion, applyASTVocabRef, applyASTWhile
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExprNarrowTypes

public ExprNarrowTypes(Environment e)
Method Detail

narrowIt

public void narrowIt(ASTNode n,
                     SetOfType t)

applyASTTupleConstructor

public void applyASTTupleConstructor(ASTTupleConstructor n)
Specified by:
applyASTTupleConstructor in interface ASTIVisitor
Overrides:
applyASTTupleConstructor in class ASTHVisitor

applyASTMixCBraceOp

public void applyASTMixCBraceOp(ASTMixCBraceOp n)
Specified by:
applyASTMixCBraceOp in interface ASTIVisitor
Overrides:
applyASTMixCBraceOp in class ASTHVisitor

applyASTUnary

public void applyASTUnary(ASTUnary n)
Specified by:
applyASTUnary in interface ASTIVisitor
Overrides:
applyASTUnary in class ASTHVisitor

applyASTBinary

public void applyASTBinary(ASTBinary n)
Specified by:
applyASTBinary in interface ASTIVisitor
Overrides:
applyASTBinary in class ASTHVisitor

applyASTCall

public void applyASTCall(ASTCall n)
Specified by:
applyASTCall in interface ASTIVisitor
Overrides:
applyASTCall in class ASTHVisitor

applyASTDerefArray

public void applyASTDerefArray(ASTDerefArray n)
Specified by:
applyASTDerefArray in interface ASTIVisitor
Overrides:
applyASTDerefArray in class ASTHVisitor

applyASTDerefField

public void applyASTDerefField(ASTDerefField n)
Specified by:
applyASTDerefField in interface ASTIVisitor
Overrides:
applyASTDerefField in class ASTHVisitor

applyASTTypeSelector

public void applyASTTypeSelector(ASTTypeSelector n)
Specified by:
applyASTTypeSelector in interface ASTIVisitor
Overrides:
applyASTTypeSelector in class ASTHVisitor

applyASTChoose

public void applyASTChoose(ASTChoose n)
Specified by:
applyASTChoose in interface ASTIVisitor
Overrides:
applyASTChoose in class ASTHVisitor

applyASTNDRChoose

public void applyASTNDRChoose(ASTNDRChoose n)
Specified by:
applyASTNDRChoose in interface ASTIVisitor
Overrides:
applyASTNDRChoose in class ASTHVisitor

applyASTCond

public void applyASTCond(ASTCond n)
Specified by:
applyASTCond in interface ASTIVisitor
Overrides:
applyASTCond in class ASTHVisitor

applyASTExprId

public void applyASTExprId(ASTExprId n)
Specified by:
applyASTExprId in interface ASTIVisitor
Overrides:
applyASTExprId in class ASTHVisitor

applyASTExprLiteral

public void applyASTExprLiteral(ASTExprLiteral n)
Specified by:
applyASTExprLiteral in interface ASTIVisitor
Overrides:
applyASTExprLiteral in class ASTHVisitor

applyASTQExist

public void applyASTQExist(ASTQExist n)
Specified by:
applyASTQExist in interface ASTIVisitor
Overrides:
applyASTQExist in class ASTHVisitor

applyASTQForall

public void applyASTQForall(ASTQForall n)
Specified by:
applyASTQForall in interface ASTIVisitor
Overrides:
applyASTQForall in class ASTHVisitor

applyASTSetof

public void applyASTSetof(ASTSetof n)
Specified by:
applyASTSetof in interface ASTIVisitor
Overrides:
applyASTSetof in class ASTHVisitor