Lines Matching full:auto
84 auto name = util::UString(util::StringView("lambda$invoke$"), allocator); in CreateCalleeName()
97 auto *allocator = ctx->allocator; in CloneTypeParams()
98 auto *checker = ctx->checker->AsETSChecker(); in CloneTypeParams()
100 auto *newScope = allocator->New<varbinder::LocalScope>(allocator, enclosingScope); in CloneTypeParams()
101 auto newTypeParams = ArenaVector<checker::ETSTypeParameter *>(allocator->Adapter()); in CloneTypeParams()
102 auto newTypeParamNodes = ArenaVector<ir::TSTypeParameter *>(allocator->Adapter()); in CloneTypeParams()
103 auto *substitution = checker->NewSubstitution(); in CloneTypeParams()
106 auto *oldTypeParamNode = oldIrTypeParams->Params()[ix]; in CloneTypeParams()
107 auto *oldTypeParam = enclosingFunction->Signature()->TypeParams()[ix]->AsETSTypeParameter(); in CloneTypeParams()
108 …auto *newTypeParamId = allocator->New<ir::Identifier>(oldTypeParamNode->Name()->Name(), allocator); in CloneTypeParams()
109 auto *newTypeParamNode = in CloneTypeParams()
111 auto *newTypeParam = allocator->New<checker::ETSTypeParameter>(); in CloneTypeParams()
114 … auto *newTypeParamDecl = allocator->New<varbinder::TypeParameterDecl>(newTypeParamId->Name()); in CloneTypeParams()
116 auto *newTypeParamVar = in CloneTypeParams()
129 auto *oldTypeParam = enclosingFunction->Signature()->TypeParams()[ix]->AsETSTypeParameter(); in CloneTypeParams()
131 if (auto *oldConstraint = oldTypeParam->GetConstraintType(); oldConstraint != nullptr) { in CloneTypeParams()
132 auto *newConstraint = oldConstraint->Substitute(checker->Relation(), substitution); in CloneTypeParams()
137 if (auto *oldDefault = oldTypeParam->GetDefaultType(); oldDefault != nullptr) { in CloneTypeParams()
138 auto *newDefault = oldDefault->Substitute(checker->Relation(), substitution); in CloneTypeParams()
145 auto *newIrTypeParams = util::NodeAllocator::ForceSetParent<ir::TSTypeParameterDeclaration>( in CloneTypeParams()
156 auto allocator = ctx->allocator; in CreateLambdaCalleeParameters()
157 auto checker = ctx->checker->AsETSChecker(); in CreateLambdaCalleeParameters()
158 auto varBinder = ctx->checker->VarBinder(); in CreateLambdaCalleeParameters()
159 auto resParams = ArenaVector<ir::Expression *>(allocator->Adapter()); in CreateLambdaCalleeParameters()
160 auto varMap = ArenaMap<varbinder::Variable *, varbinder::Variable *>(allocator->Adapter()); in CreateLambdaCalleeParameters()
162 auto paramLexScope = in CreateLambdaCalleeParameters()
165 for (auto capturedVar : calleeParameterInfo.captured) { in CreateLambdaCalleeParameters()
166 …auto *newType = capturedVar->TsType()->Substitute(checker->Relation(), calleeParameterInfo.substit… in CreateLambdaCalleeParameters()
167 auto newId = util::NodeAllocator::ForceSetParent<ir::Identifier>( in CreateLambdaCalleeParameters()
169 …auto param = util::NodeAllocator::ForceSetParent<ir::ETSParameterExpression>(allocator, newId, nul… in CreateLambdaCalleeParameters()
170 auto [_, var] = varBinder->AddParamDecl(param); in CreateLambdaCalleeParameters()
182 for (auto *oldParam : calleeParameterInfo.lambda->Function()->Params()) { in CreateLambdaCalleeParameters()
187 … auto *oldParamType = oldParam->AsETSParameterExpression()->Ident()->TypeAnnotation()->TsType(); in CreateLambdaCalleeParameters()
188 …auto *newParamType = oldParamType->Substitute(checker->Relation(), calleeParameterInfo.substitutio… in CreateLambdaCalleeParameters()
189 auto *newParam = oldParam->AsETSParameterExpression()->Clone(allocator, nullptr); in CreateLambdaCalleeParameters()
191 auto [_, var] = varBinder->AddParamDecl(newParam); in CreateLambdaCalleeParameters()
216 auto *id = node->AsIdentifier(); in ProcessCalleeMethodBody()
217 if (auto ref = varMap.find(id->Variable()); ref != varMap.end()) { in ProcessCalleeMethodBody()
240 auto *id = node->AsVariableDeclarator()->Id(); in ProcessCalleeMethodBody()
250 auto *allocator = ctx->allocator; in SetUpCalleeMethod()
251 auto *varBinder = ctx->checker->VarBinder()->AsETSBinder(); in SetUpCalleeMethod()
253 auto *calleeClass = info->calleeClass; in SetUpCalleeMethod()
254 auto *funcScope = func->Scope(); in SetUpCalleeMethod()
255 auto *paramScope = funcScope->ParamScope(); in SetUpCalleeMethod()
256 auto modifierFlags = ir::ModifierFlags::PUBLIC | in SetUpCalleeMethod()
260 auto *calleeNameId = allocator->New<ir::Identifier>(cmInfo->calleeName, allocator); in SetUpCalleeMethod()
264 auto *calleeNameClone = calleeNameId->Clone(allocator, nullptr); in SetUpCalleeMethod()
265 auto *funcExpr = util::NodeAllocator::ForceSetParent<ir::FunctionExpression>(allocator, func); in SetUpCalleeMethod()
266 auto *method = util::NodeAllocator::ForceSetParent<ir::MethodDefinition>( in SetUpCalleeMethod()
272 auto [_, var] = in SetUpCalleeMethod()
280 …auto paramScopeCtx = varbinder::LexicalScope<varbinder::FunctionParamScope>::Enter(varBinder, para… in SetUpCalleeMethod()
292 … auto checkerCtx = checker::SavedCheckerContext(ctx->checker, checker::CheckerStatus::IN_CLASS, in SetUpCalleeMethod()
308 auto *allocator = ctx->allocator; in GetAndApplyFunctionScope()
309 …auto *funcScope = cmInfo->body == nullptr ? allocator->New<varbinder::FunctionScope>(allocator, pa… in GetAndApplyFunctionScope()
329 auto *allocator = ctx->allocator; in CreateCalleeMethod()
330 auto *varBinder = ctx->checker->VarBinder()->AsETSBinder(); in CreateCalleeMethod()
331 auto *checker = ctx->checker->AsETSChecker(); in CreateCalleeMethod()
333 auto *classScope = info->calleeClass->Definition()->Scope()->AsClassScope(); in CreateCalleeMethod()
335 …auto *oldTypeParams = (info->enclosingFunction != nullptr) ? info->enclosingFunction->TypeParams()… in CreateCalleeMethod()
336 auto enclosingScope = in CreateCalleeMethod()
339 …auto [newTypeParams, subst0] = CloneTypeParams(ctx, oldTypeParams, info->enclosingFunction, enclos… in CreateCalleeMethod()
340 auto *substitution = subst0; // NOTE(gogabr): needed to capture in a lambda later. in CreateCalleeMethod()
341 auto *scopeForMethod = newTypeParams != nullptr ? newTypeParams->Scope() : enclosingScope; in CreateCalleeMethod()
343 … auto lexScope = varbinder::LexicalScope<varbinder::LocalScope>::Enter(varBinder, enclosingScope); in CreateCalleeMethod()
344 auto paramScope = allocator->New<varbinder::FunctionParamScope>(allocator, scopeForMethod); in CreateCalleeMethod()
348 auto [params, vMap] = CreateLambdaCalleeParameters(ctx, cpi); in CreateCalleeMethod()
349 auto varMap = std::move(vMap); in CreateCalleeMethod()
351 auto *returnType = in CreateCalleeMethod()
355 auto returnTypeAnnotation = allocator->New<ir::OpaqueTypeNode>(returnType); in CreateCalleeMethod()
357 auto funcFlags = ir::ScriptFunctionFlags::METHOD | cmInfo->auxFunctionFlags; in CreateCalleeMethod()
358 auto modifierFlags = ir::ModifierFlags::PUBLIC | in CreateCalleeMethod()
362 auto func = util::NodeAllocator::ForceSetParent<ir::ScriptFunction>( in CreateCalleeMethod()
367 auto funcScope = GetAndApplyFunctionScope(ctx, info, cmInfo, paramScope, func); in CreateCalleeMethod()
370 for (auto *param : func->Params()) { in CreateCalleeMethod()
383 for (auto [ov, nv] : varMap) { in CreateCalleeMethod()
385 auto name = ov->Name(); in CreateCalleeMethod()
396 auto *allocator = ctx->allocator; in CreateCalleeDefault()
397 auto *checker = ctx->checker->AsETSChecker(); in CreateCalleeDefault()
398 auto *body = lambda->Function()->Body()->AsBlockStatement(); in CreateCalleeDefault()
399 auto calleeName = lambda->Function()->IsAsyncFunc() in CreateCalleeDefault()
402 …auto *forcedReturnType = lambda->Function()->IsAsyncFunc() ? checker->GlobalETSNullishObjectType()… in CreateCalleeDefault()
408 auto *method = CreateCalleeMethod(ctx, lambda, info, &cmInfo); in CreateCalleeDefault()
417 auto *asyncMethod = CreateCalleeMethod(ctx, lambda, info, &cmInfoAsync); in CreateCalleeDefault()
428 auto *checker = ctx->checker->AsETSChecker(); in CreateArgsForOptionalCall()
435 for (auto *param : defaultMethod->Function()->Params()) { in CreateArgsForOptionalCall()
437 auto *paramName = in CreateArgsForOptionalCall()
447 auto *param = lambda->Function()->Params()[i]->AsETSParameterExpression(); in CreateArgsForOptionalCall()
462 auto *checker = ctx->checker->AsETSChecker(); in CreateFunctionBody()
467 …auto *const callee = checker->AllocNode<ir::Identifier>(defaultMethod->Id()->Name(), checker->Allo… in CreateFunctionBody()
493 …auto blockStatement = checker->AllocNode<ir::BlockStatement>(checker->Allocator(), std::move(state… in CreateFunctionBody()
503 auto *allocator = ctx->allocator; in CreateCallee()
504 auto *checker = ctx->checker->AsETSChecker(); in CreateCallee()
506 auto calleeName = lambda->Function()->IsAsyncFunc() in CreateCallee()
509 …auto *forcedReturnType = lambda->Function()->IsAsyncFunc() ? checker->GlobalETSNullishObjectType()… in CreateCallee()
516 …auto *method = CreateCalleeMethod(ctx, lambda, info, &cmInfo, limit, defaultMethod->Id()->Variable… in CreateCallee()
525 auto *asyncMethod = CreateCalleeMethod(ctx, lambda, info, &cmInfoAsync); in CreateCallee()
542 auto *allocator = ctx->allocator; in CreateLambdaClassFields()
543 auto *parser = ctx->parser->AsETSParser(); in CreateLambdaClassFields()
544 auto *checker = ctx->checker->AsETSChecker(); in CreateLambdaClassFields()
545 auto props = ArenaVector<ir::AstNode *>(allocator->Adapter()); in CreateLambdaClassFields()
548 auto *outerThisDeclaration = parser->CreateFormattedClassFieldDefinition( in CreateLambdaClassFields()
554 for (auto *captured : *info->capturedVars) { in CreateLambdaClassFields()
555 auto *varDeclaration = parser->CreateFormattedClassFieldDefinition( in CreateLambdaClassFields()
567 auto *allocator = ctx->allocator; in CreateLambdaClassConstructor()
568 auto *parser = ctx->parser->AsETSParser(); in CreateLambdaClassConstructor()
569 auto *checker = ctx->checker->AsETSChecker(); in CreateLambdaClassConstructor()
571 auto params = ArenaVector<ir::Expression *>(allocator->Adapter()); in CreateLambdaClassConstructor()
572 …auto makeParam = [checker, allocator, substitution, ¶ms](util::StringView name, checker::Type … in CreateLambdaClassConstructor()
573 auto *substitutedType = type->Substitute(checker->Relation(), substitution); in CreateLambdaClassConstructor()
574 auto *id = util::NodeAllocator::ForceSetParent<ir::Identifier>( in CreateLambdaClassConstructor()
576 …auto *param = util::NodeAllocator::ForceSetParent<ir::ETSParameterExpression>(allocator, id, nullp… in CreateLambdaClassConstructor()
583 for (auto *var : *info->capturedVars) { in CreateLambdaClassConstructor()
587 auto bodyStmts = ArenaVector<ir::Statement *>(allocator->Adapter()); in CreateLambdaClassConstructor()
588 auto makeStatement = [&parser, &bodyStmts](util::StringView name) { in CreateLambdaClassConstructor()
589 auto adjustedName = AvoidMandatoryThis(name); in CreateLambdaClassConstructor()
590 …auto *statement = parser->CreateFormattedStatement("this.@@I1 = @@I2", adjustedName, adjustedName); in CreateLambdaClassConstructor()
596 for (auto *var : *info->capturedVars) { in CreateLambdaClassConstructor()
599 …auto *body = util::NodeAllocator::ForceSetParent<ir::BlockStatement>(allocator, allocator, std::mo… in CreateLambdaClassConstructor()
601 auto *constructorId = allocator->New<ir::Identifier>("constructor", allocator); in CreateLambdaClassConstructor()
602 auto *constructorIdClone = constructorId->Clone(allocator, nullptr); in CreateLambdaClassConstructor()
604 auto *func = util::NodeAllocator::ForceSetParent<ir::ScriptFunction>( in CreateLambdaClassConstructor()
610 auto *funcExpr = util::NodeAllocator::ForceSetParent<ir::FunctionExpression>(allocator, func); in CreateLambdaClassConstructor()
612 auto *ctor = util::NodeAllocator::ForceSetParent<ir::MethodDefinition>( in CreateLambdaClassConstructor()
623 auto *allocator = ctx->allocator; in CreateCallForLambdaClassInvoke()
624 auto *parser = ctx->parser->AsETSParser(); in CreateCallForLambdaClassInvoke()
625 auto *checker = ctx->checker->AsETSChecker(); in CreateCallForLambdaClassInvoke()
627 auto callArguments = ArenaVector<ir::Expression *>(allocator->Adapter()); in CreateCallForLambdaClassInvoke()
628 for (auto *captured : *info->capturedVars) { in CreateCallForLambdaClassInvoke()
629 … auto *arg = parser->CreateFormattedExpression("this.@@I1", AvoidMandatoryThis(captured->Name())); in CreateCallForLambdaClassInvoke()
632 for (auto *lambdaParam : lciInfo->lambdaSignature->Params()) { in CreateCallForLambdaClassInvoke()
633 auto argName = lambdaParam->Name(); in CreateCallForLambdaClassInvoke()
634 auto *type = lambdaParam->TsType()->Substitute(checker->Relation(), lciInfo->substitution); in CreateCallForLambdaClassInvoke()
635 … auto *arg = wrapToObject ? parser->CreateFormattedExpression("@@I1 as @@T2 as @@T3", argName, in CreateCallForLambdaClassInvoke()
648 auto *calleeMemberExpr = util::NodeAllocator::ForceSetParent<ir::MemberExpression>( in CreateCallForLambdaClassInvoke()
651 …auto *call = parser->CreateFormattedExpression("@@E1(@@[E2)", calleeMemberExpr, std::move(callArgu… in CreateCallForLambdaClassInvoke()
655 auto typeArgs = ArenaVector<ir::TypeNode *>(allocator->Adapter()); in CreateCallForLambdaClassInvoke()
656 for (auto *tp : lciInfo->classDefinition->TypeParams()->Params()) { in CreateCallForLambdaClassInvoke()
659 auto *typeArg = in CreateCallForLambdaClassInvoke()
672 auto *allocator = ctx->allocator; in CreateLambdaClassInvoke()
673 auto *parser = ctx->parser->AsETSParser(); in CreateLambdaClassInvoke()
674 auto *checker = ctx->checker->AsETSChecker(); in CreateLambdaClassInvoke()
675 auto *anyType = checker->GlobalETSNullishObjectType(); in CreateLambdaClassInvoke()
677 auto params = ArenaVector<ir::Expression *>(allocator->Adapter()); in CreateLambdaClassInvoke()
678 for (auto *lparam : lciInfo->lambdaSignature->Params()) { in CreateLambdaClassInvoke()
679 …auto *type = wrapToObject ? anyType : lparam->TsType()->Substitute(checker->Relation(), lciInfo->s… in CreateLambdaClassInvoke()
680 auto *id = util::NodeAllocator::ForceSetParent<ir::Identifier>( in CreateLambdaClassInvoke()
682 …auto *param = util::NodeAllocator::ForceSetParent<ir::ETSParameterExpression>(allocator, id, nullp… in CreateLambdaClassInvoke()
686 auto *call = CreateCallForLambdaClassInvoke(ctx, info, lciInfo, wrapToObject); in CreateLambdaClassInvoke()
688 auto bodyStmts = ArenaVector<ir::Statement *>(allocator->Adapter()); in CreateLambdaClassInvoke()
690 … auto *callStmt = util::NodeAllocator::ForceSetParent<ir::ExpressionStatement>(allocator, call); in CreateLambdaClassInvoke()
693 auto *returnStmt = util::NodeAllocator::ForceSetParent<ir::ReturnStatement>( in CreateLambdaClassInvoke()
698 …auto *returnExpr = wrapToObject ? parser->CreateFormattedExpression("@@E1 as @@T2", call, anyType)… in CreateLambdaClassInvoke()
699 …auto *returnStmt = util::NodeAllocator::ForceSetParent<ir::ReturnStatement>(allocator, returnExpr); in CreateLambdaClassInvoke()
703 …auto body = util::NodeAllocator::ForceSetParent<ir::BlockStatement>(allocator, allocator, std::mov… in CreateLambdaClassInvoke()
704 auto *returnType2 = allocator->New<ir::OpaqueTypeNode>( in CreateLambdaClassInvoke()
707 auto *func = util::NodeAllocator::ForceSetParent<ir::ScriptFunction>( in CreateLambdaClassInvoke()
712 auto *invokeId = allocator->New<ir::Identifier>(methodName, allocator); in CreateLambdaClassInvoke()
715 auto *funcExpr = util::NodeAllocator::ForceSetParent<ir::FunctionExpression>(allocator, func); in CreateLambdaClassInvoke()
717 auto *invokeIdClone = invokeId->Clone(allocator, nullptr); in CreateLambdaClassInvoke()
718 auto *invokeMethod = util::NodeAllocator::ForceSetParent<ir::MethodDefinition>( in CreateLambdaClassInvoke()
729 auto *checker = ctx->checker->AsETSChecker(); in BuildLambdaClass()
750 auto *allocator = ctx->allocator; in CreateLambdaClass()
751 auto *parser = ctx->parser->AsETSParser(); in CreateLambdaClass()
752 auto *checker = ctx->checker->AsETSChecker(); in CreateLambdaClass()
753 auto *varBinder = ctx->checker->VarBinder()->AsETSBinder(); in CreateLambdaClass()
755 …auto *oldTypeParams = (info->enclosingFunction != nullptr) ? info->enclosingFunction->TypeParams()… in CreateLambdaClass()
756 auto [newTypeParams, subst0] = in CreateLambdaClass()
758 auto *substitution = subst0; // NOTE(gogabr): needed to capture in a lambda later. in CreateLambdaClass()
760 …auto lexScope = varbinder::LexicalScope<varbinder::Scope>::Enter(varBinder, ctx->parserProgram->Gl… in CreateLambdaClass()
762 auto lambdaClassName = util::UString {std::string_view {"LambdaObject-"}, allocator}; in CreateLambdaClass()
769 auto *classDeclaration = in CreateLambdaClass()
774 auto *classDefinition = classDeclaration->Definition(); in CreateLambdaClass()
784 auto *program = varBinder->GetRecordTable()->Program(); in CreateLambdaClass()
796 for (auto it : lambdaSigs) { in CreateLambdaClass()
813 auto *allocator = ctx->allocator; in CreateConstructorCall()
814 auto *varBinder = ctx->checker->VarBinder()->AsETSBinder(); in CreateConstructorCall()
815 auto *checker = ctx->checker->AsETSChecker(); in CreateConstructorCall()
817 auto args = ArenaVector<ir::Expression *>(allocator->Adapter()); in CreateConstructorCall()
821 for (auto captured : *info->capturedVars) { in CreateConstructorCall()
822 auto *id = allocator->New<ir::Identifier>(captured->Name(), allocator); in CreateConstructorCall()
831 auto *newExpr = util::NodeAllocator::ForceSetParent<ir::ETSNewClassInstanceExpression>( in CreateConstructorCall()
835 auto *nearestScope = NearestScope(lambdaOrFuncRef); in CreateConstructorCall()
836 auto lexScope = varbinder::LexicalScope<varbinder::Scope>::Enter(varBinder, nearestScope); in CreateConstructorCall()
839 auto checkerCtx = checker::SavedCheckerContext(ctx->checker, checker::CheckerStatus::IN_CLASS, in CreateConstructorCall()
841 auto scopeCtx = checker::ScopeContext(ctx->checker, nearestScope); in CreateConstructorCall()
849 auto *allocator = ctx->allocator; in ConvertLambda()
851 auto firstDefaultIndex = lambda->Function()->DefaultParamIndex(); in ConvertLambda()
856 auto capturedVars = FindCaptured(allocator, lambda); in ConvertLambda()
860 auto *callee = CreateCalleeDefault(ctx, lambda, &info); in ConvertLambda()
864 auto overload = CreateCallee(ctx, lambda, &info, callee, firstDefaultIndex); in ConvertLambda()
870 auto *lambdaType = lambda->TsType()->AsETSFunctionType(); in ConvertLambda()
871 auto *lambdaClass = CreateLambdaClass(ctx, lambdaType->CallSignatures(), callee, &info); in ConvertLambda()
872 auto *constructorCall = CreateConstructorCall(ctx, lambda, lambdaClass, &info); in ConvertLambda()
879 auto *type = ast->TsType()->AsETSFunctionType(); in GuessSignature()
890 auto &args = ast->Parent()->AsCallExpression()->Arguments(); in GuessSignature()
896 auto *argType = ast->Parent()->AsCallExpression()->Signature()->Params()[ix]->TsType(); in GuessSignature()
899 for (auto *sig : type->CallSignatures()) { in GuessSignature()
900 …auto *tmpFunType = checker->Allocator()->New<checker::ETSFunctionType>("", sig, checker->Allocator… in GuessSignature()
924 auto *allocator = ctx->allocator; in CreateWrappingLambda()
925 auto *varBinder = ctx->checker->VarBinder()->AsETSBinder(); in CreateWrappingLambda()
926 auto *signature = GuessSignature(ctx->checker->AsETSChecker(), funcRef); in CreateWrappingLambda()
928 auto *parent = funcRef->Parent(); in CreateWrappingLambda()
931 for (auto *p : signature->Params()) { in CreateWrappingLambda()
937 auto *func = util::NodeAllocator::ForceSetParent<ir::ScriptFunction>( in CreateWrappingLambda()
948 for (auto *p : func->Params()) { in CreateWrappingLambda()
951 …auto *callExpr = util::NodeAllocator::ForceSetParent<ir::CallExpression>(allocator, funcRef, std::… in CreateWrappingLambda()
962 … auto *lambda = util::NodeAllocator::ForceSetParent<ir::ArrowFunctionExpression>(allocator, func); in CreateWrappingLambda()
965 auto *nearestScope = NearestScope(lambda); in CreateWrappingLambda()
966 auto lexScope = varbinder::LexicalScope<varbinder::Scope>::Enter(varBinder, nearestScope); in CreateWrappingLambda()
970 auto [enclosingClass, enclosingFun] = FindEnclosingClassAndFunction(parent); in CreateWrappingLambda()
973 auto checkerCtx = checker::SavedCheckerContext(ctx->checker, checker::CheckerStatus::IN_CLASS, in CreateWrappingLambda()
975 auto scopeCtx = checker::ScopeContext(ctx->checker, nearestScope); in CreateWrappingLambda()
983 auto *allocator = ctx->allocator; in ConvertFunctionReference()
992 auto *mexpr = funcRef->AsMemberExpression(); in ConvertFunctionReference()
1002 auto *method = var->Declaration()->Node()->AsMethodDefinition(); in ConvertFunctionReference()
1007 auto *lam = CreateWrappingLambda(ctx, funcRef); in ConvertFunctionReference()
1015 auto emptySet = ArenaSet<varbinder::Variable *>(allocator->Adapter()); in ConvertFunctionReference()
1024 auto *signature = GuessSignature(ctx->checker->AsETSChecker(), funcRef); in ConvertFunctionReference()
1027 auto *lambdaClass = CreateLambdaClass(ctx, signatures, method, &info); in ConvertFunctionReference()
1028 auto *constructorCall = CreateConstructorCall(ctx, funcRef, lambdaClass, &info); in ConvertFunctionReference()
1035 auto const *callee = node->AsCallExpression()->Callee(); in IsFunctionOrMethodCall()
1059 auto *allocator = ctx->allocator; in InsertInvokeCall()
1060 auto *checker = ctx->checker->AsETSChecker(); in InsertInvokeCall()
1061 auto *varBinder = checker->VarBinder()->AsETSBinder(); in InsertInvokeCall()
1063 auto *oldCallee = call->Callee(); in InsertInvokeCall()
1064 auto *ifaceType = oldCallee->TsType() != nullptr && oldCallee->TsType()->IsETSObjectType() in InsertInvokeCall()
1070 auto *prop = ifaceType->GetProperty(checker::FUNCTIONAL_INTERFACE_INVOKE_METHOD_NAME, in InsertInvokeCall()
1074 …auto *invoke0Id = allocator->New<ir::Identifier>(checker::FUNCTIONAL_INTERFACE_INVOKE_METHOD_NAME,… in InsertInvokeCall()
1078 auto *newCallee = util::NodeAllocator::ForceSetParent<ir::MemberExpression>( in InsertInvokeCall()
1090 for (auto *arg : call->Arguments()) { in InsertInvokeCall()
1091 auto boxingFlags = arg->GetBoxingUnboxingFlags(); in InsertInvokeCall()
1119 auto *id = node->AsIdentifier(); in BuildLambdaClassWhenNeeded()
1120 auto *var = id->Variable(); in BuildLambdaClassWhenNeeded()
1127 auto *mexpr = node->AsMemberExpression(); in BuildLambdaClassWhenNeeded()
1131 auto *var = mexpr->Object()->TsType()->AsETSObjectType()->GetProperty( in BuildLambdaClassWhenNeeded()
1146 auto *varBinder = ctx->checker->VarBinder()->AsETSBinder(); in CallPerformForExtSources()
1147 for (auto &[_, extPrograms] : program->ExternalSources()) { in CallPerformForExtSources()
1149 for (auto *extProg : extPrograms) { in CallPerformForExtSources()
1173 auto insertInvokeIfNeeded = [ctx](ir::AstNode *node) { in Perform()