pub trait UseSymbol {
// Required methods
fn use_symbol(
&mut self,
visibility: Visibility,
name: &QualifiedName,
id: Option<Identifier>,
within: &QualifiedName,
) -> EvalResult<Symbol>;
fn use_symbols_of(
&mut self,
visibility: Visibility,
name: &QualifiedName,
within: &QualifiedName,
) -> EvalResult<Symbol>;
}
Expand description
Trait used by UseDeclaration and implemented by SymbolTable and passed through by Context
to put symbols on the Stack (for use statements
).
Required Methods§
Sourcefn use_symbol(
&mut self,
visibility: Visibility,
name: &QualifiedName,
id: Option<Identifier>,
within: &QualifiedName,
) -> EvalResult<Symbol>
fn use_symbol( &mut self, visibility: Visibility, name: &QualifiedName, id: Option<Identifier>, within: &QualifiedName, ) -> EvalResult<Symbol>
Find a symbol in the symbol table and copy it to the locals.
Might load any related external file if not already loaded.
§Arguments
name
: Name of the symbol to search forid
: if given overwrites the ID from qualified name (use as)within
: Target symbol
Sourcefn use_symbols_of(
&mut self,
visibility: Visibility,
name: &QualifiedName,
within: &QualifiedName,
) -> EvalResult<Symbol>
fn use_symbols_of( &mut self, visibility: Visibility, name: &QualifiedName, within: &QualifiedName, ) -> EvalResult<Symbol>
Find a symbol in the symbol table and copy all it’s children to the locals and the target.
Might load any related external file if not already loaded.
§Arguments
name
: Name of the symbol to search forwithin
: Target symbol