Lines Matching refs:FCS

818   void checkPostStmt(const ObjCForCollectionStmt *FCS, CheckerContext &C) const;
855 const ObjCForCollectionStmt *FCS) { in checkCollectionNonNil() argument
859 SVal CollectionVal = C.getSVal(FCS->getCollection()); in checkCollectionNonNil()
880 const ObjCForCollectionStmt *FCS) { in checkElementNonNil() argument
885 if (!isKnownNonNilCollectionType(FCS->getCollection()->getType())) in checkElementNonNil()
889 const Stmt *Element = FCS->getElement(); in checkElementNonNil()
944 const ObjCForCollectionStmt *FCS, in assumeCollectionNonEmpty() argument
949 SymbolRef CollectionS = C.getSVal(FCS->getCollection()).getAsSymbol(); in assumeCollectionNonEmpty()
955 const ObjCForCollectionStmt *FCS) { in alreadyExecutedAtLeastOneLoopIteration() argument
961 return BE->getSrc()->getLoopTarget() == FCS; in alreadyExecutedAtLeastOneLoopIteration()
967 if (alreadyExecutedAtLeastOneLoopIteration(*I, FCS)) in alreadyExecutedAtLeastOneLoopIteration()
974 void ObjCLoopChecker::checkPostStmt(const ObjCForCollectionStmt *FCS, in checkPostStmt() argument
979 if (!ExprEngine::hasMoreIteration(State, FCS, C.getLocationContext())) { in checkPostStmt()
980 if (!alreadyExecutedAtLeastOneLoopIteration(C.getPredecessor(), FCS)) in checkPostStmt()
981 State = assumeCollectionNonEmpty(C, State, FCS, /*Assumption*/false); in checkPostStmt()
985 State = checkCollectionNonNil(C, State, FCS); in checkPostStmt()
986 State = checkElementNonNil(C, State, FCS); in checkPostStmt()
987 State = assumeCollectionNonEmpty(C, State, FCS, /*Assumption*/true); in checkPostStmt()