use crate::{Identifier, Node, NodeID, simple_node_impl};
use leo_span::{Span, Symbol};
use indexmap::IndexMap;
use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct Annotation {
pub identifier: Identifier,
pub map: IndexMap<Symbol, String>,
pub span: Span,
pub id: NodeID,
}
simple_node_impl!(Annotation);
impl fmt::Display for Annotation {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "@{}", self.identifier)
}
}