diff --git a/crates/oxc_ast/src/ast/js.rs b/crates/oxc_ast/src/ast/js.rs
index 215c95a21..2a3acb06d 100644
--- a/crates/oxc_ast/src/ast/js.rs
+++ b/crates/oxc_ast/src/ast/js.rs
@@ -314,9 +314,10 @@ impl<'a> Expression<'a> {
}
/// Identifier Name
-// See serializer in serialize.rs
#[derive(Debug, Clone, Hash)]
+#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type", rename = "Identifier"))]
pub struct IdentifierName<'a> {
+ #[cfg_attr(feature = "serde", serde(flatten))]
pub span: Span,
pub name: Atom<'a>,
}
@@ -328,12 +329,15 @@ impl<'a> IdentifierName<'a> {
}
/// Identifier Reference
-// See serializer in serialize.rs
#[derive(Debug, Clone)]
+#[cfg_attr(feature = "serde", derive(Serialize), serde(tag = "type", rename = "Identifier"))]
pub struct IdentifierReference<'a> {
+ #[cfg_attr(feature = "serde", serde(flatten))]
pub span: Span,
pub name: Atom<'a>,
+ #[cfg_attr(feature = "serde", serde(skip))]
pub reference_id: Cell