pub fn analyze(
source: Arc<SourceFile>,
kind: ModuleKind,
path: &Path,
forms: Vec<Form>,
warnings_as_errors: bool,
source_manager: Arc<dyn SourceManager>,
) -> Result<Box<Module>, SyntaxError>Expand description
Constructs and validates a Module, given the forms constituting the module body.
As part of this process, the following is also done:
- Documentation comments are attached to items they decorate
- Import table is constructed
- Symbol resolution is performed:
- Constants referenced by name are replaced with the value of that constant.
- Calls to imported procedures are resolved concretely
- Semantic analysis is performed on the module to validate it