From 13c961c492580fce2b9d12dd9b4409cb04e34a5b Mon Sep 17 00:00:00 2001 From: overlookmotel <557937+overlookmotel@users.noreply.github.com> Date: Thu, 22 Aug 2024 23:40:28 +0000 Subject: [PATCH] refactor(semantic): clean up transform checker (#5094) Remove some defunct code and clean up a few bits in transform checker. --- .../src/post_transform_checker.rs | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/crates/oxc_semantic/src/post_transform_checker.rs b/crates/oxc_semantic/src/post_transform_checker.rs index 12851449d..b9bf20445 100644 --- a/crates/oxc_semantic/src/post_transform_checker.rs +++ b/crates/oxc_semantic/src/post_transform_checker.rs @@ -85,7 +85,11 @@ //! //! See also: -use std::{cell::Cell, fmt::Debug, hash::Hash}; +use std::{ + cell::Cell, + fmt::{Debug, Display}, + hash::Hash, +}; use oxc_allocator::{Allocator, CloneIn}; #[allow(clippy::wildcard_imports)] @@ -267,12 +271,10 @@ impl Errors { /// Add an error for a mismatch between a pair of values fn push_mismatch_strs(&mut self, title: &str, values: Values) where - Value: AsRef, + Value: Display, Values: AsRef>, { let (value_after_transform, value_rebuilt) = values.as_ref().parts(); - let value_after_transform = value_after_transform.as_ref(); - let value_rebuilt = value_rebuilt.as_ref(); self.push(format!( " {title}: @@ -324,6 +326,7 @@ impl<'s> PostTransformChecker<'s> { fn check_scopes(&mut self) { if self.get_static_pair(|data| data.ids.scope_ids.len()).is_mismatch() { self.errors.push("Scopes mismatch after transform"); + return; } for scope_ids in self @@ -409,6 +412,8 @@ impl<'s> PostTransformChecker<'s> { if self.remap_scope_ids_sets(&child_ids).is_mismatch() { self.errors.push_mismatch("Scope children mismatch", scope_ids, child_ids); } + + // NB: Skip checking node IDs match - transformer does not set `AstNodeId`s } } @@ -484,18 +489,8 @@ impl<'s> PostTransformChecker<'s> { } fn check_references(&mut self) { - // Check whether references are valid - for reference_id in self.rebuilt.ids.reference_ids.iter().copied() { - let reference = self.rebuilt.symbols.get_reference(reference_id); - if reference.flags().is_empty() { - self.errors.push(format!( - "Expect ReferenceFlags for IdentifierReference({reference_id:?}) to not be empty" - )); - } - } - if self.get_static_pair(|data| data.ids.reference_ids.len()).is_mismatch() { - self.errors.push("ReferenceId mismatch after transform"); + self.errors.push("References mismatch after transform"); return; }