mirror of
https://github.com/Dummi26/mers.git
synced 2025-12-28 17:16:31 +01:00
added better error messages inspired by rustc/cargo
but not as good
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
use crate::{parsing::SourcePos, program};
|
||||
use crate::program::{self, run::SourceRange};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AssignTo {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub target: Box<dyn MersStatement>,
|
||||
pub source: Box<dyn MersStatement>,
|
||||
}
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
use crate::{info, parsing::SourcePos, program};
|
||||
use crate::{
|
||||
info,
|
||||
program::{self, run::SourceRange},
|
||||
};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Block {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub statements: Vec<Box<dyn MersStatement>>,
|
||||
}
|
||||
impl MersStatement for Block {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use crate::parsing::SourcePos;
|
||||
use crate::program::run::SourceRange;
|
||||
use crate::{info, program};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Chain {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub first: Box<dyn MersStatement>,
|
||||
pub chained: Box<dyn MersStatement>,
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::parsing::SourcePos;
|
||||
use crate::program::run::SourceRange;
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
use crate::{
|
||||
@@ -10,7 +10,7 @@ use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Function {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub arg: Box<dyn MersStatement>,
|
||||
pub run: Box<dyn MersStatement>,
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
use crate::{parsing::SourcePos, program};
|
||||
use crate::program::{self, run::SourceRange};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct If {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub condition: Box<dyn MersStatement>,
|
||||
pub on_true: Box<dyn MersStatement>,
|
||||
pub on_false: Option<Box<dyn MersStatement>>,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use crate::parsing::SourcePos;
|
||||
use crate::program;
|
||||
use crate::program::run::SourceRange;
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct InitTo {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub target: Box<dyn MersStatement>,
|
||||
pub source: Box<dyn MersStatement>,
|
||||
}
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
use crate::{info, parsing::SourcePos, program};
|
||||
use crate::{
|
||||
info,
|
||||
program::{self, run::SourceRange},
|
||||
};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Tuple {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub elems: Vec<Box<dyn MersStatement>>,
|
||||
}
|
||||
impl MersStatement for Tuple {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use crate::parsing::SourcePos;
|
||||
use crate::program::run::SourceRange;
|
||||
use crate::{data::Data, program};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Value {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub data: Data,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
use crate::{info::Local, parsing::SourcePos, program};
|
||||
use crate::{
|
||||
info::Local,
|
||||
program::{self, run::SourceRange},
|
||||
};
|
||||
|
||||
use super::{CompInfo, MersStatement};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Variable {
|
||||
pub pos_in_src: SourcePos,
|
||||
pub pos_in_src: SourceRange,
|
||||
pub is_ref: bool,
|
||||
pub var: String,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user