diff --git a/crates/oxc_linter/src/service.rs b/crates/oxc_linter/src/service.rs index 3cde8d62dbede..ef02958a467f2 100644 --- a/crates/oxc_linter/src/service.rs +++ b/crates/oxc_linter/src/service.rs @@ -313,8 +313,8 @@ impl Runtime { // The semantic model is not built at this stage. let semantic_builder = SemanticBuilder::new(source_text) .with_cfg(true) - .with_build_jsdoc(true) .with_trivias(trivias) + .with_build_jsdoc(true) .with_check_syntax_error(check_syntax_errors) .build_module_record(path, program); let module_record = semantic_builder.module_record(); diff --git a/crates/oxc_semantic/src/builder.rs b/crates/oxc_semantic/src/builder.rs index 30d13d66d96dd..7d0c7b5aae6b7 100644 --- a/crates/oxc_semantic/src/builder.rs +++ b/crates/oxc_semantic/src/builder.rs @@ -157,8 +157,7 @@ impl<'a> SemanticBuilder<'a> { #[must_use] pub fn with_trivias(mut self, trivias: Trivias) -> Self { - self.trivias = trivias.clone(); - self.jsdoc = JSDocBuilder::new(self.source_text, trivias); + self.trivias = trivias; self } @@ -176,8 +175,10 @@ impl<'a> SemanticBuilder<'a> { } /// Enable/disable JSDoc parsing. + /// `with_trivias` must be called prior to this call. #[must_use] pub fn with_build_jsdoc(mut self, yes: bool) -> Self { + self.jsdoc = JSDocBuilder::new(self.source_text, self.trivias.clone()); self.build_jsdoc = yes; self } diff --git a/crates/oxc_semantic/src/module_record/mod.rs b/crates/oxc_semantic/src/module_record/mod.rs index 67d64af8f1e81..28a67df331d93 100644 --- a/crates/oxc_semantic/src/module_record/mod.rs +++ b/crates/oxc_semantic/src/module_record/mod.rs @@ -20,7 +20,6 @@ mod module_record_tests { let ret = Parser::new(&allocator, source_text, source_type).parse(); let program = allocator.alloc(ret.program); let semantic_ret = SemanticBuilder::new(source_text) - .with_trivias(ret.trivias) .build_module_record(Path::new(""), program) .build(program); Arc::clone(&semantic_ret.semantic.module_record) diff --git a/tasks/benchmark/benches/linter.rs b/tasks/benchmark/benches/linter.rs index 48e2e9a4a2375..8cb9709474e74 100644 --- a/tasks/benchmark/benches/linter.rs +++ b/tasks/benchmark/benches/linter.rs @@ -30,6 +30,7 @@ fn bench_linter(criterion: &mut Criterion) { let program = allocator.alloc(ret.program); let semantic_ret = SemanticBuilder::new(source_text) .with_trivias(ret.trivias) + .with_build_jsdoc(true) .with_cfg(true) .build_module_record(Path::new(""), program) .build(program);