Lines Matching full:auto
63 parent->UpdateSelf([this](auto *childNode) { return VisitTSNode(childNode); }, Binder()); in VisitTSNodes()
70 auto currentScope = Scope(); in FindExportVariableInTsModuleScope()
104 auto *ident = childNode->AsIdentifier(); in VisitTSNode()
109 auto name = ident->Name(); in VisitTSNode()
110 auto scope = FindExportVariableInTsModuleScope(name); in VisitTSNode()
112 auto moduleName = FindTSModuleNameByScope(scope); in VisitTSNode()
113 auto *id = AllocNode<ir::Identifier>(moduleName, Allocator()); in VisitTSNode()
115 … auto *res = AllocNode<ir::MemberExpression>(id, AllocNode<ir::Identifier>(name, Allocator()), in VisitTSNode()
124 auto *node = childNode->AsTSModuleDeclaration(); in VisitTSNode()
128 auto res = VisitTsModuleDeclaration(node); in VisitTSNode()
133 auto *node = childNode->AsExportNamedDeclaration(); in VisitTSNode()
134 auto *decl = node->Decl(); in VisitTSNode()
140 auto *tsModuleDeclaration = decl->AsTSModuleDeclaration(); in VisitTSNode()
144 auto res = VisitTsModuleDeclaration(tsModuleDeclaration, true); in VisitTSNode()
153 auto res = VisitExportNamedVariable(decl); in VisitTSNode()
158 auto *node = childNode->AsTSImportEqualsDeclaration(); in VisitTSNode()
159 auto *express = node->ModuleReference(); in VisitTSNode()
163 auto *res = VisitTsImportEqualsDeclaration(node); in VisitTSNode()
175 auto *express = node->ModuleReference(); in VisitTsImportEqualsDeclaration()
179 auto name = node->Id()->Name(); in VisitTsImportEqualsDeclaration()
181 auto moduleName = GetCurrentTSModuleName(); in VisitTsImportEqualsDeclaration()
182 auto *id = AllocNode<ir::Identifier>(moduleName, Allocator()); in VisitTsImportEqualsDeclaration()
184 … auto *left = AllocNode<ir::MemberExpression>(id, AllocNode<ir::Identifier>(name, Allocator()), in VisitTsImportEqualsDeclaration()
187 auto *assignExpr = AllocNode<ir::AssignmentExpression>(left, right, in VisitTsImportEqualsDeclaration()
189 auto *res = AllocNode<ir::ExpressionStatement>(assignExpr); in VisitTsImportEqualsDeclaration()
206 auto *var = FindTSModuleVariable(node, Scope()); in IsInstantiatedTSModule()
210 auto *decl = var->Declaration(); in IsInstantiatedTSModule()
212 auto tsModules = decl->AsNamespaceDecl()->Decls(); in IsInstantiatedTSModule()
213 for (auto *it : tsModules) { in IsInstantiatedTSModule()
227 auto *tsQualifiedName = node->AsTSQualifiedName(); in FindTSModuleVariable()
228 auto *var = FindTSModuleVariable(tsQualifiedName->Left(), scope); in FindTSModuleVariable()
232 auto *exportTSBindings = var->AsNamespaceVariable()->GetExportBindings(); in FindTSModuleVariable()
233 auto name = tsQualifiedName->Right()->Name(); in FindTSModuleVariable()
234 auto *res = exportTSBindings->FindExportTSVariable<binder::TSBindingType::NAMESPACE>(name); in FindTSModuleVariable()
240 auto *node = res->Declaration()->Node(); in FindTSModuleVariable()
247 auto name = node->AsIdentifier()->Name(); in FindTSModuleVariable()
248 auto *currentScope = scope; in FindTSModuleVariable()
250 auto *res = currentScope->FindLocalTSVariable<binder::TSBindingType::NAMESPACE>(name); in FindTSModuleVariable()
262 auto *node = res->Declaration()->Node(); in FindTSModuleVariable()
275 auto declarators = decl->AsVariableDeclaration()->Declarators(); in VisitExportNamedVariable()
276 for (auto *it : declarators) { in VisitExportNamedVariable()
278 auto *left = std::get<ir::AstNode *>(VisitTSNode(it->Id()))->AsExpression(); in VisitExportNamedVariable()
279 auto *right = std::get<ir::AstNode *>(VisitTSNode(it->Init()))->AsExpression(); in VisitExportNamedVariable()
280 auto *assignExpr = AllocNode<ir::AssignmentExpression>(left, right, in VisitExportNamedVariable()
287 auto name = decl->IsFunctionDeclaration() ? in VisitExportNamedVariable()
299 auto *tsQualifiedName = node->AsTSQualifiedName(); in CreateMemberExpressionFromQualified()
300 auto *left = CreateMemberExpressionFromQualified(tsQualifiedName->Left()); in CreateMemberExpressionFromQualified()
301 auto *right = AllocNode<ir::Identifier>(tsQualifiedName->Right()->Name(), Allocator()); in CreateMemberExpressionFromQualified()
306 auto *id = AllocNode<ir::Identifier>(node->AsIdentifier()->Name(), Allocator()); in CreateMemberExpressionFromQualified()
314 auto *node = std::get<ir::AstNode *>(res); in SetOriginalNode()
321 auto nodes = std::get<std::vector<ir::AstNode *>>(res); in SetOriginalNode()
322 for (auto *it : nodes) { in SetOriginalNode()
331 auto moduleName = GetCurrentTSModuleName(); in CreateTsModuleAssignment()
332 auto *id = AllocNode<ir::Identifier>(moduleName, Allocator()); in CreateTsModuleAssignment()
334 auto *left = AllocNode<ir::MemberExpression>(id, AllocNode<ir::Identifier>(name, Allocator()), in CreateTsModuleAssignment()
336 auto *right = AllocNode<ir::Identifier>(name, Allocator()); in CreateTsModuleAssignment()
338 …auto *assignExpr = AllocNode<ir::AssignmentExpression>(left, right, lexer::TokenType::PUNCTUATOR_S… in CreateTsModuleAssignment()
353 auto *ident = AllocNode<ir::Identifier>(name, Allocator()); in CreateVariableDeclarationWithIdentify()
355 auto *declarator = AllocNode<ir::VariableDeclarator>(ident, init); in CreateVariableDeclarationWithIdentify()
363 auto varKind = ir::VariableDeclaration::VariableDeclarationKind::VAR; in CreateVariableDeclarationWithIdentify()
374 auto *declaration = AllocNode<ir::VariableDeclaration>(varKind, std::move(declarators), false); in CreateVariableDeclarationWithIdentify()
382 auto scope = node->Scope(); in GetParamName()
387 auto pramaName = name; in GetParamName()
409 auto paramName = GetParamName(node, name); in CreateCallExpressionForTsModule()
411 …auto paramScopeCtx = binder::LexicalScope<binder::FunctionParamScope>::Enter(Binder(), funcParamSc… in CreateCallExpressionForTsModule()
414 auto *parameter = AllocNode<ir::Identifier>(paramName, Allocator()); in CreateCallExpressionForTsModule()
421 auto scopeCtx = binder::LexicalScope<binder::FunctionScope>::Enter(Binder(), funcScope); in CreateCallExpressionForTsModule()
424 auto *tsModule = node->Body()->AsTSModuleDeclaration(); in CreateCallExpressionForTsModule()
425 … auto body = std::get<std::vector<ir::AstNode *>>(VisitTsModuleDeclaration(tsModule, true)); in CreateCallExpressionForTsModule()
427 for (auto *it : body) { in CreateCallExpressionForTsModule()
432 auto body = VisitTSNodes(node->Body()); in CreateCallExpressionForTsModule()
447 auto *funcExpr = AllocNode<ir::FunctionExpression>(funcNode); in CreateCallExpressionForTsModule()
451 auto *objectExpression = AllocNode<ir::ObjectExpression>(ir::AstNodeType::OBJECT_EXPRESSION, in CreateCallExpressionForTsModule()
454 auto assignExpr = AllocNode<ir::AssignmentExpression>(CreateTsModuleParam(name, isExport), in CreateCallExpressionForTsModule()
457 auto argument = AllocNode<ir::BinaryExpression>(CreateTsModuleParam(name, isExport), in CreateCallExpressionForTsModule()
461 auto *id = AllocNode<ir::Identifier>(name, Allocator()); in CreateCallExpressionForTsModule()
469 auto *callExpr = AllocNode<ir::CallExpression>(funcExpr, std::move(arguments), nullptr, false); in CreateCallExpressionForTsModule()
477 auto moduleName = GetCurrentTSModuleName(); in CreateTsModuleParam()
478 auto *id = AllocNode<ir::Identifier>(moduleName, Allocator()); in CreateTsModuleParam()
484 auto *id = AllocNode<ir::Identifier>(paramName, Allocator()); in CreateTsModuleParam()
491 auto moduleRecord = GetSourceTextModuleRecord(); in AddExportLocalEntryItem()
492 …auto *entry = moduleRecord->NewEntry<SourceTextModuleRecord::ExportEntry>(name, name, identifier, … in AddExportLocalEntryItem()
503 auto findRes = Scope()->FindLocal(name, binder::ResolveBindingOptions::ALL); in VisitTsModuleDeclaration()
506 auto flag = VariableParsingFlags::VAR; in VisitTsModuleDeclaration()
510 auto *var = CreateVariableDeclarationWithIdentify(name, flag, node, doExport); in VisitTsModuleDeclaration()
520 auto *callExpr = CreateCallExpressionForTsModule(node, name, isExport && IsTsModule()); in VisitTsModuleDeclaration()
521 auto *exprStatementNode = AllocNode<ir::ExpressionStatement>(callExpr); in VisitTsModuleDeclaration()