Lines Matching refs:State

322                                  LatticeTransferState &State) {  in initializeOptionalReference()  argument
324 State.Env.getValue(*OptionalExpr, SkipPast::Reference)) { in initializeOptionalReference()
326 setHasValue(*OptionalVal, State.Env.makeAtomicBoolValue()); in initializeOptionalReference()
349 LatticeTransferState &State) { in transferUnwrapCall() argument
351 State.Env.getValue(*ObjectExpr, SkipPast::ReferenceThenPointer)) { in transferUnwrapCall()
352 if (State.Env.getStorageLocation(*UnwrapExpr, SkipPast::None) == nullptr) in transferUnwrapCall()
354 UnwrapExpr->getType(), *OptionalVal, State.Env)) in transferUnwrapCall()
355 State.Env.setStorageLocation(*UnwrapExpr, *Loc); in transferUnwrapCall()
361 LatticeTransferState &State) { in transferMakeOptionalCall() argument
362 auto &Loc = State.Env.createStorageLocation(*E); in transferMakeOptionalCall()
363 State.Env.setStorageLocation(*E, Loc); in transferMakeOptionalCall()
364 State.Env.setValue( in transferMakeOptionalCall()
365 Loc, createOptionalValue(State.Env, State.Env.getBoolLiteralValue(true))); in transferMakeOptionalCall()
370 LatticeTransferState &State) { in transferOptionalHasValueCall() argument
372 State.Env, State.Env.getValue(*CallExpr->getImplicitObjectArgument(), in transferOptionalHasValueCall()
374 auto &CallExprLoc = State.Env.createStorageLocation(*CallExpr); in transferOptionalHasValueCall()
375 State.Env.setValue(CallExprLoc, *HasValueVal); in transferOptionalHasValueCall()
376 State.Env.setStorageLocation(*CallExpr, CallExprLoc); in transferOptionalHasValueCall()
384 LatticeTransferState &State, in transferValueOrImpl() argument
388 auto &Env = State.Env; in transferValueOrImpl()
395 State.Env, in transferValueOrImpl()
396 State.Env.getValue(*ObjectArgumentExpr, SkipPast::ReferenceThenPointer)); in transferValueOrImpl()
406 LatticeTransferState &State) { in transferValueOrStringEmptyCall() argument
407 return transferValueOrImpl(ComparisonExpr, Result, State, in transferValueOrStringEmptyCall()
423 LatticeTransferState &State) { in transferValueOrNotEqX() argument
424 transferValueOrImpl(ComparisonExpr, Result, State, in transferValueOrNotEqX()
436 LatticeTransferState &State) { in transferCallReturningOptional() argument
437 if (State.Env.getStorageLocation(*E, SkipPast::None) != nullptr) in transferCallReturningOptional()
440 auto &Loc = State.Env.createStorageLocation(*E); in transferCallReturningOptional()
441 State.Env.setStorageLocation(*E, Loc); in transferCallReturningOptional()
442 State.Env.setValue( in transferCallReturningOptional()
443 Loc, createOptionalValue(State.Env, State.Env.makeAtomicBoolValue())); in transferCallReturningOptional()
459 LatticeTransferState &State) { in valueOrConversionHasValue() argument
472 return State.Env.getBoolLiteralValue(true); in valueOrConversionHasValue()
477 getHasValue(State.Env, State.Env.getValue(E, SkipPast::Reference))) in valueOrConversionHasValue()
479 return State.Env.makeAtomicBoolValue(); in valueOrConversionHasValue()
484 LatticeTransferState &State) { in transferValueOrConversionConstructor() argument
487 assignOptionalValue(*E, State.Env, in transferValueOrConversionConstructor()
490 State)); in transferValueOrConversionConstructor()
494 LatticeTransferState &State) { in transferAssignment() argument
498 State.Env.getStorageLocation(*E->getArg(0), SkipPast::Reference); in transferAssignment()
502 State.Env.setValue(*OptionalLoc, createOptionalValue(State.Env, HasValueVal)); in transferAssignment()
505 State.Env.setStorageLocation(*E, *OptionalLoc); in transferAssignment()
510 LatticeTransferState &State) { in transferValueOrConversionAssignment() argument
514 *E->getArg(1), MatchRes, State), in transferValueOrConversionAssignment()
515 State); in transferValueOrConversionAssignment()
520 LatticeTransferState &State) { in transferNulloptAssignment() argument
521 transferAssignment(E, State.Env.getBoolLiteralValue(false), State); in transferNulloptAssignment()
526 LatticeTransferState &State) { in transferSwap() argument
527 auto *OptionalVal1 = State.Env.getValue(OptionalLoc1); in transferSwap()
530 auto *OptionalVal2 = State.Env.getValue(OptionalLoc2); in transferSwap()
533 State.Env.setValue(OptionalLoc1, *OptionalVal2); in transferSwap()
534 State.Env.setValue(OptionalLoc2, *OptionalVal1); in transferSwap()
539 LatticeTransferState &State) { in transferSwapCall() argument
542 auto *OptionalLoc1 = State.Env.getStorageLocation( in transferSwapCall()
547 State.Env.getStorageLocation(*E->getArg(0), SkipPast::Reference); in transferSwapCall()
550 transferSwap(*OptionalLoc1, *OptionalLoc2, State); in transferSwapCall()
554 LatticeTransferState &State) { in transferStdSwapCall() argument
558 State.Env.getStorageLocation(*E->getArg(0), SkipPast::Reference); in transferStdSwapCall()
562 State.Env.getStorageLocation(*E->getArg(1), SkipPast::Reference); in transferStdSwapCall()
565 transferSwap(*OptionalLoc1, *OptionalLoc2, State); in transferStdSwapCall()
593 LatticeTransferState &State) { in transferOptionalAndOptionalCmp() argument
594 Environment &Env = State.Env; in transferOptionalAndOptionalCmp()
601 CmpValue = &State.Env.makeNot(*CmpValue); in transferOptionalAndOptionalCmp()
659 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
660 assignOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
661 State.Env.getBoolLiteralValue(true)); in buildTransferMatchSwitch()
667 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
668 assignOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
669 State.Env.getBoolLiteralValue(false)); in buildTransferMatchSwitch()
675 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
676 assignOptionalValue(*E, State.Env, in buildTransferMatchSwitch()
677 State.Env.getBoolLiteralValue(false)); in buildTransferMatchSwitch()
695 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
696 transferUnwrapCall(E, E->getImplicitObjectArgument(), State); in buildTransferMatchSwitch()
703 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
704 transferUnwrapCall(E, E->getArg(0), State); in buildTransferMatchSwitch()
721 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
722 assignOptionalValue(*E->getImplicitObjectArgument(), State.Env, in buildTransferMatchSwitch()
723 State.Env.getBoolLiteralValue(true)); in buildTransferMatchSwitch()
730 LatticeTransferState &State) { in buildTransferMatchSwitch() argument
731 assignOptionalValue(*E->getImplicitObjectArgument(), State.Env, in buildTransferMatchSwitch()
732 State.Env.getBoolLiteralValue(false)); in buildTransferMatchSwitch()
757 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
758 transferOptionalAndValueCmp(Cmp, Cmp->getArg(0), State.Env); in buildTransferMatchSwitch()
764 const MatchFinder::MatchResult &, LatticeTransferState &State) { in buildTransferMatchSwitch() argument
765 transferOptionalAndValueCmp(Cmp, Cmp->getArg(1), State.Env); in buildTransferMatchSwitch()
831 LatticeTransferState State(L, Env); in transfer() local
832 TransferMatchSwitch(*Elt, getASTContext(), State); in transfer()