From b28b61774b707c45d1220570bd6cd6cffba14381 Mon Sep 17 00:00:00 2001 From: Dunqing Date: Mon, 25 Mar 2024 10:32:02 +0800 Subject: [PATCH] fix(semantic): incorrect ExportEntry span for ExportAllDeclaration in ModuleRecord (#2793) Now the span is ExportAllDeclaration's span --- crates/oxc_semantic/src/module_record/builder.rs | 1 + crates/oxc_semantic/src/module_record/mod.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/oxc_semantic/src/module_record/builder.rs b/crates/oxc_semantic/src/module_record/builder.rs index f7cf028b8..5939bfa37 100644 --- a/crates/oxc_semantic/src/module_record/builder.rs +++ b/crates/oxc_semantic/src/module_record/builder.rs @@ -219,6 +219,7 @@ impl ModuleRecordBuilder { exported_name.span(), )) }), + span: decl.span, ..ExportEntry::default() }; self.add_export_entry(export_entry); diff --git a/crates/oxc_semantic/src/module_record/mod.rs b/crates/oxc_semantic/src/module_record/mod.rs index 719317d09..f1b2abd7a 100644 --- a/crates/oxc_semantic/src/module_record/mod.rs +++ b/crates/oxc_semantic/src/module_record/mod.rs @@ -97,6 +97,7 @@ mod module_record_tests { let export_entry = ExportEntry { module_request: Some(NameSpan::new("mod".into(), Span::new(14, 19))), import_name: ExportImportName::AllButDefault, + span: Span::new(0, 19), ..ExportEntry::default() }; assert_eq!(module_record.star_export_entries.len(), 1); @@ -112,6 +113,7 @@ mod module_record_tests { module_request: Some(NameSpan::new("mod".into(), Span::new(20, 25))), import_name: ExportImportName::All, export_name: ExportExportName::Name(NameSpan::new("ns".into(), Span::new(12, 14))), + span: Span::new(0, 25), ..ExportEntry::default() }; assert_eq!(module_record.indirect_export_entries.len(), 1); @@ -268,7 +270,7 @@ mod module_record_tests { module_record.indirect_export_entries[1], ExportEntry { module_request: Some(NameSpan::new("mod".into(), Span::new(57, 62))), - span: Span::new(0, 0), + span: Span::new(37, 63), import_name: ExportImportName::All, export_name: ExportExportName::Name(NameSpan::new("ns".into(), Span::new(49, 51))), local_name: ExportLocalName::Null,