Generic mutation scheduling system

IO adapted to use it
Also, Atoms can now dispatch type-erased requests
This commit is contained in:
2023-09-14 22:54:42 +01:00
parent 8c866967a9
commit 3c0056c2db
51 changed files with 991 additions and 379 deletions

View File

@@ -8,7 +8,7 @@ use crate::representations::project::{
ItemKind, ProjectExt, ProjectItem, ProjectMod,
};
use crate::tree::{ModEntry, ModMember, Module};
use crate::utils::pushed::pushed;
use crate::utils::pure_push::pushed;
use crate::{Interner, ProjectTree, Tok, VName};
fn resolve_aliases_rec(

View File

@@ -1,7 +1,7 @@
use crate::error::ProjectResult;
use crate::interner::{Interner, Tok};
use crate::representations::sourcefile::absolute_path;
use crate::utils::Substack;
use crate::utils::substack::Substack;
use crate::{Location, VName};
pub fn import_abs_path(

View File

@@ -12,8 +12,8 @@ use crate::sourcefile::{
FileEntry, FileEntryKind, Member, MemberKind, ModuleBlock,
};
use crate::tree::{ModEntry, ModMember, Module};
use crate::utils::get_or_default;
use crate::utils::pushed::pushed_ref;
use crate::utils::get_or::get_or_default;
use crate::utils::pure_push::pushed_ref;
use crate::{Tok, VName};
pub struct TreeReport {

View File

@@ -10,8 +10,8 @@ use crate::pipeline::source_loader::{PreMod, Preparsed};
use crate::representations::project::ImpReport;
use crate::sourcefile::{absolute_path, Import};
use crate::tree::{ErrKind, ModEntry, ModMember, Module, WalkError};
use crate::utils::iter::{box_chain, box_once};
use crate::utils::pushed::pushed_ref;
use crate::utils::boxed_iter::{box_chain, box_once};
use crate::utils::pure_push::pushed_ref;
use crate::utils::{unwrap_or, BoxedIter};
use crate::{Interner, ProjectTree, Tok, VName};

View File

@@ -13,7 +13,7 @@ use crate::representations::project::{ImpReport, ProjectExt, ProjectMod};
use crate::sourcefile::FileEntry;
use crate::tree::{ModEntry, ModMember, Module};
use crate::utils::never::{always, unwrap_always};
use crate::utils::pushed::pushed_ref;
use crate::utils::pure_push::pushed_ref;
use crate::utils::unwrap_or;
use crate::{parse, Interner, ProjectTree, Tok, VName};

View File

@@ -11,7 +11,7 @@ use crate::pipeline::file_loader::{IOResult, Loaded};
use crate::pipeline::import_abs_path::import_abs_path;
use crate::representations::sourcefile::FileEntry;
use crate::tree::Module;
use crate::utils::pushed::pushed_ref;
use crate::utils::pure_push::pushed_ref;
use crate::utils::{split_max_prefix, unwrap_or};
use crate::Location;

View File

@@ -14,8 +14,8 @@ use crate::parse::{self, ParsingContext};
use crate::representations::sourcefile::{FileEntry, MemberKind};
use crate::representations::tree::{ModEntry, ModMember, Module};
use crate::sourcefile::{FileEntryKind, Import, Member, ModuleBlock};
use crate::utils::pushed::pushed;
use crate::utils::{get_or_default, get_or_make};
use crate::utils::pure_push::pushed;
use crate::utils::get_or::{get_or_default, get_or_make};
use crate::{Location, Tok, VName};
struct FileReport {