Home
last modified time | relevance | path

Searched refs:smartType (Results 1 - 8 of 8) sorted by relevance

/arkcompiler/ets_frontend/ets2panda/checker/
H A DcheckerContext.cpp33 void CheckerContext::SetSmartCast(varbinder::Variable const *const variable, checker::Type *const smartType) noexcept
37 smartCasts_.insert_or_assign(variable, smartType);
132 if (auto *const smartType = CombineTypes(it->second, type); smartType != nullptr) { in CombineSmartCasts()
134 if (checker->Relation()->IsIdenticalTo(it->first->TsType(), smartType)) { in CombineSmartCasts()
137 it->second = smartType; in CombineSmartCasts()
H A DETSAnalyzer.cpp810 checker::Type *smartType = leftType; in GetSmartType() local
814 smartType = checker->ResolveSmartType(rightType, leftType); in GetSmartType()
824 if (checker->Relation()->IsIdenticalTo(leftType, smartType)) { in GetSmartType()
827 expr->Left()->SetTsType(smartType); in GetSmartType()
828 checker->Context().SetSmartCast(variable, smartType); in GetSmartType()
832 return smartType; in GetSmartType()
875 checker::Type *smartType = GetSmartType(expr, leftType, rightType); in Check() local
877 expr->SetTsType(smartType); in Check()
1306 if (auto *const smartType = checker->Context().GetSmartCast(expr->Variable()); smartType ! in Check()
2478 auto *smartType = variableType; Check() local
[all...]
H A DcheckerContext.h176 void SetSmartCast(varbinder::Variable const *const variable, checker::Type *const smartType) noexcept;
H A DETSchecker.h677 void ApplySmartCast(varbinder::Variable const *variable, checker::Type *smartType) noexcept;
/arkcompiler/ets_frontend/ets2panda/checker/ets/
H A DvalidateHelpers.cpp206 auto *smartType = Context().GetSmartCast(resolved); in ValidateResolvedIdentifier() local
207 auto *const resolvedType = GetApparentType(smartType != nullptr ? smartType : GetTypeOfVariable(resolved)); in ValidateResolvedIdentifier()
H A Dhelpers.cpp1042 auto *smartType = GetSmartCast(testCondition_.variable); in ResolveSmartCastTypes() local
1043 if (smartType == nullptr) { in ResolveSmartCastTypes()
1044 smartType = testCondition_.variable->TsType(); in ResolveSmartCastTypes()
1054 checker->CheckTestNullishCondition(testCondition_.testedType, smartType, testCondition_.strict); in ResolveSmartCastTypes()
1059 checker->CheckTestObjectCondition(testedType, smartType, testCondition_.strict); in ResolveSmartCastTypes()
1062 std::tie(consequentType, alternateType) = checker->CheckTestObjectCondition(testedType, smartType); in ResolveSmartCastTypes()
1096 void ETSChecker::ApplySmartCast(varbinder::Variable const *const variable, checker::Type *const smartType) noexcept
1099 if (smartType != nullptr) {
1102 if (Relation()->IsIdenticalTo(variableType, smartType)) {
1105 Context().SetSmartCast(variable, smartType);
[all...]
/arkcompiler/ets_frontend/ets2panda/compiler/base/
H A Dlreference.cpp281 if (auto const *const smartType = ident->TsType(); in GetValue()
282 !etsg_->Checker()->Relation()->IsIdenticalTo(smartType, variable->TsType())) { in GetValue()
283 etsg_->SetAccumulatorType(smartType); in GetValue()
/arkcompiler/ets_frontend/ets2panda/compiler/core/
H A DETSCompiler.cpp955 auto const *const smartType = expr->TsType(); in Compile() local
956 auto ttctx = compiler::TargetTypeContext(etsg, smartType); in Compile()
963 if (smartType->IsETSReferenceType()) { in Compile()
965 if (!etsg->Checker()->AsETSChecker()->Relation()->IsSupertypeOf(smartType, etsg->GetAccumulatorType())) { in Compile()
966 etsg->CastToReftype(expr, smartType, false); in Compile()
970 etsg->SetAccumulatorType(smartType); in Compile()

Completed in 22 milliseconds