Lines Matching refs:FCS

825   void checkPostStmt(const ObjCForCollectionStmt *FCS, CheckerContext &C) const;
862 const ObjCForCollectionStmt *FCS) { in checkCollectionNonNil() argument
866 SVal CollectionVal = C.getSVal(FCS->getCollection()); in checkCollectionNonNil()
888 const ObjCForCollectionStmt *FCS) { in checkElementNonNil() argument
893 if (!isKnownNonNilCollectionType(FCS->getCollection()->getType())) in checkElementNonNil()
897 const Stmt *Element = FCS->getElement(); in checkElementNonNil()
952 const ObjCForCollectionStmt *FCS, in assumeCollectionNonEmpty() argument
957 SymbolRef CollectionS = C.getSVal(FCS->getCollection()).getAsSymbol(); in assumeCollectionNonEmpty()
963 const ObjCForCollectionStmt *FCS) { in alreadyExecutedAtLeastOneLoopIteration() argument
969 return BE->getSrc()->getLoopTarget() == FCS; in alreadyExecutedAtLeastOneLoopIteration()
974 if (alreadyExecutedAtLeastOneLoopIteration(N, FCS)) in alreadyExecutedAtLeastOneLoopIteration()
981 void ObjCLoopChecker::checkPostStmt(const ObjCForCollectionStmt *FCS, in checkPostStmt() argument
986 if (!ExprEngine::hasMoreIteration(State, FCS, C.getLocationContext())) { in checkPostStmt()
987 if (!alreadyExecutedAtLeastOneLoopIteration(C.getPredecessor(), FCS)) in checkPostStmt()
988 State = assumeCollectionNonEmpty(C, State, FCS, /*Assumption*/false); in checkPostStmt()
992 State = checkCollectionNonNil(C, State, FCS); in checkPostStmt()
993 State = checkElementNonNil(C, State, FCS); in checkPostStmt()
994 State = assumeCollectionNonEmpty(C, State, FCS, /*Assumption*/true); in checkPostStmt()