From 402d803619e0c6634e17bebaedc3f5c4aab400d6 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Mon, 30 Dec 2024 20:37:17 +0200 Subject: [PATCH] editorial: refactor GetModuleSource() to instead use [[ModuleSource]] field (#69) --- index.html | 201 +++++++++++++++++++++++++---------------------------- spec.emu | 53 +++++--------- 2 files changed, 113 insertions(+), 141 deletions(-) diff --git a/index.html b/index.html index 7967020..fb88757 100644 --- a/index.html +++ b/index.html @@ -1260,7 +1260,7 @@ }); let sdoMap = JSON.parse(`{"prod-uZn3IQfi":{"Evaluation":{"clause":"13.3.10.1","ids":["prod-4N8EtSSM"]}},"prod-WqUZkrPx":{"Evaluation":{"clause":"13.3.10.1","ids":["prod-E9lFAjcF"]}},"prod-WzAgO-V_":{"ModuleRequests":{"clause":"16.1.1.3","ids":["prod-Fii3Jv-w"]},"ImportEntries":{"clause":"16.2.1","ids":["prod-4FL2ok6-"]}},"prod-gQ0CVk3C":{"ModuleRequests":{"clause":"16.1.1.3","ids":["prod-eGLun9tY"]},"ImportEntries":{"clause":"16.2.1","ids":["prod-aTBBdt4A"]}},"prod-hjv695N2":{"ModuleRequests":{"clause":"16.1.1.3","ids":["prod-geKEXfWi"]}},"prod-CDGJVPkq":{"ImportEntries":{"clause":"16.2.1","ids":["prod--ST7ch2j"]}}}`); -let biblio = JSON.parse(`{"refsByClause":{"sec-well-known-intrinsic-objects":["_ref_0","_ref_1"],"sec-ContinueDynamicImport":["_ref_2","_ref_16"],"sec-abstract-module-records":["_ref_3","_ref_4","_ref_5","_ref_36","_ref_37","_ref_38","_ref_39","_ref_40","_ref_41","_ref_42","_ref_43","_ref_44"],"sec-cyclic-module-records":["_ref_6","_ref_7","_ref_45","_ref_46","_ref_47","_ref_48","_ref_49","_ref_50","_ref_51","_ref_52","_ref_135"],"sec-module-semantics":["_ref_8","_ref_9","_ref_93","_ref_94","_ref_95","_ref_96","_ref_136","_ref_137"],"sec-HostLoadImportedModule":["_ref_10","_ref_97","_ref_98","_ref_99","_ref_100","_ref_101","_ref_102","_ref_103","_ref_104","_ref_105"],"sec-import-call-runtime-semantics-evaluation":["_ref_11","_ref_12","_ref_13"],"sec-evaluate-import-call":["_ref_14","_ref_15"],"sec-modulerequest-record":["_ref_17","_ref_18","_ref_19","_ref_20","_ref_21","_ref_22","_ref_23","_ref_24"],"sec-static-semantics-modulerequests":["_ref_25","_ref_26","_ref_27","_ref_28","_ref_29","_ref_30","_ref_31","_ref_32","_ref_33","_ref_34","_ref_35","_ref_125","_ref_126","_ref_127","_ref_128","_ref_129","_ref_130","_ref_131","_ref_132","_ref_133","_ref_134"],"sec-LoadRequestedModules":["_ref_53","_ref_54","_ref_55","_ref_56","_ref_57"],"sec-InnerModuleLoading":["_ref_58","_ref_59","_ref_60","_ref_61","_ref_62","_ref_63","_ref_64","_ref_65","_ref_66"],"sec-ContinueModuleLoading":["_ref_67","_ref_68","_ref_69"],"sec-moduledeclarationlinking":["_ref_70","_ref_71"],"sec-InnerModuleLinking":["_ref_72","_ref_73","_ref_74","_ref_75","_ref_76","_ref_77","_ref_78","_ref_79"],"sec-moduleevaluation":["_ref_80","_ref_81"],"sec-innermoduleevaluation":["_ref_82","_ref_83","_ref_84","_ref_85","_ref_86","_ref_87","_ref_88","_ref_89","_ref_90"],"sec-source-text-module-record-initialize-environment":["_ref_91","_ref_92"],"sec-FinishLoadingImportedModule":["_ref_106","_ref_107","_ref_108","_ref_109","_ref_110"],"sec-HostGetModuleSourceName":["_ref_111","_ref_112"],"sec-static-semantics-importentries":["_ref_113","_ref_114","_ref_115","_ref_116","_ref_117","_ref_160","_ref_161","_ref_162","_ref_163","_ref_164","_ref_165","_ref_166","_ref_167","_ref_168"],"sec-module-source-objects":["_ref_118"],"sec-%abstractmodulesource%.prototype":["_ref_119"],"sec-get-%abstractmodulesource%.prototype.@@tostringtag":["_ref_120","_ref_121","_ref_122"],"sec-host-hooks-summary":["_ref_123","_ref_124"],"sec-imports":["_ref_138","_ref_139","_ref_140","_ref_141","_ref_142","_ref_143","_ref_144","_ref_145","_ref_146","_ref_147","_ref_148","_ref_149","_ref_150","_ref_151","_ref_152","_ref_153","_ref_154","_ref_155","_ref_156","_ref_157","_ref_158","_ref_159"]},"entries":[{"type":"table","id":"table-well-known-intrinsic-objects","number":1,"caption":"Table 1: Well-Known Intrinsic Objects","referencingIds":["_ref_0"]},{"type":"clause","id":"sec-well-known-intrinsic-objects","titleHTML":"Well-Known Intrinsic Objects","number":"1.1.1.1"},{"type":"clause","id":"sec-object-type","titleHTML":"Object Type","number":"1.1.1","referencingIds":["_ref_120","_ref_121"]},{"type":"clause","id":"sec-ecmascript-language-types","titleHTML":"ECMAScript Language Types","number":"1.1"},{"type":"op","aoid":"Type","refId":"sec-ecmascript-data-types-and-values"},{"type":"clause","id":"sec-ecmascript-data-types-and-values","titleHTML":"ECMAScript Data Types and Values","number":"1"},{"type":"production","id":"prod-ImportCall","name":"ImportCall"},{"type":"clause","id":"sec-import-call-runtime-semantics-evaluation","titleHTML":"Runtime Semantics: Evaluation","number":"13.3.10.1"},{"type":"op","aoid":"ContinueDynamicImport","refId":"sec-ContinueDynamicImport"},{"type":"clause","id":"sec-ContinueDynamicImport","title":"ContinueDynamicImport ( promiseCapability, phase, moduleCompletion )","titleHTML":"ContinueDynamicImport ( promiseCapability, phase, moduleCompletion )","number":"13.3.10.2.1","referencingIds":["_ref_110"]},{"type":"op","aoid":"EvaluateImportCall","refId":"sec-evaluate-import-call"},{"type":"clause","id":"sec-evaluate-import-call","title":"EvaluateImportCall ( specifierExpression, phase )","titleHTML":"EvaluateImportCall ( specifierExpression, phase )","number":"13.3.10.2","referencingIds":["_ref_12","_ref_13"]},{"type":"clause","id":"sec-import-calls","titleHTML":"Import Calls","number":"13.3.10","referencingIds":["_ref_2","_ref_10"]},{"type":"clause","id":"sec-left-hand-side-expressions","titleHTML":"Left-Hand-Side Expressions","number":"13.3"},{"type":"clause","id":"sec-ecmascript-language-expressions","titleHTML":"ECMAScript Language: Expressions","number":"13"},{"type":"term","term":"ModuleRequest Record","id":"modulerequest-record","referencingIds":["_ref_14","_ref_17","_ref_18","_ref_20","_ref_22","_ref_24","_ref_25","_ref_29","_ref_30","_ref_32","_ref_33","_ref_35","_ref_50","_ref_60","_ref_75","_ref_86","_ref_98","_ref_107"]},{"type":"table","id":"table-modulerequest-record-fields","number":2,"caption":"Table 2: ModuleRequest Record fields"},{"type":"clause","id":"sec-modulerequest-record","title":"ModuleRequest Records","titleHTML":"ModuleRequest Records","number":"16.1.1.1"},{"type":"op","aoid":"ModuleRequests","refId":"sec-static-semantics-modulerequests"},{"type":"clause","id":"sec-static-semantics-modulerequests","titleHTML":"Static Semantics: ModuleRequests","number":"16.1.1.3","referencingIds":["_ref_19","_ref_26","_ref_27","_ref_28","_ref_31","_ref_34","_ref_116"]},{"type":"term","term":"Module Record","refId":"sec-abstract-module-records"},{"type":"table","id":"table-module-record-fields","number":3,"caption":"Table 3: Module Record Fields","referencingIds":["_ref_3","_ref_6"]},{"type":"table","id":"table-abstract-methods-of-module-records","number":4,"caption":"Table 4: Abstract Methods of Module Records","referencingIds":["_ref_4"]},{"type":"term","term":"ResolvedBinding Record","id":"resolvedbinding-record","referencingIds":["_ref_91"]},{"type":"clause","id":"sec-abstract-module-records","titleHTML":"Abstract Module Records","number":"16.1.1.4","referencingIds":["_ref_16","_ref_37","_ref_38","_ref_39","_ref_41","_ref_42","_ref_44","_ref_46","_ref_54","_ref_58","_ref_67","_ref_72","_ref_79","_ref_82","_ref_90","_ref_100","_ref_104","_ref_105","_ref_108"]},{"type":"term","term":"Cyclic Module Record","id":"cyclic-module-record","referencingIds":["_ref_23","_ref_36","_ref_45","_ref_47","_ref_48","_ref_49","_ref_51","_ref_52","_ref_53","_ref_59","_ref_66","_ref_70","_ref_73","_ref_74","_ref_77","_ref_78","_ref_80","_ref_83","_ref_85","_ref_88","_ref_89","_ref_97","_ref_106"]},{"type":"table","id":"table-cyclic-module-fields","number":5,"caption":"Table 5: Additional Fields of Cyclic Module Records","referencingIds":["_ref_7"]},{"type":"op","aoid":"InnerModuleLoading","refId":"sec-InnerModuleLoading"},{"type":"clause","id":"sec-InnerModuleLoading","title":"InnerModuleLoading ( state, module, loadType )","titleHTML":"InnerModuleLoading ( state, module, loadType )","number":"16.1.1.5.1.1","referencingIds":["_ref_55","_ref_57","_ref_61","_ref_69"]},{"type":"op","aoid":"ContinueModuleLoading","refId":"sec-ContinueModuleLoading"},{"type":"clause","id":"sec-ContinueModuleLoading","title":"ContinueModuleLoading ( state, phase, moduleCompletion )","titleHTML":"ContinueModuleLoading ( state, phase, moduleCompletion )","number":"16.1.1.5.1.2","referencingIds":["_ref_65","_ref_109"]},{"type":"clause","id":"sec-LoadRequestedModules","title":"LoadRequestedModules ( [ hostDefined ] )","titleHTML":"LoadRequestedModules ( [ hostDefined ] )","number":"16.1.1.5.1"},{"type":"op","aoid":"InnerModuleLinking","refId":"sec-InnerModuleLinking"},{"type":"clause","id":"sec-InnerModuleLinking","title":"InnerModuleLinking ( module, stack, index )","titleHTML":"InnerModuleLinking ( module, stack, index )","number":"16.1.1.5.2.1","referencingIds":["_ref_71","_ref_76","_ref_84"]},{"type":"clause","id":"sec-moduledeclarationlinking","titleHTML":"Link ( )","number":"16.1.1.5.2"},{"type":"op","aoid":"InnerModuleEvaluation","refId":"sec-innermoduleevaluation"},{"type":"clause","id":"sec-innermoduleevaluation","title":"InnerModuleEvaluation ( module, stack, index )","titleHTML":"InnerModuleEvaluation ( module, stack, index )","number":"16.1.1.5.3.1","referencingIds":["_ref_81","_ref_87"]},{"type":"clause","id":"sec-moduleevaluation","titleHTML":"Evaluate ( )","number":"16.1.1.5.3"},{"type":"clause","id":"sec-cyclic-module-records","titleHTML":"Cyclic Module Records","number":"16.1.1.5"},{"type":"clause","id":"sec-source-text-module-record-getmodulesource","title":"GetModuleSource ( )","titleHTML":"GetModuleSource ( )","number":"16.1.1.6.1"},{"type":"clause","id":"sec-source-text-module-record-initialize-environment","titleHTML":"InitializeEnvironment ( )","number":"16.1.1.6.2"},{"type":"clause","id":"sec-source-text-module-records","titleHTML":"Source Text Module Records","number":"16.1.1.6"},{"type":"term","term":"ImportEntry Record","id":"importentry-record","referencingIds":["_ref_92","_ref_93","_ref_94","_ref_95","_ref_96","_ref_113","_ref_117"]},{"type":"table","id":"table-importentry-record-fields","number":6,"caption":"Table 6: ImportEntry Record Fields","referencingIds":["_ref_8"]},{"type":"table","id":"table-import-forms-mapping-to-importentry-records","number":7,"caption":"Table 7 (Informative): Import Forms Mappings to ImportEntry Records","referencingIds":["_ref_9"]},{"type":"note","id":"note-HostLoadImportedModule-referrer-Realm-Record","number":1},{"type":"op","aoid":"HostLoadImportedModule","refId":"sec-HostLoadImportedModule"},{"type":"clause","id":"sec-HostLoadImportedModule","title":"HostLoadImportedModule ( referrer, specifier, moduleRequest, hostDefined, payload )","titleHTML":"HostLoadImportedModule ( referrer, specifier, moduleRequest, hostDefined, payload )","number":"16.1.1.7","referencingIds":["_ref_11","_ref_15","_ref_56","_ref_62","_ref_63","_ref_68","_ref_124"]},{"type":"op","aoid":"FinishLoadingImportedModule","refId":"sec-FinishLoadingImportedModule"},{"type":"clause","id":"sec-FinishLoadingImportedModule","title":"FinishLoadingImportedModule ( referrer, specifier, moduleRequest, payload, result )","titleHTML":"FinishLoadingImportedModule ( referrer, specifier, moduleRequest, payload, result )","number":"16.1.1.8","referencingIds":["_ref_64","_ref_99","_ref_101","_ref_102","_ref_103"]},{"type":"op","aoid":"HostGetModuleSourceName","refId":"sec-HostGetModuleSourceName"},{"type":"clause","id":"sec-HostGetModuleSourceName","title":"HostGetModuleSourceName ( moduleSource )","titleHTML":"HostGetModuleSourceName ( moduleSource )","number":"16.1.1.9","referencingIds":["_ref_118","_ref_122","_ref_123"]},{"type":"clause","id":"sec-module-semantics","titleHTML":"Module Semantics","number":"16.1.1"},{"type":"clause","id":"sec-modules","titleHTML":"Modules","number":"16.1"},{"type":"production","id":"prod-ImportDeclaration","name":"ImportDeclaration","referencingIds":["_ref_137"]},{"type":"production","id":"prod-ImportClause","name":"ImportClause","referencingIds":["_ref_125","_ref_138","_ref_160","_ref_163"]},{"type":"production","id":"prod-ImportedDefaultBinding","name":"ImportedDefaultBinding","referencingIds":["_ref_143","_ref_146","_ref_148"]},{"type":"production","id":"prod-NameSpaceImport","name":"NameSpaceImport","referencingIds":["_ref_144","_ref_147"]},{"type":"production","id":"prod-NamedImports","name":"NamedImports","referencingIds":["_ref_145","_ref_149"]},{"type":"production","id":"prod-FromClause","name":"FromClause","referencingIds":["_ref_126","_ref_127","_ref_128","_ref_130","_ref_131","_ref_132","_ref_133","_ref_134","_ref_139","_ref_142","_ref_161","_ref_162","_ref_166","_ref_167"]},{"type":"production","id":"prod-ImportsList","name":"ImportsList","referencingIds":["_ref_152","_ref_153","_ref_156"]},{"type":"production","id":"prod-ImportSpecifier","name":"ImportSpecifier","referencingIds":["_ref_155","_ref_157"]},{"type":"production","id":"prod-ModuleSpecifier","name":"ModuleSpecifier","referencingIds":["_ref_135","_ref_136","_ref_140","_ref_154","_ref_164"]},{"type":"production","id":"prod-ImportedBinding","name":"ImportedBinding","referencingIds":["_ref_129","_ref_141","_ref_150","_ref_151","_ref_158","_ref_159","_ref_165","_ref_168"]},{"type":"op","aoid":"ImportEntries","refId":"sec-static-semantics-importentries"},{"type":"clause","id":"sec-static-semantics-importentries","titleHTML":"Static Semantics: ImportEntries ( )","number":"16.2.1","referencingIds":["_ref_21","_ref_114","_ref_115"]},{"type":"clause","id":"sec-imports","titleHTML":"Imports","number":"16.2"},{"type":"clause","id":"sec-ecmascript-language-scripts-and-modules","titleHTML":"ECMAScript Language: Scripts and Modules","number":"16"},{"type":"term","term":"Module Source Object","refId":"sec-module-source-objects"},{"type":"clause","id":"sec-%abstractmodulesource%","titleHTML":"%AbstractModuleSource% ( )","number":"28.1.1.1"},{"type":"clause","id":"sec-%abstractmodulesource%-constructor","titleHTML":"The %AbstractModuleSource% Constructor","number":"28.1.1","referencingIds":["_ref_1"]},{"type":"clause","id":"sec-%abstractmodulesource%.prototype","titleHTML":"%AbstractModuleSource%.prototype","number":"28.1.2.1"},{"type":"clause","id":"sec-properties-of-the-%abstractmodulesource%-intrinsic-object","titleHTML":"Properties of the %AbstractModuleSource% Intrinsic Object","number":"28.1.2"},{"type":"term","term":"%AbstractModuleSource% prototype object","refId":"sec-properties-of-the-%abstractmodulesource%-prototype-object"},{"type":"term","term":"%AbstractModuleSource.prototype%","refId":"sec-properties-of-the-%abstractmodulesource%-prototype-object"},{"type":"clause","id":"sec-%abstractmodulesource%.prototype.constructor","titleHTML":"%AbstractModuleSource%.prototype.constructor","number":"28.1.3.1"},{"type":"clause","id":"sec-get-%abstractmodulesource%.prototype.@@tostringtag","titleHTML":"get %AbstractModuleSource%.prototype [ @@toStringTag ]","number":"28.1.3.2"},{"type":"clause","id":"sec-properties-of-the-%abstractmodulesource%-prototype-object","titleHTML":"Properties of the %AbstractModuleSource% Prototype Object","number":"28.1.3","referencingIds":["_ref_43","_ref_119"]},{"type":"clause","id":"sec-module-source-objects","title":"Module Source Objects","titleHTML":"Module Source Objects","number":"28.1","referencingIds":["_ref_5","_ref_40","_ref_111","_ref_112"]},{"type":"clause","id":"sec-reflection","titleHTML":"Reflection","number":"28"},{"type":"clause","id":"sec-host-hooks-summary","titleHTML":"Host Hooks","number":"A.1"},{"type":"clause","id":"sec-host-layering-points","titleHTML":"Host Layering Points","number":"A"},{"type":"clause","id":"sec-copyright-and-software-license","title":"Copyright & Software License","titleHTML":"Copyright & Software License","number":"B"}]}`); +let biblio = JSON.parse(`{"refsByClause":{"sec-well-known-intrinsic-objects":["_ref_0","_ref_1"],"sec-ContinueDynamicImport":["_ref_2","_ref_16"],"sec-abstract-module-records":["_ref_3","_ref_4","_ref_5","_ref_36","_ref_37","_ref_38","_ref_39","_ref_40","_ref_41"],"sec-cyclic-module-records":["_ref_6","_ref_7","_ref_42","_ref_43","_ref_44","_ref_45","_ref_46","_ref_47","_ref_48","_ref_49","_ref_132"],"sec-module-semantics":["_ref_8","_ref_9","_ref_90","_ref_91","_ref_92","_ref_93","_ref_133","_ref_134"],"sec-HostLoadImportedModule":["_ref_10","_ref_94","_ref_95","_ref_96","_ref_97","_ref_98","_ref_99","_ref_100","_ref_101","_ref_102"],"sec-import-call-runtime-semantics-evaluation":["_ref_11","_ref_12","_ref_13"],"sec-evaluate-import-call":["_ref_14","_ref_15"],"sec-modulerequest-record":["_ref_17","_ref_18","_ref_19","_ref_20","_ref_21","_ref_22","_ref_23","_ref_24"],"sec-static-semantics-modulerequests":["_ref_25","_ref_26","_ref_27","_ref_28","_ref_29","_ref_30","_ref_31","_ref_32","_ref_33","_ref_34","_ref_35","_ref_122","_ref_123","_ref_124","_ref_125","_ref_126","_ref_127","_ref_128","_ref_129","_ref_130","_ref_131"],"sec-LoadRequestedModules":["_ref_50","_ref_51","_ref_52","_ref_53","_ref_54"],"sec-InnerModuleLoading":["_ref_55","_ref_56","_ref_57","_ref_58","_ref_59","_ref_60","_ref_61","_ref_62","_ref_63"],"sec-ContinueModuleLoading":["_ref_64","_ref_65","_ref_66"],"sec-moduledeclarationlinking":["_ref_67","_ref_68"],"sec-InnerModuleLinking":["_ref_69","_ref_70","_ref_71","_ref_72","_ref_73","_ref_74","_ref_75","_ref_76"],"sec-moduleevaluation":["_ref_77","_ref_78"],"sec-innermoduleevaluation":["_ref_79","_ref_80","_ref_81","_ref_82","_ref_83","_ref_84","_ref_85","_ref_86","_ref_87"],"sec-source-text-module-record-initialize-environment":["_ref_88","_ref_89"],"sec-FinishLoadingImportedModule":["_ref_103","_ref_104","_ref_105","_ref_106","_ref_107"],"sec-HostGetModuleSourceName":["_ref_108","_ref_109"],"sec-static-semantics-importentries":["_ref_110","_ref_111","_ref_112","_ref_113","_ref_114","_ref_157","_ref_158","_ref_159","_ref_160","_ref_161","_ref_162","_ref_163","_ref_164","_ref_165"],"sec-module-source-objects":["_ref_115"],"sec-%abstractmodulesource%.prototype":["_ref_116"],"sec-get-%abstractmodulesource%.prototype.@@tostringtag":["_ref_117","_ref_118","_ref_119"],"sec-host-hooks-summary":["_ref_120","_ref_121"],"sec-imports":["_ref_135","_ref_136","_ref_137","_ref_138","_ref_139","_ref_140","_ref_141","_ref_142","_ref_143","_ref_144","_ref_145","_ref_146","_ref_147","_ref_148","_ref_149","_ref_150","_ref_151","_ref_152","_ref_153","_ref_154","_ref_155","_ref_156"]},"entries":[{"type":"table","id":"table-well-known-intrinsic-objects","number":1,"caption":"Table 1: Well-Known Intrinsic Objects","referencingIds":["_ref_0"]},{"type":"clause","id":"sec-well-known-intrinsic-objects","titleHTML":"Well-Known Intrinsic Objects","number":"1.1.1.1"},{"type":"clause","id":"sec-object-type","titleHTML":"Object Type","number":"1.1.1","referencingIds":["_ref_117","_ref_118"]},{"type":"clause","id":"sec-ecmascript-language-types","titleHTML":"ECMAScript Language Types","number":"1.1"},{"type":"op","aoid":"Type","refId":"sec-ecmascript-data-types-and-values"},{"type":"clause","id":"sec-ecmascript-data-types-and-values","titleHTML":"ECMAScript Data Types and Values","number":"1"},{"type":"production","id":"prod-ImportCall","name":"ImportCall"},{"type":"clause","id":"sec-import-call-runtime-semantics-evaluation","titleHTML":"Runtime Semantics: Evaluation","number":"13.3.10.1"},{"type":"op","aoid":"ContinueDynamicImport","refId":"sec-ContinueDynamicImport"},{"type":"clause","id":"sec-ContinueDynamicImport","title":"ContinueDynamicImport ( promiseCapability, phase, moduleCompletion )","titleHTML":"ContinueDynamicImport ( promiseCapability, phase, moduleCompletion )","number":"13.3.10.2.1","referencingIds":["_ref_107"]},{"type":"op","aoid":"EvaluateImportCall","refId":"sec-evaluate-import-call"},{"type":"clause","id":"sec-evaluate-import-call","title":"EvaluateImportCall ( specifierExpression, phase )","titleHTML":"EvaluateImportCall ( specifierExpression, phase )","number":"13.3.10.2","referencingIds":["_ref_12","_ref_13"]},{"type":"clause","id":"sec-import-calls","titleHTML":"Import Calls","number":"13.3.10","referencingIds":["_ref_2","_ref_10"]},{"type":"clause","id":"sec-left-hand-side-expressions","titleHTML":"Left-Hand-Side Expressions","number":"13.3"},{"type":"clause","id":"sec-ecmascript-language-expressions","titleHTML":"ECMAScript Language: Expressions","number":"13"},{"type":"term","term":"ModuleRequest Record","id":"modulerequest-record","referencingIds":["_ref_14","_ref_17","_ref_18","_ref_20","_ref_22","_ref_24","_ref_25","_ref_29","_ref_30","_ref_32","_ref_33","_ref_35","_ref_47","_ref_57","_ref_72","_ref_83","_ref_95","_ref_104"]},{"type":"table","id":"table-modulerequest-record-fields","number":2,"caption":"Table 2: ModuleRequest Record fields"},{"type":"clause","id":"sec-modulerequest-record","title":"ModuleRequest Records","titleHTML":"ModuleRequest Records","number":"16.1.1.1"},{"type":"op","aoid":"ModuleRequests","refId":"sec-static-semantics-modulerequests"},{"type":"clause","id":"sec-static-semantics-modulerequests","titleHTML":"Static Semantics: ModuleRequests","number":"16.1.1.3","referencingIds":["_ref_19","_ref_26","_ref_27","_ref_28","_ref_31","_ref_34","_ref_113"]},{"type":"term","term":"Module Record","refId":"sec-abstract-module-records"},{"type":"table","id":"table-module-record-fields","number":3,"caption":"Table 3: Module Record Fields","referencingIds":["_ref_3","_ref_6"]},{"type":"table","id":"table-abstract-methods-of-module-records","number":4,"caption":"Table 4: Abstract Methods of Module Records","referencingIds":["_ref_4"]},{"type":"term","term":"ResolvedBinding Record","id":"resolvedbinding-record","referencingIds":["_ref_88"]},{"type":"clause","id":"sec-abstract-module-records","titleHTML":"Abstract Module Records","number":"16.1.1.4","referencingIds":["_ref_16","_ref_37","_ref_39","_ref_40","_ref_41","_ref_43","_ref_51","_ref_55","_ref_64","_ref_69","_ref_76","_ref_79","_ref_87","_ref_97","_ref_101","_ref_102","_ref_105"]},{"type":"term","term":"Cyclic Module Record","id":"cyclic-module-record","referencingIds":["_ref_23","_ref_36","_ref_42","_ref_44","_ref_45","_ref_46","_ref_48","_ref_49","_ref_50","_ref_56","_ref_63","_ref_67","_ref_70","_ref_71","_ref_74","_ref_75","_ref_77","_ref_80","_ref_82","_ref_85","_ref_86","_ref_94","_ref_103"]},{"type":"table","id":"table-cyclic-module-fields","number":5,"caption":"Table 5: Additional Fields of Cyclic Module Records","referencingIds":["_ref_7"]},{"type":"op","aoid":"InnerModuleLoading","refId":"sec-InnerModuleLoading"},{"type":"clause","id":"sec-InnerModuleLoading","title":"InnerModuleLoading ( state, module, loadType )","titleHTML":"InnerModuleLoading ( state, module, loadType )","number":"16.1.1.5.1.1","referencingIds":["_ref_52","_ref_54","_ref_58","_ref_66"]},{"type":"op","aoid":"ContinueModuleLoading","refId":"sec-ContinueModuleLoading"},{"type":"clause","id":"sec-ContinueModuleLoading","title":"ContinueModuleLoading ( state, phase, moduleCompletion )","titleHTML":"ContinueModuleLoading ( state, phase, moduleCompletion )","number":"16.1.1.5.1.2","referencingIds":["_ref_62","_ref_106"]},{"type":"clause","id":"sec-LoadRequestedModules","title":"LoadRequestedModules ( [ hostDefined ] )","titleHTML":"LoadRequestedModules ( [ hostDefined ] )","number":"16.1.1.5.1"},{"type":"op","aoid":"InnerModuleLinking","refId":"sec-InnerModuleLinking"},{"type":"clause","id":"sec-InnerModuleLinking","title":"InnerModuleLinking ( module, stack, index )","titleHTML":"InnerModuleLinking ( module, stack, index )","number":"16.1.1.5.2.1","referencingIds":["_ref_68","_ref_73","_ref_81"]},{"type":"clause","id":"sec-moduledeclarationlinking","titleHTML":"Link ( )","number":"16.1.1.5.2"},{"type":"op","aoid":"InnerModuleEvaluation","refId":"sec-innermoduleevaluation"},{"type":"clause","id":"sec-innermoduleevaluation","title":"InnerModuleEvaluation ( module, stack, index )","titleHTML":"InnerModuleEvaluation ( module, stack, index )","number":"16.1.1.5.3.1","referencingIds":["_ref_78","_ref_84"]},{"type":"clause","id":"sec-moduleevaluation","titleHTML":"Evaluate ( )","number":"16.1.1.5.3"},{"type":"clause","id":"sec-cyclic-module-records","titleHTML":"Cyclic Module Records","number":"16.1.1.5"},{"type":"clause","id":"sec-source-text-module-record-initialize-environment","titleHTML":"InitializeEnvironment ( )","number":"16.1.1.6.1"},{"type":"clause","id":"sec-source-text-module-records","titleHTML":"Source Text Module Records","number":"16.1.1.6"},{"type":"term","term":"ImportEntry Record","id":"importentry-record","referencingIds":["_ref_89","_ref_90","_ref_91","_ref_92","_ref_93","_ref_110","_ref_114"]},{"type":"table","id":"table-importentry-record-fields","number":6,"caption":"Table 6: ImportEntry Record Fields","referencingIds":["_ref_8"]},{"type":"table","id":"table-import-forms-mapping-to-importentry-records","number":7,"caption":"Table 7 (Informative): Import Forms Mappings to ImportEntry Records","referencingIds":["_ref_9"]},{"type":"note","id":"note-HostLoadImportedModule-referrer-Realm-Record","number":1},{"type":"op","aoid":"HostLoadImportedModule","refId":"sec-HostLoadImportedModule"},{"type":"clause","id":"sec-HostLoadImportedModule","title":"HostLoadImportedModule ( referrer, specifier, moduleRequest, hostDefined, payload )","titleHTML":"HostLoadImportedModule ( referrer, specifier, moduleRequest, hostDefined, payload )","number":"16.1.1.7","referencingIds":["_ref_11","_ref_15","_ref_53","_ref_59","_ref_60","_ref_65","_ref_121"]},{"type":"op","aoid":"FinishLoadingImportedModule","refId":"sec-FinishLoadingImportedModule"},{"type":"clause","id":"sec-FinishLoadingImportedModule","title":"FinishLoadingImportedModule ( referrer, specifier, moduleRequest, payload, result )","titleHTML":"FinishLoadingImportedModule ( referrer, specifier, moduleRequest, payload, result )","number":"16.1.1.8","referencingIds":["_ref_61","_ref_96","_ref_98","_ref_99","_ref_100"]},{"type":"op","aoid":"HostGetModuleSourceName","refId":"sec-HostGetModuleSourceName"},{"type":"clause","id":"sec-HostGetModuleSourceName","title":"HostGetModuleSourceName ( moduleSource )","titleHTML":"HostGetModuleSourceName ( moduleSource )","number":"16.1.1.9","referencingIds":["_ref_115","_ref_119","_ref_120"]},{"type":"clause","id":"sec-module-semantics","titleHTML":"Module Semantics","number":"16.1.1"},{"type":"clause","id":"sec-modules","titleHTML":"Modules","number":"16.1"},{"type":"production","id":"prod-ImportDeclaration","name":"ImportDeclaration","referencingIds":["_ref_134"]},{"type":"production","id":"prod-ImportClause","name":"ImportClause","referencingIds":["_ref_122","_ref_135","_ref_157","_ref_160"]},{"type":"production","id":"prod-ImportedDefaultBinding","name":"ImportedDefaultBinding","referencingIds":["_ref_140","_ref_143","_ref_145"]},{"type":"production","id":"prod-NameSpaceImport","name":"NameSpaceImport","referencingIds":["_ref_141","_ref_144"]},{"type":"production","id":"prod-NamedImports","name":"NamedImports","referencingIds":["_ref_142","_ref_146"]},{"type":"production","id":"prod-FromClause","name":"FromClause","referencingIds":["_ref_123","_ref_124","_ref_125","_ref_127","_ref_128","_ref_129","_ref_130","_ref_131","_ref_136","_ref_139","_ref_158","_ref_159","_ref_163","_ref_164"]},{"type":"production","id":"prod-ImportsList","name":"ImportsList","referencingIds":["_ref_149","_ref_150","_ref_153"]},{"type":"production","id":"prod-ImportSpecifier","name":"ImportSpecifier","referencingIds":["_ref_152","_ref_154"]},{"type":"production","id":"prod-ModuleSpecifier","name":"ModuleSpecifier","referencingIds":["_ref_132","_ref_133","_ref_137","_ref_151","_ref_161"]},{"type":"production","id":"prod-ImportedBinding","name":"ImportedBinding","referencingIds":["_ref_126","_ref_138","_ref_147","_ref_148","_ref_155","_ref_156","_ref_162","_ref_165"]},{"type":"op","aoid":"ImportEntries","refId":"sec-static-semantics-importentries"},{"type":"clause","id":"sec-static-semantics-importentries","titleHTML":"Static Semantics: ImportEntries ( )","number":"16.2.1","referencingIds":["_ref_21","_ref_111","_ref_112"]},{"type":"clause","id":"sec-imports","titleHTML":"Imports","number":"16.2"},{"type":"clause","id":"sec-ecmascript-language-scripts-and-modules","titleHTML":"ECMAScript Language: Scripts and Modules","number":"16"},{"type":"term","term":"Module Source Object","refId":"sec-module-source-objects"},{"type":"clause","id":"sec-%abstractmodulesource%","titleHTML":"%AbstractModuleSource% ( )","number":"28.1.1.1"},{"type":"clause","id":"sec-%abstractmodulesource%-constructor","titleHTML":"The %AbstractModuleSource% Constructor","number":"28.1.1","referencingIds":["_ref_1"]},{"type":"clause","id":"sec-%abstractmodulesource%.prototype","titleHTML":"%AbstractModuleSource%.prototype","number":"28.1.2.1"},{"type":"clause","id":"sec-properties-of-the-%abstractmodulesource%-intrinsic-object","titleHTML":"Properties of the %AbstractModuleSource% Intrinsic Object","number":"28.1.2"},{"type":"term","term":"%AbstractModuleSource% prototype object","refId":"sec-properties-of-the-%abstractmodulesource%-prototype-object"},{"type":"term","term":"%AbstractModuleSource.prototype%","refId":"sec-properties-of-the-%abstractmodulesource%-prototype-object"},{"type":"clause","id":"sec-%abstractmodulesource%.prototype.constructor","titleHTML":"%AbstractModuleSource%.prototype.constructor","number":"28.1.3.1"},{"type":"clause","id":"sec-get-%abstractmodulesource%.prototype.@@tostringtag","titleHTML":"get %AbstractModuleSource%.prototype [ @@toStringTag ]","number":"28.1.3.2"},{"type":"clause","id":"sec-properties-of-the-%abstractmodulesource%-prototype-object","titleHTML":"Properties of the %AbstractModuleSource% Prototype Object","number":"28.1.3","referencingIds":["_ref_116"]},{"type":"clause","id":"sec-module-source-objects","title":"Module Source Objects","titleHTML":"Module Source Objects","number":"28.1","referencingIds":["_ref_5","_ref_38","_ref_108","_ref_109"]},{"type":"clause","id":"sec-reflection","titleHTML":"Reflection","number":"28"},{"type":"clause","id":"sec-host-hooks-summary","titleHTML":"Host Hooks","number":"A.1"},{"type":"clause","id":"sec-host-layering-points","titleHTML":"Host Layering Points","number":"A"},{"type":"clause","id":"sec-copyright-and-software-license","title":"Copyright & Software License","titleHTML":"Copyright & Software License","number":"B"}]}`); ;let usesMultipage = false