pub struct SymbolTable {
    pub functions: IndexMap<Symbol, FunctionSymbol, RandomState>,
    pub structs: IndexMap<Symbol, Struct, RandomState>,
    /* private fields */
}

Fields

functions: IndexMap<Symbol, FunctionSymbol, RandomState>

Functions represents the name of each function mapped to the AST’s function definition. This field is populated at a first pass.

structs: IndexMap<Symbol, Struct, RandomState>

Maps struct names to struct definitions. This field is populated at a first pass.

Implementations

Recursively checks if the symbol table contains an entry for the given symbol. Leo does not allow any variable shadowing or overlap between different symbols.

Returns the current scope index. Increments the scope index.

Inserts a function into the symbol table.

Inserts a struct into the symbol table.

Inserts a variable into the symbol table.

Creates a new scope for the block and stores it in the symbol table.

Attempts to lookup a function in the symbol table.

Attempts to lookup a struct in the symbol table.

Attempts to lookup a variable in the symbol table.

Returns true if the variable exists in the local scope

Returns true if the variable exists in any parent scope

Returns a mutable reference to the VariableSymbol if it exists in the symbol table.

Returns the scope associated with the function symbol, if it exists in the symbol table.

Returns the scope associated with index, if it exists in the symbol table.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.