Lines Matching defs:specifier
418 void ETSBinder::AddDynamicSpecifiersToTopBindings(ir::AstNode *const specifier,
421 const auto name = [specifier]() {
422 if (specifier->IsImportNamespaceSpecifier()) {
423 return specifier->AsImportNamespaceSpecifier()->Local()->Name();
426 return specifier->AsImportSpecifier()->Local()->Name();
431 dynamicImportVars_.emplace(specDecl.variable, DynamicImportData {import, specifier, specDecl.variable});
433 if (specifier->IsImportSpecifier()) {
434 auto importSpecifier = specifier->AsImportSpecifier();
440 void ETSBinder::InsertForeignBinding(ir::AstNode *const specifier, const ir::ETSImportDeclaration *const import,
444 dynamicImportVars_.emplace(var, DynamicImportData {import, specifier, var});
507 void ETSBinder::ImportAllForeignBindings(ir::AstNode *const specifier,
533 InsertForeignBinding(specifier, import, bindingName, var);
539 InsertForeignBinding(specifier, import, bindingName, var);
545 InsertForeignBinding(specifier, import, bindingName, var);
550 bool ETSBinder::AddImportNamespaceSpecifiersToTopBindings(ir::AstNode *const specifier,
556 if (!specifier->IsImportNamespaceSpecifier()) {
559 const auto *const namespaceSpecifier = specifier->AsImportNamespaceSpecifier();
562 ImportAllForeignBindings(specifier, globalBindings, importProgram, importGlobalScope, import);
709 bool ETSBinder::AddImportSpecifiersToTopBindings(ir::AstNode *const specifier,
715 if (!specifier->IsImportSpecifier()) {
720 auto importSpecifier = specifier->AsImportSpecifier();
748 AddSpecifiersToTopBindings(specifier, implDecl, implDecl->Source(), viewedReExport);
767 ThrowError(specifier->Start(), "Cannot find imported element '" + imported.Mutf8() + "'");
770 InsertForeignBinding(specifier, import, localName, var);
814 void ETSBinder::AddSpecifiersToTopBindings(ir::AstNode *const specifier, const ir::ETSImportDeclaration *const import,
821 AddDynamicSpecifiersToTopBindings(specifier, import);
832 if (AddImportNamespaceSpecifiersToTopBindings(specifier, globalBindings, importProgram, importGlobalScope,
834 AddImportSpecifiersToTopBindings(specifier, globalBindings, import, record, std::move(viewedReExport))) {
838 ASSERT(specifier->IsImportDefaultSpecifier());
844 specifier->AsImportDefaultSpecifier()->Local()->SetVariable(var);
845 InsertForeignBinding(specifier, import, specifier->AsImportDefaultSpecifier()->Local()->Name(), var);
849 specifier->AsImportDefaultSpecifier()->Local()->SetVariable(item->second);
850 InsertForeignBinding(specifier, import, specifier->AsImportDefaultSpecifier()->Local()->Name(), item->second);
1072 for (auto specifier : specifiers) {
1073 AddSpecifiersToTopBindings(specifier, decl, decl->Source());
1147 return data->specifier->IsImportSpecifier();
1157 return data->specifier->IsImportNamespaceSpecifier();