Home
last modified time | relevance | path

Searched refs:caseType (Results 1 - 5 of 5) sorted by relevance

/arkcompiler/ets_frontend/ets2panda/ir/statements/
H A DswitchCaseStatement.cpp106 auto *caseType = test_->Check(checker); in CheckAndTestCase() local
109 if (caseType->HasTypeFlag(checker::TypeFlag::CHAR)) { in CheckAndTestCase()
111 } else if (caseType->IsETSIntEnumType() && comparedExprType->IsETSIntEnumType()) { in CheckAndTestCase()
112 validCaseType = comparedExprType->AsETSIntEnumType()->IsSameEnumType(caseType->AsETSIntEnumType()); in CheckAndTestCase()
113 } else if (caseType->IsETSStringEnumType() && comparedExprType->IsETSStringEnumType()) { in CheckAndTestCase()
114 validCaseType = comparedExprType->AsETSStringEnumType()->IsSameEnumType(caseType->AsETSStringEnumType()); in CheckAndTestCase()
117 checker->Relation(), node, caseType, unboxedDiscType, test_->Start(), {}, in CheckAndTestCase()
122 checker->LogTypeError({"Switch case type '", caseType, "' is not comparable to discriminant type '", in CheckAndTestCase()
131 {"Switch case type '", caseType, "' is not comparable to discriminant type '", comparedExprType, "'"}, in CheckAndTestCase()
/arkcompiler/ets_frontend/es2panda/ir/statements/
H A DswitchStatement.cpp90 checker::Type *caseType = it->Test()->Check(checker); in Check() local
91 bool caseIsLiteral = checker::Checker::IsLiteralType(caseType); in Check()
95 caseType = caseIsLiteral ? checker->GetBaseTypeOfLiteralType(caseType) : caseType; in Check()
99 if (!checker->IsTypeEqualityComparableTo(comparedExprType, caseType) && in Check()
100 !checker->IsTypeComparableTo(caseType, comparedExprType)) { in Check()
101 checker->ThrowTypeError({"Type ", caseType, " is not comparable to type ", comparedExprType}, in Check()
/arkcompiler/ets_frontend/ets2panda/checker/ets/
H A Dhelpers.cpp1734 std::string ETSChecker::GetStringFromIdentifierValue(checker::Type *caseType) const in GetStringFromIdentifierValue()
1736 const auto identifierTypeKind = ETSChecker::TypeKind(caseType); in GetStringFromIdentifierValue()
1739 return std::to_string(caseType->AsByteType()->GetValue()); in GetStringFromIdentifierValue()
1742 return std::to_string(caseType->AsShortType()->GetValue()); in GetStringFromIdentifierValue()
1745 return std::to_string(caseType->AsCharType()->GetValue()); in GetStringFromIdentifierValue()
1748 return std::to_string(caseType->AsIntType()->GetValue()); in GetStringFromIdentifierValue()
1751 return std::to_string(caseType->AsLongType()->GetValue()); in GetStringFromIdentifierValue()
1754 VarBinder()->ThrowError(caseType->AsETSObjectType()->Variable()->Declaration()->Node()->Start(), in GetStringFromIdentifierValue()
1787 auto *caseType = caseTest->TsType(); in CheckItemCasesConstant() local
1798 if (!caseType in CheckItemCasesConstant()
1897 checker::Type *caseType = currentCase->TsType(); CheckIdentifierSwitchCase() local
[all...]
/arkcompiler/ets_frontend/ets2panda/checker/
H A DTSAnalyzer.cpp1259 checker::Type *caseType = it->Test()->Check(checker); in Check() local
1260 bool caseIsLiteral = checker::TSChecker::IsLiteralType(caseType); in Check()
1264 caseType = caseIsLiteral ? checker->GetBaseTypeOfLiteralType(caseType) : caseType; in Check()
1268 if (!checker->IsTypeEqualityComparableTo(comparedExprType, caseType) && in Check()
1269 !checker->IsTypeComparableTo(caseType, comparedExprType)) { in Check()
1270 checker->ThrowTypeError({"Type ", caseType, " is not comparable to type ", comparedExprType}, in Check()
H A DETSchecker.h569 std::string GetStringFromIdentifierValue(checker::Type *caseType) const;

Completed in 11 milliseconds