pub struct Metadata {
pub name: Option<String>,
pub span: Option<SourceSpan>,
pub provenance: Option<Provenance>,
pub attributes: Vec<(String, String)>,
}Expand description
Metadata container that can be attached to IR nodes
Fields§
§name: Option<String>Human-readable name or comment
span: Option<SourceSpan>Source location information
provenance: Option<Provenance>Provenance tracking
attributes: Vec<(String, String)>Additional custom attributes
Implementations§
Source§impl Metadata
impl Metadata
pub fn new() -> Self
pub fn with_name(self, name: impl Into<String>) -> Self
pub fn with_span(self, span: SourceSpan) -> Self
pub fn with_provenance(self, provenance: Provenance) -> Self
pub fn with_attribute( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
pub fn get_attribute(&self, key: &str) -> Option<&str>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Metadata
impl<'de> Deserialize<'de> for Metadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Metadata
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnwindSafe for Metadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more