use crate::{Expression, Identifier, Node, NodeID};
use leo_span::Span;
use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct MemberAccess {
pub inner: Expression,
pub name: Identifier,
pub span: Span,
pub id: NodeID,
}
impl fmt::Display for MemberAccess {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}.{}", self.inner, self.name)
}
}
impl From<MemberAccess> for Expression {
fn from(value: MemberAccess) -> Self {
Expression::MemberAccess(Box::new(value))
}
}
crate::simple_node_impl!(MemberAccess);