Lines Matching refs:State
88 ProgramStateRef State = (*I)->getState(); in performTrivialCopy() local
90 State = State->BindExpr(CallExpr, LCtx, ThisVal); in performTrivialCopy()
92 State = bindReturnValue(Call, LCtx, State); in performTrivialCopy()
93 Bldr.generateNode(PS, State, *I); in performTrivialCopy()
97 SVal ExprEngine::makeElementRegion(ProgramStateRef State, SVal LValue, in makeElementRegion() argument
99 SValBuilder &SVB = State->getStateManager().getSValBuilder(); in makeElementRegion()
107 LValue = State->getLValue(Ty, SVB.makeArrayIndex(Idx), LValue); in makeElementRegion()
115 const Expr *E, ProgramStateRef State, const LocationContext *LCtx, in computeObjectUnderConstruction() argument
130 return makeElementRegion(State, State->getLValue(Var, LCtx), Ty, in computeObjectUnderConstruction()
139 SVal ThisVal = State->getSVal(ThisPtr); in computeObjectUnderConstruction()
156 FieldVal = State->getLValue(Init->getIndirectMember(), ThisVal); in computeObjectUnderConstruction()
159 FieldVal = State->getLValue(Init->getMember(), ThisVal); in computeObjectUnderConstruction()
163 return makeElementRegion(State, FieldVal, Ty, CallOpts.IsArrayCtorOrDtor, in computeObjectUnderConstruction()
170 SVal V = *getObjectUnderConstruction(State, NE, LCtx); in computeObjectUnderConstruction()
213 cast<Expr>(SFC->getCallSite()), State, CallerLCtx, in computeObjectUnderConstruction()
249 ProgramStateRef PreElideState = State; in computeObjectUnderConstruction()
253 TCC->getConstructorAfterElision(), State, LCtx, in computeObjectUnderConstruction()
302 if (getIndexOfElementToConstruct(State, CE, LCtx)) { in computeObjectUnderConstruction()
304 Base = State->getLValue(E->getType(), svalBuilder.makeArrayIndex(Idx), in computeObjectUnderConstruction()
348 CallEventRef<> Caller = CEMgr.getSimpleCall(CE, State, LCtx); in computeObjectUnderConstruction()
357 CEMgr.getCXXConstructorCall(CCE, /*Target=*/nullptr, State, LCtx); in computeObjectUnderConstruction()
363 CallEventRef<> Caller = CEMgr.getObjCMethodCall(ME, State, LCtx); in computeObjectUnderConstruction()
380 SVal V, const Expr *E, ProgramStateRef State, const LocationContext *LCtx, in updateObjectsUnderConstruction() argument
385 return State; in updateObjectsUnderConstruction()
395 return addObjectUnderConstruction(State, DSCC->getDeclStmt(), LCtx, V); in updateObjectsUnderConstruction()
405 return addObjectUnderConstruction(State, Init, LCtx, V); in updateObjectsUnderConstruction()
408 return State; in updateObjectsUnderConstruction()
416 return State; in updateObjectsUnderConstruction()
430 cast<Expr>(SFC->getCallSite()), State, CallerLCtx, in updateObjectsUnderConstruction()
437 State = updateObjectsUnderConstruction( in updateObjectsUnderConstruction()
438 V, TCC->getConstructorAfterElision(), State, LCtx, in updateObjectsUnderConstruction()
442 State = addObjectUnderConstruction( in updateObjectsUnderConstruction()
443 State, TCC->getConstructorAfterElision(), LCtx, V); in updateObjectsUnderConstruction()
447 State = elideDestructor(State, BTE, LCtx); in updateObjectsUnderConstruction()
452 State = addObjectUnderConstruction(State, MTE, LCtx, V); in updateObjectsUnderConstruction()
454 return State; in updateObjectsUnderConstruction()
463 State = addObjectUnderConstruction(State, BTE, LCtx, V); in updateObjectsUnderConstruction()
466 State = addObjectUnderConstruction(State, MTE, LCtx, V); in updateObjectsUnderConstruction()
468 return State; in updateObjectsUnderConstruction()
479 State, {LCC->getLambdaExpr(), LCC->getIndex()}, LCtx, V); in updateObjectsUnderConstruction()
484 State = addObjectUnderConstruction(State, BTE, LCtx, V); in updateObjectsUnderConstruction()
487 State, {ACC->getCallLikeExpr(), ACC->getIndex()}, LCtx, V); in updateObjectsUnderConstruction()
494 bindRequiredArrayElementToEnvironment(ProgramStateRef State, in bindRequiredArrayElementToEnvironment() argument
535 Base = State->getSVal(ME, LCtx); in bindRequiredArrayElementToEnvironment()
537 Base = State->getLValue(cast<VarDecl>(DRE->getDecl()), LCtx); in bindRequiredArrayElementToEnvironment()
541 SVal NthElem = State->getLValue(CE->getType(), Idx, Base); in bindRequiredArrayElementToEnvironment()
543 return State->BindExpr(CE->getArg(0), LCtx, NthElem); in bindRequiredArrayElementToEnvironment()
554 ProgramStateRef State = Pred->getState(); in handleConstructor() local
560 getObjectUnderConstruction(State, CE, LCtx)) { in handleConstructor()
566 State = finishObjectConstruction(State, CE, LCtx); in handleConstructor()
568 State = State->BindExpr(CE, LCtx, State->getSVal(*L, CE->getType())); in handleConstructor()
569 Bldr.generateNode(CE, Pred, State); in handleConstructor()
592 Idx = getIndexOfElementToConstruct(State, CE, LCtx).value_or(0u); in handleConstructor()
593 State = setIndexOfElementToConstruct(State, CE, LCtx, Idx + 1); in handleConstructor()
598 if (!getPendingInitLoop(State, CE, LCtx)) in handleConstructor()
599 State = setPendingInitLoop(State, CE, LCtx, in handleConstructor()
602 State = bindRequiredArrayElementToEnvironment( in handleConstructor()
603 State, AILE, LCtx, svalBuilder.makeArrayIndex(Idx)); in handleConstructor()
607 std::tie(State, Target) = in handleConstructor()
608 handleConstructionContext(CE, State, LCtx, CC, CallOpts, Idx); in handleConstructor()
648 SVal ThisVal = State->getSVal(ThisPtr); in handleConstructor()
663 if (State != Pred->getState()) { in handleConstructor()
668 BldrPrepare.generateNode(E, Pred, State, &T, ProgramPoint::PreStmtKind); in handleConstructor()
679 CIE, TargetRegion, State, LCtx) in handleConstructor()
681 CE, TargetRegion, State, LCtx); in handleConstructor()
693 ProgramStateRef State = (*I)->getState(); in handleConstructor() local
707 State = State->bindDefaultZero(Target, LCtx); in handleConstructor()
710 Bldr.generateNode(CE, *I, State, /*tag=*/nullptr, in handleConstructor()
810 ProgramStateRef State = Pred->getState(); in VisitCXXDestructor() local
848 CEMgr.getCXXDestructorCall(DtorDecl, S, Dest, IsBaseDtor, State, LCtx); in VisitCXXDestructor()
871 ProgramStateRef State = Pred->getState(); in VisitCXXNewAllocatorCall() local
878 CEMgr.getCXXAllocatorCall(CNE, State, LCtx); in VisitCXXNewAllocatorCall()
906 ProgramStateRef State = I->getState(); in VisitCXXNewAllocatorCall() local
907 SVal RetVal = State->getSVal(CNE, LCtx); in VisitCXXNewAllocatorCall()
920 State = State->assume(RetVal.castAs<DefinedOrUnknownSVal>(), true); in VisitCXXNewAllocatorCall()
924 CNE, I, addObjectUnderConstruction(State, CNE, LCtx, RetVal)); in VisitCXXNewAllocatorCall()
950 ProgramStateRef State = Pred->getState(); in VisitCXXNewExpr() local
954 symVal = *getObjectUnderConstruction(State, CNE, LCtx); in VisitCXXNewExpr()
955 State = finishObjectConstruction(State, CNE, LCtx); in VisitCXXNewExpr()
971 CEMgr.getCXXAllocatorCall(CNE, State, LCtx); in VisitCXXNewExpr()
978 State = Call->invalidateRegions(blockCount); in VisitCXXNewExpr()
979 if (!State) in VisitCXXNewExpr()
992 State = State->assume(*dSymVal, true); in VisitCXXNewExpr()
1019 Pred = Bldr.generateNode(CNE, Pred, State); in VisitCXXNewExpr()
1021 SVal V = State->getSVal(Init, LCtx); in VisitCXXNewExpr()
1029 State = Pred->getState(); in VisitCXXNewExpr()
1033 State = State->BindExpr(CNE, Pred->getLocationContext(), Result); in VisitCXXNewExpr()
1034 Bldr.generateNode(CNE, Pred, State); in VisitCXXNewExpr()
1044 SVal PlacementLoc = State->getSVal(CNE->getPlacementArg(0), LCtx); in VisitCXXNewExpr()
1050 State = State->BindExpr(CNE, LCtx, Result); in VisitCXXNewExpr()
1051 ExplodedNode *NewN = Bldr.generateNode(CNE, Pred, State); in VisitCXXNewExpr()
1061 evalBind(Dst, CNE, NewN, Result, State->getSVal(Init, LCtx), in VisitCXXNewExpr()
1132 ProgramStateRef State = Pred->getState(); in VisitLambdaExpr() local
1142 SVal FieldLoc = State->getLValue(FieldForCapture, V); in VisitLambdaExpr()
1158 InitVal = *getObjectUnderConstruction(State, {LE, Idx}, LocCtxt); in VisitLambdaExpr()
1159 InitVal = State->getSVal(InitVal.getAsRegion()); in VisitLambdaExpr()
1161 State = finishObjectConstruction(State, {LE, Idx}, LocCtxt); in VisitLambdaExpr()
1163 InitVal = State->getSVal(InitExpr, LocCtxt); in VisitLambdaExpr()
1167 assert(!getObjectUnderConstruction(State, {LE, Idx}, LocCtxt) && in VisitLambdaExpr()
1174 InitVal = State->getSVal(SizeExpr, LocCtxt); in VisitLambdaExpr()
1177 State = State->bindLoc(FieldLoc, InitVal, LocCtxt); in VisitLambdaExpr()
1183 SVal LambdaRVal = State->getSVal(R); in VisitLambdaExpr()
1189 State->BindExpr(LE, LocCtxt, LambdaRVal), in VisitLambdaExpr()