Lines Matching defs:expression
462 // Equality expression is always allowed for Object, undefined and null
483 // Equality expression can only be applied to String and String, and BigInt and BigInt
727 LogTypeError("Right-hand side of instanceof expression must represent a type.", pos);
759 LogTypeError("Left-hand side of nullish-coalescing expression must be a reference or enum type.", pos);
934 bool CheckNumericOperatorContext(ir::Expression *expression, lexer::TokenType op)
952 if (IsIntEnum(expression)) {
955 expression->AddAstNodeFlags(ir::AstNodeFlags::GENERATE_VALUE_OF);
962 void CheckStringOperatorContext(ir::Expression *expression, checker::Type *otherType, lexer::TokenType op)
964 if (IsStringEnum(expression) && (otherType->IsETSStringType() || otherType->IsETSStringEnumType())) {
966 expression->AddAstNodeFlags(ir::AstNodeFlags::GENERATE_VALUE_OF);
990 void CheckNeedToGenerateGetValueForBinaryExpression(ir::Expression *expression)
992 if (!expression->IsBinaryExpression()) {
996 auto binaryExpression = expression->AsBinaryExpression();
1053 LogTypeError("Unexpected type error in binary expression", left->Start());
1070 LogTypeError("Unexpected type error in binary expression", pos);