Lines Matching refs:HasValueVal
176 void setHasValue(Value &OptionalVal, BoolValue &HasValueVal) { in setHasValue() argument
177 OptionalVal.setProperty("has_value", HasValueVal); in setHasValue()
182 StructValue &createOptionalValue(Environment &Env, BoolValue &HasValueVal) { in createOptionalValue() argument
184 setHasValue(*OptionalVal, HasValueVal); in createOptionalValue()
192 auto *HasValueVal = in getHasValue() local
194 if (HasValueVal == nullptr) { in getHasValue()
195 HasValueVal = &Env.makeAtomicBoolValue(); in getHasValue()
196 OptionalVal->setProperty("has_value", *HasValueVal); in getHasValue()
198 return HasValueVal; in getHasValue()
293 auto *HasValueVal = in isEmptyOptional() local
295 return HasValueVal != nullptr && in isEmptyOptional()
296 Env.flowConditionImplies(Env.makeNot(*HasValueVal)); in isEmptyOptional()
302 auto *HasValueVal = in isNonEmptyOptional() local
304 return HasValueVal != nullptr && Env.flowConditionImplies(*HasValueVal); in isNonEmptyOptional()
330 if (auto *HasValueVal = getHasValue( in transferOptionalHasValueCall() local
334 State.Env.setValue(CallExprLoc, *HasValueVal); in transferOptionalHasValueCall()
346 BoolValue &HasValueVal)) { in transferValueOrImpl() argument
353 auto *HasValueVal = getHasValue( in transferValueOrImpl() local
356 if (HasValueVal == nullptr) in transferValueOrImpl()
368 Env.addToFlowCondition(ModelPred(Env, *ExprValue, *HasValueVal)); in transferValueOrImpl()
376 BoolValue &HasValueVal) -> BoolValue & { in transferValueOrStringEmptyCall() argument
384 HasValueVal); in transferValueOrStringEmptyCall()
393 BoolValue &HasValueVal) -> BoolValue & { in transferValueOrNotEqX() argument
397 return Env.makeImplication(ExprVal, HasValueVal); in transferValueOrNotEqX()
414 BoolValue &HasValueVal) { in assignOptionalValue() argument
418 createOptionalValue(State.Env, HasValueVal)); in assignOptionalValue()
443 if (auto *HasValueVal = in value_orConversionHasValue() local
445 return *HasValueVal; in value_orConversionHasValue()
460 void transferAssignment(const CXXOperatorCallExpr *E, BoolValue &HasValueVal, in transferAssignment() argument
469 State.Env.setValue(*OptionalLoc, createOptionalValue(State.Env, HasValueVal)); in transferAssignment()
662 if (auto *HasValueVal = cast_or_null<BoolValue>(Prop)) { in diagnoseUnwrapCall() local
663 if (Env.flowConditionImplies(*HasValueVal)) in diagnoseUnwrapCall()
734 auto &HasValueVal = MergedEnv.makeAtomicBoolValue(); in merge() local
736 MergedEnv.addToFlowCondition(HasValueVal); in merge()
738 MergedEnv.addToFlowCondition(MergedEnv.makeNot(HasValueVal)); in merge()
739 setHasValue(MergedVal, HasValueVal); in merge()