/arkcompiler/ets_frontend/es2panda/ir/expressions/ |
H A D | unaryExpression.cpp | 122 checker::Type *operandType = argument_->Check(checker); in Check() local 125 return operandType; in Check() 178 checker->CheckNonNullType(operandType, Start()); in Check() 182 if (checker::Checker::MaybeTypeOfKind(operandType, checker::TypeFlag::BIGINT_LIKE)) { in Check() 183 checker->ThrowTypeError({"Operator '+' cannot be applied to type '", operandType, "'"}, Start()); in Check() 189 return checker->GetUnaryResultType(operandType); in Check() 192 checker->CheckTruthinessOfType(operandType, Start()); in Check() 193 auto facts = operandType->GetTypeFacts(); in Check()
|
H A D | updateExpression.cpp | 63 checker::Type *operandType = argument_->Check(checker); in Check() local 64 checker->CheckNonNullType(operandType, Start()); in Check() 66 if (!operandType->HasTypeFlag(checker::TypeFlag::VALID_ARITHMETIC_TYPE)) { in Check() 75 return checker->GetUnaryResultType(operandType); in Check()
|
/arkcompiler/ets_frontend/ets2panda/checker/ |
H A D | ETSAnalyzerHelpers.cpp | 409 void ProcessExclamationMark(ETSChecker *checker, ir::UnaryExpression *expr, checker::Type *operandType) in ProcessExclamationMark() argument 418 if (operandType == nullptr || !operandType->IsConditionalExprType()) { in ProcessExclamationMark() 425 auto exprRes = operandType->ResolveConditionExpr(); in ProcessExclamationMark() 436 void SetTsTypeForUnaryExpression(ETSChecker *checker, ir::UnaryExpression *expr, checker::Type *operandType) in SetTsTypeForUnaryExpression() argument 441 if (operandType == nullptr || !operandType->HasTypeFlag(checker::TypeFlag::ETS_CONVERTIBLE_TO_NUMERIC)) { in SetTsTypeForUnaryExpression() 448 if (operandType->HasTypeFlag(checker::TypeFlag::CONSTANT) && in SetTsTypeForUnaryExpression() 450 expr->SetTsType(checker->NegateNumericType(operandType, expr)); in SetTsTypeForUnaryExpression() 454 expr->SetTsType(operandType); in SetTsTypeForUnaryExpression() [all...] |
H A D | ETSAnalyzerHelpers.h | 53 void ProcessExclamationMark(ETSChecker *checker, ir::UnaryExpression *expr, checker::Type *operandType); 54 void SetTsTypeForUnaryExpression(ETSChecker *checker, ir::UnaryExpression *expr, checker::Type *operandType);
|
H A D | TSAnalyzer.cpp | 979 checker::Type *operandType = expr->argument_->Check(checker); in Check() local 982 return operandType; in Check() 998 checker->CheckNonNullType(operandType, expr->Start()); in Check() 1002 if (checker::TSChecker::MaybeTypeOfKind(operandType, checker::TypeFlag::BIGINT_LIKE)) { in Check() 1003 checker->ThrowTypeError({"Operator '+' cannot be applied to type '", operandType, "'"}, in Check() 1010 return checker->GetUnaryResultType(operandType); in Check() 1013 checker->CheckTruthinessOfType(operandType, expr->Start()); in Check() 1014 auto facts = operandType->GetTypeFacts(); in Check() 1036 checker::Type *operandType = expr->argument_->Check(checker); in Check() local 1037 checker->CheckNonNullType(operandType, exp in Check() [all...] |
H A D | ETSAnalyzer.cpp | 1745 checker::Type *operandType = checker->ApplyUnaryOperatorPromotion(argType, true, true, isCondExpr); in Check() local 1783 SetTsTypeForUnaryExpression(checker, expr, operandType); in Check() 1802 checker::Type *operandType = expr->argument_->Check(checker); in Check() local 1822 if (operandType->IsETSBigIntType()) { in Check() 1823 expr->SetTsType(operandType); in Check() 1827 auto unboxedType = checker->ETSBuiltinTypeAsPrimitiveType(operandType); in Check() 1835 if (operandType->IsETSObjectType()) { in Check() 1840 expr->SetTsType(operandType); in Check()
|
H A D | TSchecker.h | 294 Type *GetUnaryResultType(Type *operandType);
|
/arkcompiler/ets_frontend/es2panda/typescript/core/ |
H A D | helpers.cpp | 301 Type *Checker::GetUnaryResultType(Type *operandType) in GetUnaryResultType() argument 303 if (checker::Checker::MaybeTypeOfKind(operandType, checker::TypeFlag::BIGINT_LIKE)) { in GetUnaryResultType() 304 if (operandType->HasTypeFlag(checker::TypeFlag::UNION_OR_INTERSECTION) && in GetUnaryResultType() 305 checker::Checker::MaybeTypeOfKind(operandType, checker::TypeFlag::NUMBER_LIKE)) { in GetUnaryResultType()
|
/arkcompiler/ets_frontend/ets2panda/checker/ts/ |
H A D | helpers.cpp | 299 Type *TSChecker::GetUnaryResultType(Type *operandType) in GetUnaryResultType() argument 301 if (checker::TSChecker::MaybeTypeOfKind(operandType, checker::TypeFlag::BIGINT_LIKE)) { in GetUnaryResultType() 302 if (operandType->HasTypeFlag(checker::TypeFlag::UNION_OR_INTERSECTION) && in GetUnaryResultType() 303 checker::TSChecker::MaybeTypeOfKind(operandType, checker::TypeFlag::NUMBER_LIKE)) { in GetUnaryResultType()
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
H A D | mcr_gate_meta_data.h | 283 static uint64_t ToValue(ParamType operandType, TypedBinOp binOp) in ToValue() argument 285 return TypedValueBits::Encode(operandType.Value()) | TypedBinOpBits::Encode(binOp); in ToValue()
|
/arkcompiler/ets_frontend/es2panda/typescript/ |
H A D | checker.h | 367 Type *GetUnaryResultType(Type *operandType);
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/ |
H A D | aarch64_cgfunc.cpp | 1313 PrimType operandType = cmpNode.GetOpndType(); in SelectCondSpecialCase2() local 1314 opnd0 = opnd0->IsRegister() ? static_cast<RegOperand *>(opnd0) : &SelectCopy(*opnd0, operandType, operandType); in SelectCondSpecialCase2() 1318 opnd1 = opnd1->IsRegister() ? static_cast<RegOperand *>(opnd1) : &SelectCopy(*opnd1, operandType, operandType); in SelectCondSpecialCase2() 1321 bool isFloat = IsPrimitiveFloat(operandType); in SelectCondSpecialCase2() 1326 SelectTargetFPCmpQuiet(*opnd0, *opnd1, GetPrimTypeBitSize(operandType)); in SelectCondSpecialCase2()
|