Searched refs:smartType (Results 1 - 8 of 8) sorted by relevance
/arkcompiler/ets_frontend/ets2panda/checker/ |
H A D | checkerContext.cpp | 33 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 D | ETSAnalyzer.cpp | 810 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 D | checkerContext.h | 176 void SetSmartCast(varbinder::Variable const *const variable, checker::Type *const smartType) noexcept;
|
H A D | ETSchecker.h | 677 void ApplySmartCast(varbinder::Variable const *variable, checker::Type *smartType) noexcept;
|
/arkcompiler/ets_frontend/ets2panda/checker/ets/ |
H A D | validateHelpers.cpp | 206 auto *smartType = Context().GetSmartCast(resolved); in ValidateResolvedIdentifier() local 207 auto *const resolvedType = GetApparentType(smartType != nullptr ? smartType : GetTypeOfVariable(resolved)); in ValidateResolvedIdentifier()
|
H A D | helpers.cpp | 1042 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 D | lreference.cpp | 281 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 D | ETSCompiler.cpp | 955 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