knave-expand 0.14.21

The reading, scoping and expansion stages of knave
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use crate::diagnostic::Diagnostic;
use crate::reader::Symbol;
use crate::source::Span;

pub trait ModuleQueries {
    fn program_modules(&self) -> Vec<Symbol>;
    fn project_modules(&self) -> Vec<Symbol>;
    fn module_exports(&self, path: &Symbol, span: Span) -> Result<Vec<Symbol>, Diagnostic>;
    fn module_definitions(&self, path: &Symbol, span: Span) -> Result<Vec<Symbol>, Diagnostic>;
    fn current_module(&self) -> Symbol;
    fn module_symbol(&self, path: &Symbol, span: Span) -> Result<Symbol, Diagnostic>;
}