Lines Matching refs:State

313                         LatticeTransferState &State) {  in transferUnwrapCall()  argument
315 getLocBehindPossiblePointer(*ObjectExpr, State.Env))) { in transferUnwrapCall()
316 if (State.Env.getStorageLocation(*UnwrapExpr) == nullptr) in transferUnwrapCall()
317 State.Env.setStorageLocation(*UnwrapExpr, locForValue(*OptionalLoc)); in transferUnwrapCall()
322 LatticeTransferState &State) { in transferArrowOpCall() argument
324 getLocBehindPossiblePointer(*ObjectExpr, State.Env))) in transferArrowOpCall()
325 State.Env.setValue( in transferArrowOpCall()
326 *UnwrapExpr, State.Env.create<PointerValue>(locForValue(*OptionalLoc))); in transferArrowOpCall()
331 LatticeTransferState &State) { in transferMakeOptionalCall() argument
332 State.Env.setValue( in transferMakeOptionalCall()
333 *E, createOptionalValue(State.Env.getResultObjectLocation(*E), in transferMakeOptionalCall()
334 State.Env.getBoolLiteralValue(true), State.Env)); in transferMakeOptionalCall()
339 LatticeTransferState &State) { in transferOptionalHasValueCall() argument
341 State.Env, getImplicitObjectLocation(*CallExpr, State.Env))) { in transferOptionalHasValueCall()
342 State.Env.setValue(*CallExpr, *HasValueVal); in transferOptionalHasValueCall()
350 LatticeTransferState &State, in transferValueOrImpl() argument
353 auto &Env = State.Env; in transferValueOrImpl()
359 getHasValue(State.Env, getImplicitObjectLocation(*MCE, State.Env)); in transferValueOrImpl()
369 LatticeTransferState &State) { in transferValueOrStringEmptyCall() argument
370 return transferValueOrImpl(ComparisonExpr, Result, State, in transferValueOrStringEmptyCall()
387 LatticeTransferState &State) { in transferValueOrNotEqX() argument
388 transferValueOrImpl(ComparisonExpr, Result, State, in transferValueOrNotEqX()
401 LatticeTransferState &State) { in transferCallReturningOptional() argument
402 if (State.Env.getValue(*E) != nullptr) in transferCallReturningOptional()
407 Loc = &State.Env.getResultObjectLocation(*E); in transferCallReturningOptional()
409 Loc = State.Env.get<RecordStorageLocation>(*E); in transferCallReturningOptional()
411 Loc = &cast<RecordStorageLocation>(State.Env.createStorageLocation(*E)); in transferCallReturningOptional()
412 State.Env.setStorageLocation(*E, *Loc); in transferCallReturningOptional()
417 createOptionalValue(*Loc, State.Env.makeAtomicBoolValue(), State.Env); in transferCallReturningOptional()
419 State.Env.setValue(*E, Val); in transferCallReturningOptional()
433 LatticeTransferState &State) { in valueOrConversionHasValue() argument
448 return State.Env.getBoolLiteralValue(true); in valueOrConversionHasValue()
452 auto *Loc = State.Env.get<RecordStorageLocation>(E); in valueOrConversionHasValue()
453 if (auto *HasValueVal = getHasValue(State.Env, Loc)) in valueOrConversionHasValue()
455 return State.Env.makeAtomicBoolValue(); in valueOrConversionHasValue()
460 LatticeTransferState &State) { in transferValueOrConversionConstructor() argument
463 constructOptionalValue(*E, State.Env, in transferValueOrConversionConstructor()
466 State)); in transferValueOrConversionConstructor()
470 LatticeTransferState &State) { in transferAssignment() argument
473 if (auto *Loc = State.Env.get<RecordStorageLocation>(*E->getArg(0))) { in transferAssignment()
474 createOptionalValue(*Loc, HasValueVal, State.Env); in transferAssignment()
477 State.Env.setStorageLocation(*E, *Loc); in transferAssignment()
483 LatticeTransferState &State) { in transferValueOrConversionAssignment() argument
487 *E->getArg(1), MatchRes, State), in transferValueOrConversionAssignment()
488 State); in transferValueOrConversionAssignment()
493 LatticeTransferState &State) { in transferNulloptAssignment() argument
494 transferAssignment(E, State.Env.getBoolLiteralValue(false), State); in transferNulloptAssignment()
533 LatticeTransferState &State) { in transferSwapCall() argument
535 auto *OtherLoc = State.Env.get<RecordStorageLocation>(*E->getArg(0)); in transferSwapCall()
536 transferSwap(getImplicitObjectLocation(*E, State.Env), OtherLoc, State.Env); in transferSwapCall()
540 LatticeTransferState &State) { in transferStdSwapCall() argument
542 auto *Arg0Loc = State.Env.get<RecordStorageLocation>(*E->getArg(0)); in transferStdSwapCall()
543 auto *Arg1Loc = State.Env.get<RecordStorageLocation>(*E->getArg(1)); in transferStdSwapCall()
544 transferSwap(Arg0Loc, Arg1Loc, State.Env); in transferStdSwapCall()
548 LatticeTransferState &State) { in transferStdForwardCall() argument
551 if (auto *Loc = State.Env.getStorageLocation(*E->getArg(0))) in transferStdForwardCall()
552 State.Env.setStorageLocation(*E, *Loc); in transferStdForwardCall()
579 LatticeTransferState &State) { in transferOptionalAndOptionalCmp() argument
580 Environment &Env = State.Env; in transferOptionalAndOptionalCmp()
657 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
658 constructOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
659 State.Env.getBoolLiteralValue(true)); in buildTransferMatchSwitch()
665 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
666 constructOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
667 State.Env.getBoolLiteralValue(false)); in buildTransferMatchSwitch()
684 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
685 transferUnwrapCall(E, E->getImplicitObjectArgument(), State); in buildTransferMatchSwitch()
692 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
693 transferUnwrapCall(E, E->getArg(0), State); in buildTransferMatchSwitch()
700 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
701 transferArrowOpCall(E, E->getArg(0), State); in buildTransferMatchSwitch()
721 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
723 getImplicitObjectLocation(*E, State.Env)) { in buildTransferMatchSwitch()
724 createOptionalValue(*Loc, State.Env.getBoolLiteralValue(true), in buildTransferMatchSwitch()
725 State.Env); in buildTransferMatchSwitch()
733 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
735 getImplicitObjectLocation(*E, State.Env)) { in buildTransferMatchSwitch()
736 createOptionalValue(*Loc, State.Env.getBoolLiteralValue(false), in buildTransferMatchSwitch()
737 State.Env); in buildTransferMatchSwitch()
766 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
767 transferOptionalAndNulloptCmp(Cmp, Cmp->getArg(0), State.Env); in buildTransferMatchSwitch()
772 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
773 transferOptionalAndNulloptCmp(Cmp, Cmp->getArg(1), State.Env); in buildTransferMatchSwitch()
780 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
781 transferOptionalAndValueCmp(Cmp, Cmp->getArg(0), State.Env); in buildTransferMatchSwitch()
788 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
789 transferOptionalAndValueCmp(Cmp, Cmp->getArg(1), State.Env); in buildTransferMatchSwitch()
870 LatticeTransferState State(L, Env); in transfer() local
871 TransferMatchSwitch(Elt, getASTContext(), State); in transfer()