diff --git a/crates/oxc_ast/src/ast_kind_impl.rs b/crates/oxc_ast/src/ast_kind_impl.rs index 94e4e01e6c254..aa47ad6c0760d 100644 --- a/crates/oxc_ast/src/ast_kind_impl.rs +++ b/crates/oxc_ast/src/ast_kind_impl.rs @@ -1,4 +1,6 @@ #![expect(missing_docs)] // FIXME + +use oxc_allocator::{Address, GetAddress}; use oxc_span::{Atom, GetSpan}; use super::{AstKind, ast::*}; @@ -529,6 +531,17 @@ impl GetSpan for MemberExpressionKind<'_> { } } +impl GetAddress for MemberExpressionKind<'_> { + #[inline] // This should boil down to a single instruction + fn address(&self) -> Address { + match *self { + Self::Computed(member_expr) => Address::from_ptr(member_expr), + Self::Static(member_expr) => Address::from_ptr(member_expr), + Self::PrivateField(member_expr) => Address::from_ptr(member_expr), + } + } +} + pub enum ModuleDeclarationKind<'a> { Import(&'a ImportDeclaration<'a>), ExportAll(&'a ExportAllDeclaration<'a>),