Home
last modified time | relevance | path

Searched refs:lambda (Results 1 - 9 of 9) sorted by relevance

/arkcompiler/runtime_core/static_core/plugins/ets/runtime/
H A Dets_utils.cpp41 void LambdaUtils::InvokeVoid(EtsCoroutine *coro, EtsObject *lambda) in InvokeVoid() argument
43 EtsMethod *invoke = lambda->GetClass()->GetMethod("invoke"); in InvokeVoid()
48 Value arg(lambda->GetCoreType()); in InvokeVoid()
H A Dets_utils.h33 PANDA_PUBLIC_API static void InvokeVoid(EtsCoroutine *coro, EtsObject *lambda);
/arkcompiler/ets_frontend/ets2panda/compiler/lowering/ets/
H A DlambdaLowering.cpp48 ir::ArrowFunctionExpression *lambda = nullptr; member
69 static bool CheckIfNeedThis(ir::ArrowFunctionExpression const *lambda) in CheckIfNeedThis() argument
71 return lambda->IsAnyChild([](ir::AstNode *ast) { return ast->IsThisExpression(); }); in CheckIfNeedThis()
84 auto name = util::UString(util::StringView("lambda$invoke$"), allocator); in CreateCalleeName()
182 for (auto *oldParam : calleeParameterInfo.lambda->Function()->Params()) { in CreateLambdaCalleeParameters()
324 static ir::MethodDefinition *CreateCalleeMethod(public_lib::Context *ctx, ir::ArrowFunctionExpression *lambda, in CreateCalleeMethod() argument
340 auto *substitution = subst0; // NOTE(gogabr): needed to capture in a lambda later. in CreateCalleeMethod()
346 CalleeParameterInfo cpi {lambda, *info->capturedVars, paramScope, substitution, limit}; in CreateCalleeMethod()
354 : lambda->Function()->Signature()->ReturnType()->Substitute(checker->Relation(), substitution); in CreateCalleeMethod()
393 static ir::MethodDefinition *CreateCalleeDefault(public_lib::Context *ctx, ir::ArrowFunctionExpression *lambda, in CreateCalleeDefault() argument
424 CreateArgsForOptionalCall(public_lib::Context *ctx, ir::ArrowFunctionExpression *lambda, ir::MethodDefinition *defaultMethod) CreateArgsForOptionalCall() argument
459 CreateFunctionBody(public_lib::Context *ctx, ir::ArrowFunctionExpression *lambda, ir::MethodDefinition *defaultMethod) CreateFunctionBody() argument
499 CreateCallee(public_lib::Context *ctx, ir::ArrowFunctionExpression *lambda, LambdaInfo const *info, ir::MethodDefinition *defaultMethod, size_t limit = std::numeric_limits<size_t>::max()) CreateCallee() argument
850 ConvertLambda(public_lib::Context *ctx, ir::ArrowFunctionExpression *lambda) ConvertLambda() argument
965 auto *lambda = util::NodeAllocator::ForceSetParent<ir::ArrowFunctionExpression>(allocator, func); CreateWrappingLambda() local
[all...]
/arkcompiler/runtime_core/static_core/runtime/coroutines/
H A Dstackful_coroutine.h91 /// Executes a foreign lambda function within this context (does not corrupt the saved context)
93 bool ExecuteOnThisContext(L *lambda, StackfulCoroutineContext *requester) in ExecuteOnThisContext() argument
96 return rpcCallContext_.Execute(lambda, &requester->context_, &context_); in ExecuteOnThisContext()
129 /// @brief The remote lambda call functionality implementation.
137 bool Execute(L *lambda, fibers::FiberContext *requesterContextPtr, fibers::FiberContext *hostContextPtr) in Execute() argument
144 lambda_ = lambda; in Execute()
/arkcompiler/ets_frontend/ets2panda/checker/ets/
H A DtypeCheckingHelpers.cpp908 bool ETSChecker::CheckLambdaAssignable(ir::Expression *param, ir::ScriptFunction *lambda)
917 return CheckLambdaAssignableUnion(typeAnn, lambda);
923 return lambda->Params().size() == calleeType->Params().size();
937 ir::ScriptFunction *const lambda = arrowFuncExpr->Function();
942 InferTypesForLambda(lambda, calleeType, functionSignature);
966 // Preserve actual lambda types
967 ir::ScriptFunction *const lambda = arrowFuncExpr->Function();
969 for (auto *const lambdaParam : lambda->Params()) {
972 auto *const lambdaReturnTypeAnnotation = lambda->ReturnTypeAnnotation();
985 // Restore inferring lambda type
[all...]
H A Dhelpers.cpp607 ir::ScriptFunction *const lambda = arrowFuncExpr->Function(); in InferAliasLambdaType() member in ark::es2panda::checker::ir
608 if (lambda->Params().size() == localTypeAnnotation->AsETSFunctionType()->Params().size() && in InferAliasLambdaType()
609 NeedTypeInference(lambda)) { in InferAliasLambdaType()
610 InferTypesForLambda(lambda, localTypeAnnotation->AsETSFunctionType()); in InferAliasLambdaType()
2201 bool ETSChecker::NeedTypeInference(const ir::ScriptFunction *lambda) in NeedTypeInference() argument
2203 if (lambda->ReturnTypeAnnotation() == nullptr) { in NeedTypeInference()
2206 for (auto *const param : lambda->Params()) { in NeedTypeInference()
2221 ir::ScriptFunction *const lambda = arg->AsArrowFunctionExpression()->Function(); in FindTypeInferenceArguments() member in ark::es2panda::checker::ir
2222 if (NeedTypeInference(lambda)) { in FindTypeInferenceArguments()
2231 bool ETSChecker::CheckLambdaAssignableUnion(ir::AstNode *typeAnn, ir::ScriptFunction *lambda) in CheckLambdaAssignableUnion() argument
2242 InferTypesForLambda(ir::ScriptFunction *lambda, ir::ETSFunctionType *calleeType, Signature *maybeSubstitutedFunctionSig) InferTypesForLambda() argument
[all...]
H A Dfunction.cpp318 if (ir::ScriptFunction *const lambda = arrowFuncExpr->Function(); in CheckOptionalLambdaFunction()
319 CheckLambdaAssignable(substitutedSig->Function()->Params()[index], lambda)) { in CheckOptionalLambdaFunction()
367 ir::ScriptFunction *const lambda = arrowFuncExpr->Function(); in ValidateSignatureRequiredParams() member in ir
368 if (CheckLambdaAssignable(substitutedSig->Function()->Params()[index], lambda)) { in ValidateSignatureRequiredParams()
1874 // Add the function declarations to the lambda class scope in CreateFuncDecl()
2102 LogTypeError({"No matching call signature with trailing lambda"}, callExpr->Start()); in EnsureValidCurlyBrace()
/arkcompiler/runtime_core/static_core/plugins/ets/runtime/intrinsics/
H A Dstd_core_TypeCreator.cpp387 LambdaTypeCreator lambda {ctx}; in PrepareLambdaTypeCreator()
388 lambda.AddParameter(pandasm::Type {typeapi_create_consts::TYPE_OBJECT, 0}); in PrepareLambdaTypeCreator()
389 lambda.AddParameter(pandasm::Type {typeapi_create_consts::TYPE_OBJECT, 0}); in PrepareLambdaTypeCreator()
390 lambda.AddResult(pandasm::Type {typeapi_create_consts::TYPE_OBJECT, 0}); in PrepareLambdaTypeCreator()
391 lambda.Create(); in PrepareLambdaTypeCreator()
392 return lambda; in PrepareLambdaTypeCreator()
432 auto lambda = PrepareLambdaTypeCreator(m->Ctx()); in TypeAPITypeCreatorCtxMethodAddBodyFromErasedLambda() local
434 auto savedLambdaField = m->Ctx()->AddInitField(lambdaId, lambda.GetType()); in TypeAPITypeCreatorCtxMethodAddBodyFromErasedLambda()
458 fn.AddInstruction(pandasm::Create_CALL_VIRT(LMB_REG, RECV_REG, ARR_REG, 0, lambda.GetFunctionName())); in TypeAPITypeCreatorCtxMethodAddBodyFromErasedLambda()
/arkcompiler/ets_frontend/ets2panda/checker/
H A DETSchecker.h351 bool NeedTypeInference(const ir::ScriptFunction *lambda);
353 void InferTypesForLambda(ir::ScriptFunction *lambda, ir::ETSFunctionType *calleeType,
361 bool CheckLambdaAssignable(ir::Expression *param, ir::ScriptFunction *lambda);
362 bool CheckLambdaAssignableUnion(ir::AstNode *typeAnn, ir::ScriptFunction *lambda);
484 ir::ScriptFunction *CreateProxyFunc(ir::ArrowFunctionExpression *lambda, ArenaVector<ir::AstNode *> &captured,
486 ir::AstNode *GetProxyMethodBody(ir::ArrowFunctionExpression *lambda, varbinder::FunctionScope *scope);
693 // Trailing lambda
857 // Trailing lambda

Completed in 20 milliseconds