use crate::name_analysis::symbol::source_definition::SourceDefinition; use std::fmt::{Debug, Formatter}; #[derive(Clone)] pub struct ParameterSymbol { declared_name: String, source_definition: Option, } impl ParameterSymbol { pub fn new(declared_name: &str, source_definition: Option) -> Self { ParameterSymbol { declared_name: declared_name.to_string(), source_definition, } } pub fn declared_name(&self) -> &str { &self.declared_name } pub fn source_definition(&self) -> Option<&SourceDefinition> { self.source_definition.as_ref() } } impl Debug for ParameterSymbol { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { f.debug_struct("ParameterSymbol") .field("declared_name", &self.declared_name) .field("source_definition", &self.source_definition) .finish() } }