swamp_error_report/
loader.rs

1/*
2 * Copyright (c) Peter Bjorklund. All rights reserved. https://github.com/swamp/swamp
3 * Licensed under the MIT License. See LICENSE in the project root for license information.
4 */
5use crate::Builder;
6use crate::Report;
7use crate::analyze::build_analyzer_error;
8use crate::semantic::build_semantic_error;
9use eira::Kind;
10use source_map_node::Span;
11use swamp_program_analyzer::LoaderErr;
12
13#[must_use]
14pub fn build_loader_error(err: &LoaderErr) -> Builder<usize> {
15    match err {
16        LoaderErr::CouldNotLoad => {
17            Report::build(Kind::Error, 140, "could not load", &Span::default())
18        }
19        LoaderErr::SemanticError(semantic_err) => {
20            build_semantic_error(semantic_err, &Span::default())
21        }
22        LoaderErr::AnalyzerError(analyzer_err) => build_analyzer_error(analyzer_err),
23    }
24}