Use Symbol for mangled names throughout code generators
diff --git a/syntax/symbol.rs b/syntax/symbol.rs
index a40baaf..fa8e587 100644
--- a/syntax/symbol.rs
+++ b/syntax/symbol.rs
@@ -19,6 +19,12 @@
}
}
+impl From<&Ident> for Symbol {
+ fn from(ident: &Ident) -> Self {
+ Symbol(ident.to_string())
+ }
+}
+
impl Symbol {
fn push(&mut self, segment: &dyn Display) {
let len_before = self.0.len();
@@ -37,7 +43,9 @@
}
impl Segment for str {}
+impl Segment for usize {}
impl Segment for Ident {}
+impl Segment for Symbol {}
impl Segment for Namespace {
fn write(&self, symbol: &mut Symbol) {