Lines Matching defs:expr
39 bool CheckOperatorType(ir::BinaryExpression *expr)
41 switch (expr->OperatorType()) {
56 auto *expr = node->AsBinaryExpression();
58 if (!CheckOperatorType(expr)) {
62 if ((expr->Left()->TsType() == nullptr) || (expr->Right()->TsType() == nullptr)) {
66 if (expr->Left()->TsType()->IsETSStringType() && expr->Right()->TsType()->IsETSStringType()) {
73 void StringComparisonLowering::ProcessBinaryExpression(ir::BinaryExpression *expr, public_lib::Context *ctx)
75 ASSERT(expr->IsBinaryExpression());
76 ASSERT(expr->Left()->TsType()->IsETSStringType() && expr->Right()->TsType()->IsETSStringType());
79 expr->SetTsType(nullptr);
86 accessor = checker->AllocNode<ir::MemberExpression>(expr->Left(), callee, ir::MemberExpressionKind::PROPERTY_ACCESS,
90 callArgs.push_back(expr->Right());
92 expr->SetLeft(callExpression);
93 expr->SetRight(zeroExpr);
95 auto *parent = expr->Parent();
100 InitScopesPhaseETS::RunExternalNode(expr, ctx->checker->VarBinder());