Lines Matching defs:lambda
607 ir::ScriptFunction *const lambda = arrowFuncExpr->Function();
608 if (lambda->Params().size() == localTypeAnnotation->AsETSFunctionType()->Params().size() &&
609 NeedTypeInference(lambda)) {
610 InferTypesForLambda(lambda, localTypeAnnotation->AsETSFunctionType());
2201 bool ETSChecker::NeedTypeInference(const ir::ScriptFunction *lambda)
2203 if (lambda->ReturnTypeAnnotation() == nullptr) {
2206 for (auto *const param : lambda->Params()) {
2221 ir::ScriptFunction *const lambda = arg->AsArrowFunctionExpression()->Function();
2222 if (NeedTypeInference(lambda)) {
2231 bool ETSChecker::CheckLambdaAssignableUnion(ir::AstNode *typeAnn, ir::ScriptFunction *lambda)
2235 return lambda->Params().size() == type->AsETSFunctionType()->Params().size();
2242 void ETSChecker::InferTypesForLambda(ir::ScriptFunction *lambda, ir::ETSFunctionType *calleeType,
2247 auto *const lambdaParam = lambda->Params()[i]->AsETSParameterExpression()->Ident();
2258 if (lambda->ReturnTypeAnnotation() == nullptr) {
2259 auto *const returnTypeAnnotation = calleeType->ReturnType()->Clone(Allocator(), lambda);
2263 lambda->SetReturnTypeAnnotation(returnTypeAnnotation);