Lines Matching refs:State

141   ProgramStateRef State = C.getState();  in warnIfNilExpr()  local
142 if (State->isNull(C.getSVal(E)).isConstrainedTrue()) { in warnIfNilExpr()
156 ProgramStateRef State = C.getState(); in warnIfNilArg() local
157 if (!State->isNull(msg.getArgSVal(Arg)).isConstrainedTrue()) in warnIfNilArg()
823 ProgramStateRef checkPointerEscape(ProgramStateRef State,
856 ProgramStateRef State, in checkCollectionNonNil() argument
858 if (!State) in checkCollectionNonNil()
864 return State; in checkCollectionNonNil()
867 std::tie(StNonNil, StNil) = State->assume(*KnownCollection); in checkCollectionNonNil()
881 ProgramStateRef State, in checkElementNonNil() argument
883 if (!State) in checkElementNonNil()
888 return State; in checkElementNonNil()
898 ElementLoc = State->getLValue(ElemDecl, LCtx); in checkElementNonNil()
900 ElementLoc = State->getSVal(Element, LCtx).getAs<Loc>(); in checkElementNonNil()
904 return State; in checkElementNonNil()
907 SVal Val = State->getSVal(*ElementLoc); in checkElementNonNil()
908 return State->assume(Val.castAs<DefinedOrUnknownSVal>(), true); in checkElementNonNil()
914 assumeCollectionNonEmpty(CheckerContext &C, ProgramStateRef State, in assumeCollectionNonEmpty() argument
916 if (!State || !CollectionS) in assumeCollectionNonEmpty()
917 return State; in assumeCollectionNonEmpty()
919 const SymbolRef *CountS = State->get<ContainerCountMap>(CollectionS); in assumeCollectionNonEmpty()
921 const bool *KnownNonEmpty = State->get<ContainerNonEmptyMap>(CollectionS); in assumeCollectionNonEmpty()
923 return State->set<ContainerNonEmptyMap>(CollectionS, Assumption); in assumeCollectionNonEmpty()
924 return (Assumption == *KnownNonEmpty) ? State : nullptr; in assumeCollectionNonEmpty()
929 SvalBuilder.evalBinOp(State, BO_GT, in assumeCollectionNonEmpty()
938 return State; in assumeCollectionNonEmpty()
941 return State->assume(*CountGreaterThanZero, Assumption); in assumeCollectionNonEmpty()
945 assumeCollectionNonEmpty(CheckerContext &C, ProgramStateRef State, in assumeCollectionNonEmpty() argument
948 if (!State) in assumeCollectionNonEmpty()
952 return assumeCollectionNonEmpty(C, State, CollectionS, Assumption); in assumeCollectionNonEmpty()
978 ProgramStateRef State = C.getState(); in checkPostStmt() local
984 State = assumeCollectionNonEmpty(C, State, FCS, /*Assumption*/false); in checkPostStmt()
988 State = checkCollectionNonNil(C, State, FCS); in checkPostStmt()
989 State = checkElementNonNil(C, State, FCS); in checkPostStmt()
990 State = assumeCollectionNonEmpty(C, State, FCS, /*Assumption*/true); in checkPostStmt()
993 if (!State) in checkPostStmt()
995 else if (State != C.getState()) in checkPostStmt()
996 C.addTransition(State); in checkPostStmt()
1039 ProgramStateRef State = C.getState(); in checkPostObjCMessage() local
1042 State = State->set<ContainerCountMap>(ContainerS, CountS); in checkPostObjCMessage()
1044 if (const bool *NonEmpty = State->get<ContainerNonEmptyMap>(ContainerS)) { in checkPostObjCMessage()
1045 State = State->remove<ContainerNonEmptyMap>(ContainerS); in checkPostObjCMessage()
1046 State = assumeCollectionNonEmpty(C, State, ContainerS, *NonEmpty); in checkPostObjCMessage()
1049 C.addTransition(State); in checkPostObjCMessage()
1092 ObjCLoopChecker::checkPointerEscape(ProgramStateRef State, in checkPointerEscape() argument
1113 State = State->remove<ContainerCountMap>(Sym); in checkPointerEscape()
1114 State = State->remove<ContainerNonEmptyMap>(Sym); in checkPointerEscape()
1116 return State; in checkPointerEscape()
1121 ProgramStateRef State = C.getState(); in checkDeadSymbols() local
1124 ContainerCountMapTy Tracked = State->get<ContainerCountMap>(); in checkDeadSymbols()
1129 State = State->remove<ContainerCountMap>(Sym); in checkDeadSymbols()
1130 State = State->remove<ContainerNonEmptyMap>(Sym); in checkDeadSymbols()
1134 C.addTransition(State); in checkDeadSymbols()
1155 ProgramStateRef State,
1177 ProgramStateRef State, in assumeExprIsNonNull() argument
1181 return State->assume(*DV, true); in assumeExprIsNonNull()
1182 return State; in assumeExprIsNonNull()
1188 ProgramStateRef State = C.getState(); in checkPostObjCMessage() local
1211 State = assumeExprIsNonNull(M.getOriginExpr(), State, C); in checkPostObjCMessage()
1223 State = assumeExprIsNonNull(M.getOriginExpr(), State, C); in checkPostObjCMessage()
1231 State = assumeExprIsNonNull(M.getOriginExpr(), State, C); in checkPostObjCMessage()
1235 C.addTransition(State); in checkPostObjCMessage()