Lines Matching refs:callExpr

481 void ETSChecker::MaybeSubstituteLambdaArgumentsInFunctionCall(ir::CallExpression *callExpr)
483 ir::AstNode *expr = callExpr;
494 callExpr->Callee()->IsIdentifier() && ident->Name() == callExpr->Callee()->AsIdentifier()->Name() &&
498 ident->AsAnnotatedExpression()->TypeAnnotation()->AsETSFunctionType()->Params(), callExpr);
504 void ETSChecker::MaybeSubstituteLambdaArgumentsInFunctionCallHelper(ir::CallExpression *callExpr, ir::Identifier *ident)
529 MaybeSubstituteLambdaArguments(funcType->AsETSFunctionType()->Params(), callExpr);
533 ir::CallExpression *callExpr)
536 if (params[i]->AsETSParameterExpression()->IsDefault() && callExpr->Arguments().size() <= i &&
538 callExpr->Arguments().push_back(
539 params[i]->AsETSParameterExpression()->Initializer()->Clone(Allocator(), callExpr)->AsExpression());
942 ir::CallExpression *callExpr,
947 if (callExpr->TrailingBlock() == nullptr) {
949 MaybeSubstituteLambdaArguments(it->Function()->Params(), callExpr);
951 if (callExpr->Arguments().size() != it->Function()->Params().size()) {
952 MaybeSubstituteLambdaArgumentsInFunctionCall(callExpr);
956 sig = ValidateSignatures(signatures, callExpr->TypeParams(), callExpr->Arguments(), pos, "call", reportFlag);
961 auto arguments = ExtendArgumentsWithFakeLamda(callExpr);
962 sig = ValidateSignatures(signatures, callExpr->TypeParams(), arguments, pos, "call",
966 TransformTraillingLambda(callExpr);
967 TypeInference(sig, callExpr->Arguments());
971 sig = ValidateSignatures(signatures, callExpr->TypeParams(), callExpr->Arguments(), pos, "call", reportFlag);
973 EnsureValidCurlyBrace(callExpr);
1639 void ETSChecker::ValidateSignatureAccessibility(ETSObjectType *callee, const ir::CallExpression *callExpr,
1655 util::Helpers::FindAncestorGivenByType(callExpr, ir::AstNodeType::SCRIPT_FUNCTION)->AsScriptFunction();
1656 if (callExpr->Callee()->IsMemberExpression() &&
1657 callExpr->Callee()->AsMemberExpression()->Object()->IsThisExpression() &&
2001 void ETSChecker::MoveTrailingBlockToEnclosingBlockStatement(ir::CallExpression *callExpr)
2003 if (callExpr == nullptr) {
2007 ir::AstNode *parent = callExpr->Parent();
2008 ir::AstNode *current = callExpr;
2015 parent->AsBlockStatement()->AddTrailingBlock(current, callExpr->TrailingBlock());
2016 callExpr->TrailingBlock()->SetParent(parent);
2017 callExpr->SetTrailingBlock(nullptr);
2023 void ETSChecker::TransformTraillingLambda(ir::CallExpression *callExpr)
2025 auto *trailingBlock = callExpr->TrailingBlock();
2056 callExpr->SetTrailingBlock(nullptr);
2061 arrowFuncNode->SetParent(callExpr);
2063 callExpr->Arguments().push_back(arrowFuncNode);
2066 ArenaVector<ir::Expression *> ETSChecker::ExtendArgumentsWithFakeLamda(ir::CallExpression *callExpr)
2084 arrowFuncNode->SetParent(callExpr);
2086 ArenaVector<ir::Expression *> fakeArguments = callExpr->Arguments();
2091 void ETSChecker::EnsureValidCurlyBrace(ir::CallExpression *callExpr)
2093 if (callExpr->TrailingBlock() == nullptr) {
2097 if (callExpr->IsTrailingBlockInNewLine()) {
2098 MoveTrailingBlockToEnclosingBlockStatement(callExpr);
2102 LogTypeError({"No matching call signature with trailing lambda"}, callExpr->Start());