Lines Matching refs:State
386 LatticeTransferState &State) { in transferUnwrapCall() argument
388 getLocBehindPossiblePointer(*ObjectExpr, State.Env))) { in transferUnwrapCall()
389 if (State.Env.getStorageLocation(*UnwrapExpr) == nullptr) in transferUnwrapCall()
390 State.Env.setStorageLocation(*UnwrapExpr, locForValue(*OptionalLoc)); in transferUnwrapCall()
395 LatticeTransferState &State) { in transferArrowOpCall() argument
397 getLocBehindPossiblePointer(*ObjectExpr, State.Env))) in transferArrowOpCall()
398 State.Env.setValue( in transferArrowOpCall()
399 *UnwrapExpr, State.Env.create<PointerValue>(locForValue(*OptionalLoc))); in transferArrowOpCall()
404 LatticeTransferState &State) { in transferMakeOptionalCall() argument
405 setHasValue(State.Env.getResultObjectLocation(*E), in transferMakeOptionalCall()
406 State.Env.getBoolLiteralValue(true), State.Env); in transferMakeOptionalCall()
411 LatticeTransferState &State) { in transferOptionalHasValueCall() argument
413 State.Env, getImplicitObjectLocation(*CallExpr, State.Env))) { in transferOptionalHasValueCall()
414 State.Env.setValue(*CallExpr, *HasValueVal); in transferOptionalHasValueCall()
422 LatticeTransferState &State, in transferValueOrImpl() argument
425 auto &Env = State.Env; in transferValueOrImpl()
431 getHasValue(State.Env, getImplicitObjectLocation(*MCE, State.Env)); in transferValueOrImpl()
441 LatticeTransferState &State) { in transferValueOrStringEmptyCall() argument
442 return transferValueOrImpl(ComparisonExpr, Result, State, in transferValueOrStringEmptyCall()
459 LatticeTransferState &State) { in transferValueOrNotEqX() argument
460 transferValueOrImpl(ComparisonExpr, Result, State, in transferValueOrNotEqX()
473 LatticeTransferState &State) { in transferCallReturningOptional() argument
476 Loc = &State.Env.getResultObjectLocation(*E); in transferCallReturningOptional()
478 Loc = State.Env.get<RecordStorageLocation>(*E); in transferCallReturningOptional()
480 Loc = &cast<RecordStorageLocation>(State.Env.createStorageLocation(*E)); in transferCallReturningOptional()
481 State.Env.setStorageLocation(*E, *Loc); in transferCallReturningOptional()
485 if (State.Env.getValue(locForHasValue(*Loc)) != nullptr) in transferCallReturningOptional()
488 setHasValue(*Loc, State.Env.makeAtomicBoolValue(), State.Env); in transferCallReturningOptional()
502 LatticeTransferState &State) { in valueOrConversionHasValue() argument
514 return State.Env.getBoolLiteralValue(true); in valueOrConversionHasValue()
520 auto *Loc = State.Env.get<RecordStorageLocation>(E); in valueOrConversionHasValue()
521 if (auto *HasValueVal = getHasValue(State.Env, Loc)) in valueOrConversionHasValue()
523 return State.Env.makeAtomicBoolValue(); in valueOrConversionHasValue()
528 LatticeTransferState &State) { in transferValueOrConversionConstructor() argument
532 *E, State.Env, in transferValueOrConversionConstructor()
535 MatchRes, State)); in transferValueOrConversionConstructor()
539 LatticeTransferState &State) { in transferAssignment() argument
542 if (auto *Loc = State.Env.get<RecordStorageLocation>(*E->getArg(0))) { in transferAssignment()
543 setHasValue(*Loc, HasValueVal, State.Env); in transferAssignment()
546 State.Env.setStorageLocation(*E, *Loc); in transferAssignment()
552 LatticeTransferState &State) { in transferValueOrConversionAssignment() argument
557 *E->getArg(1), MatchRes, State), in transferValueOrConversionAssignment()
558 State); in transferValueOrConversionAssignment()
563 LatticeTransferState &State) { in transferNulloptAssignment() argument
564 transferAssignment(E, State.Env.getBoolLiteralValue(false), State); in transferNulloptAssignment()
603 LatticeTransferState &State) { in transferSwapCall() argument
605 auto *OtherLoc = State.Env.get<RecordStorageLocation>(*E->getArg(0)); in transferSwapCall()
606 transferSwap(getImplicitObjectLocation(*E, State.Env), OtherLoc, State.Env); in transferSwapCall()
610 LatticeTransferState &State) { in transferStdSwapCall() argument
612 auto *Arg0Loc = State.Env.get<RecordStorageLocation>(*E->getArg(0)); in transferStdSwapCall()
613 auto *Arg1Loc = State.Env.get<RecordStorageLocation>(*E->getArg(1)); in transferStdSwapCall()
614 transferSwap(Arg0Loc, Arg1Loc, State.Env); in transferStdSwapCall()
618 LatticeTransferState &State) { in transferStdForwardCall() argument
621 if (auto *Loc = State.Env.getStorageLocation(*E->getArg(0))) in transferStdForwardCall()
622 State.Env.setStorageLocation(*E, *Loc); in transferStdForwardCall()
649 LatticeTransferState &State) { in transferOptionalAndOptionalCmp() argument
650 Environment &Env = State.Env; in transferOptionalAndOptionalCmp()
727 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
728 constructOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
729 State.Env.getBoolLiteralValue(true)); in buildTransferMatchSwitch()
735 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
736 constructOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
737 State.Env.getBoolLiteralValue(false)); in buildTransferMatchSwitch()
754 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
755 transferUnwrapCall(E, E->getImplicitObjectArgument(), State); in buildTransferMatchSwitch()
762 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
763 transferUnwrapCall(E, E->getArg(0), State); in buildTransferMatchSwitch()
770 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
771 transferArrowOpCall(E, E->getArg(0), State); in buildTransferMatchSwitch()
791 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
793 getImplicitObjectLocation(*E, State.Env)) { in buildTransferMatchSwitch()
794 setHasValue(*Loc, State.Env.getBoolLiteralValue(true), State.Env); in buildTransferMatchSwitch()
802 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
804 getImplicitObjectLocation(*E, State.Env)) { in buildTransferMatchSwitch()
805 setHasValue(*Loc, State.Env.getBoolLiteralValue(false), in buildTransferMatchSwitch()
806 State.Env); in buildTransferMatchSwitch()
835 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
836 transferOptionalAndNulloptCmp(Cmp, Cmp->getArg(0), State.Env); in buildTransferMatchSwitch()
841 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
842 transferOptionalAndNulloptCmp(Cmp, Cmp->getArg(1), State.Env); in buildTransferMatchSwitch()
849 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
850 transferOptionalAndValueCmp(Cmp, Cmp->getArg(0), State.Env); in buildTransferMatchSwitch()
857 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
858 transferOptionalAndValueCmp(Cmp, Cmp->getArg(1), State.Env); in buildTransferMatchSwitch()
935 LatticeTransferState State(L, Env); in transfer() local
936 TransferMatchSwitch(Elt, getASTContext(), State); in transfer()