Struct erg_compiler::table::SymbolTable
source · [−]pub struct SymbolTable { /* private fields */ }
Implementations
sourceimpl SymbolTable
impl SymbolTable
pub fn new(
name: Str,
kind: TableKind,
params: Vec<ParamSpec>,
outer: Option<SymbolTable>,
super_classes: Vec<Type>,
super_traits: Vec<Type>,
level: usize
) -> Self
pub fn with_capacity(
name: Str,
kind: TableKind,
params: Vec<ParamSpec>,
outer: Option<SymbolTable>,
super_classes: Vec<Type>,
super_traits: Vec<Type>,
capacity: usize,
level: usize
) -> Self
pub fn mono(
name: Str,
kind: TableKind,
outer: Option<SymbolTable>,
super_classes: Vec<Type>,
super_traits: Vec<Type>,
level: usize
) -> Self
pub fn poly(
name: Str,
kind: TableKind,
params: Vec<ParamSpec>,
outer: Option<SymbolTable>,
super_classes: Vec<Type>,
super_traits: Vec<Type>,
level: usize
) -> Self
pub fn poly_trait<S: Into<Str>>(
name: S,
params: Vec<ParamSpec>,
supers: Vec<Type>,
level: usize
) -> Self
pub fn poly_class<S: Into<Str>>(
name: S,
params: Vec<ParamSpec>,
super_classes: Vec<Type>,
impl_traits: Vec<Type>,
level: usize
) -> Self
pub fn mono_trait<S: Into<Str>>(name: S, supers: Vec<Type>, level: usize) -> Self
pub fn mono_class<S: Into<Str>>(
name: S,
super_classes: Vec<Type>,
super_traits: Vec<Type>,
level: usize
) -> Self
pub fn poly_patch<S: Into<Str>>(
name: S,
params: Vec<ParamSpec>,
patch_classes: Vec<Type>,
impl_traits: Vec<Type>,
level: usize
) -> Self
pub fn module(name: Str, capacity: usize) -> Self
pub fn caused_by(&self) -> Str
sourceimpl SymbolTable
impl SymbolTable
pub fn push_subtype_bound(&mut self, sub: Type, sup: Type)
pub fn push_instance_bound(&mut self, name: Str, t: Type)
sourceimpl SymbolTable
impl SymbolTable
Trait Implementations
sourceimpl Debug for SymbolTable
impl Debug for SymbolTable
sourceimpl Default for SymbolTable
impl Default for SymbolTable
Auto Trait Implementations
impl !RefUnwindSafe for SymbolTable
impl !Send for SymbolTable
impl !Sync for SymbolTable
impl Unpin for SymbolTable
impl !UnwindSafe for SymbolTable
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more