pub struct SymbolTable { /* private fields */ }Expand description
A bidirectional symbol table.
Implementations§
Source§impl SymbolTable
impl SymbolTable
pub fn new(scope: &str) -> Self
Sourcepub fn intern(&mut self, name: &str) -> SymbolId
pub fn intern(&mut self, name: &str) -> SymbolId
Interns a name, returning a new or existing SymbolId.
pub fn contains(&self, name: &str) -> bool
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn scope(&self) -> &str
pub fn all_names(&self) -> &[String]
pub fn clear(&mut self)
Sourcepub fn ids_with_prefix(&self, prefix: &str) -> Vec<SymbolId>
pub fn ids_with_prefix(&self, prefix: &str) -> Vec<SymbolId>
Returns all ids that match a prefix.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SymbolTable
impl RefUnwindSafe for SymbolTable
impl Send for SymbolTable
impl Sync for SymbolTable
impl Unpin for SymbolTable
impl UnsafeUnpin for SymbolTable
impl UnwindSafe for SymbolTable
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