Lines Matching refs:LC
127 const LocationContext *LC) in ConstructedObjectKey() argument
128 : Impl(Item, LC) {} in ConstructedObjectKey()
314 ProgramStateRef State, const LocationContext *LC, in createTemporaryRegionIfNeeded() argument
322 SVal InitValWithAdjustments = State->getSVal(InitWithAdjustments, LC); in createTemporaryRegionIfNeeded()
378 if (Optional<SVal> V = getObjectUnderConstruction(State, MT, LC)) { in createTemporaryRegionIfNeeded()
379 State = finishObjectConstruction(State, MT, LC); in createTemporaryRegionIfNeeded()
380 State = State->BindExpr(Result, LC, *V); in createTemporaryRegionIfNeeded()
389 TR = MRMgr.getCXXTempObjectRegion(Init, LC); in createTemporaryRegionIfNeeded()
393 TR = MRMgr.getCXXTempObjectRegion(Init, LC); in createTemporaryRegionIfNeeded()
411 currBldrCtx->blockCount(), LC, true, in createTemporaryRegionIfNeeded()
425 SVal InitVal = State->getSVal(Init, LC); in createTemporaryRegionIfNeeded()
427 InitVal = getSValBuilder().conjureSymbolVal(Result, LC, Init->getType(), in createTemporaryRegionIfNeeded()
429 State = State->bindLoc(BaseReg.castAs<Loc>(), InitVal, LC, false); in createTemporaryRegionIfNeeded()
437 Result, LC, InitWithAdjustments->getType(), in createTemporaryRegionIfNeeded()
441 State->bindLoc(Reg.castAs<Loc>(), InitValWithAdjustments, LC, false); in createTemporaryRegionIfNeeded()
443 State = State->bindLoc(BaseReg.castAs<Loc>(), InitVal, LC, false); in createTemporaryRegionIfNeeded()
450 State = State->BindExpr(Result, LC, Reg); in createTemporaryRegionIfNeeded()
452 State = State->BindExpr(Result, LC, InitValWithAdjustments); in createTemporaryRegionIfNeeded()
456 State = processRegionChange(State, TR, LC); in createTemporaryRegionIfNeeded()
523 const LocationContext *LC, SVal V) { in addObjectUnderConstruction() argument
524 ConstructedObjectKey Key(Item, LC->getStackFrame()); in addObjectUnderConstruction()
554 {dyn_cast_or_null<CXXConstructExpr>(Init), LC})) && in addObjectUnderConstruction()
563 const LocationContext *LC) { in getObjectUnderConstruction() argument
564 ConstructedObjectKey Key(Item, LC->getStackFrame()); in getObjectUnderConstruction()
571 const LocationContext *LC) { in finishObjectConstruction() argument
572 ConstructedObjectKey Key(Item, LC->getStackFrame()); in finishObjectConstruction()
579 const LocationContext *LC) { in elideDestructor() argument
580 ConstructedObjectKey Key({BTE, /*IsElided=*/true}, LC); in elideDestructor()
589 const LocationContext *LC) { in cleanupElidedDestructor() argument
590 ConstructedObjectKey Key({BTE, /*IsElided=*/true}, LC); in cleanupElidedDestructor()
597 const LocationContext *LC) { in isDestructorElided() argument
598 ConstructedObjectKey Key({BTE, /*IsElided=*/true}, LC); in isDestructorElided()
605 const LocationContext *LC = FromLC; in areAllObjectsFullyConstructed() local
606 while (LC != ToLC) { in areAllObjectsFullyConstructed()
607 assert(LC && "ToLC must be a parent of FromLC!"); in areAllObjectsFullyConstructed()
609 if (I.first.getLocationContext() == LC) in areAllObjectsFullyConstructed()
612 LC = LC->getParent(); in areAllObjectsFullyConstructed()
759 LCtx->printJson(Out, NL, Space, IsDot, [&](const LocationContext *LC) { in printJson() argument
760 printObjectsUnderConstructionJson(Out, State, NL, LC, Space, IsDot); in printJson()
775 LCtx->printJson(Out, NL, Space, IsDot, [&](const LocationContext *LC) { in printJson() argument
776 printIndicesOfElementsToConstructJson(Out, State, NL, LC, Context, Space, in printJson()
835 const LocationContext *LC) { in shouldRemoveDeadBindings() argument
854 ParentMap &PM = LC->getAnalysisDeclContext()->getParentMap(); in shouldRemoveDeadBindings()
860 const LocationContext *LC, in removeDead() argument
866 assert(LC && "Must pass the current (or expiring) LocationContext"); in removeDead()
882 LC = LC->getParent(); in removeDead()
885 const StackFrameContext *SFC = LC ? LC->getStackFrame() : nullptr; in removeDead()
990 const LocationContext *LC = Pred->getLocationContext(); in ProcessInitializer() local
1010 if (getObjectUnderConstruction(State, BMI, LC)) { in ProcessInitializer()
1013 State = finishObjectConstruction(State, BMI, LC); in ProcessInitializer()
1015 PostStore PS(Init, LC, /*Loc*/ nullptr, /*tag*/ nullptr); in ProcessInitializer()
1243 const LocationContext *LC = Pred->getLocationContext(); in ProcessTemporaryDtor() local
1259 if (isDestructorElided(State, BTE, LC)) { in ProcessTemporaryDtor()
1260 State = cleanupElidedDestructor(State, BTE, LC); in ProcessTemporaryDtor()
1307 const LocationContext *LC = Pred->getLocationContext(); in processCleanupTemporaryBranch() local
1308 if (getObjectUnderConstruction(State, BTE, LC)) { in processCleanupTemporaryBranch()
1332 const LocationContext *LC = Node->getLocationContext(); in VisitCXXBindTemporaryExpr() local
1333 if (!getObjectUnderConstruction(State, BTE, LC)) { in VisitCXXBindTemporaryExpr()
1338 State = addObjectUnderConstruction(State, BTE, LC, UnknownVal()); in VisitCXXBindTemporaryExpr()
2330 const LocationContext *LC, bool HasMoreIteraton) { in REGISTER_MAP_WITH_PROGRAMSTATE()
2331 assert(!State->contains<ObjCForHasMoreIterations>({O, LC})); in REGISTER_MAP_WITH_PROGRAMSTATE()
2332 return State->set<ObjCForHasMoreIterations>({O, LC}, HasMoreIteraton); in REGISTER_MAP_WITH_PROGRAMSTATE()
2338 const LocationContext *LC) { in removeIterationState() argument
2339 assert(State->contains<ObjCForHasMoreIterations>({O, LC})); in removeIterationState()
2340 return State->remove<ObjCForHasMoreIterations>({O, LC}); in removeIterationState()
2345 const LocationContext *LC) { in hasMoreIteration() argument
2346 assert(State->contains<ObjCForHasMoreIterations>({O, LC})); in hasMoreIteration()
2347 return *State->get<ObjCForHasMoreIterations>({O, LC}); in hasMoreIteration()
2575 const LocationContext *LC = FromLC; in processEndOfFunction() local
2576 while (LC != ToLC) { in processEndOfFunction()
2577 assert(LC && "ToLC must be a parent of FromLC!"); in processEndOfFunction()
2579 if (I.first.getLocationContext() == LC) { in processEndOfFunction()
2589 LC = LC->getParent(); in processEndOfFunction()
3222 const LocationContext *LC = Pred->getLocationContext(); in evalBind() local
3223 PostStmt PS(StoreE, LC); in evalBind()
3237 const ProgramPoint L = PostStore(StoreE, LC, /*Loc*/nullptr, in evalBind()
3240 state = processPointerEscapedOnBind(state, location, Val, LC); in evalBind()
3248 state = processPointerEscapedOnBind(state, location, Val, LC); in evalBind()
3254 Val, LC, /* notifyChanges = */ !atDeclInit); in evalBind()
3262 const ProgramPoint L = PostStore(StoreE, LC, LocReg, nullptr); in evalBind()