mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Compute total_problems rather than asking for it
This commit is contained in:
parent
97f252c68b
commit
eb135637ef
4 changed files with 11 additions and 21 deletions
|
@ -41,7 +41,6 @@ pub struct CodeGenTiming {
|
||||||
|
|
||||||
pub fn report_problems_monomorphized(loaded: &mut MonomorphizedModule) -> Problems {
|
pub fn report_problems_monomorphized(loaded: &mut MonomorphizedModule) -> Problems {
|
||||||
report_problems(
|
report_problems(
|
||||||
loaded.total_problems(),
|
|
||||||
&loaded.sources,
|
&loaded.sources,
|
||||||
&loaded.interns,
|
&loaded.interns,
|
||||||
&mut loaded.can_problems,
|
&mut loaded.can_problems,
|
||||||
|
@ -51,7 +50,6 @@ pub fn report_problems_monomorphized(loaded: &mut MonomorphizedModule) -> Proble
|
||||||
|
|
||||||
pub fn report_problems_typechecked(loaded: &mut LoadedModule) -> Problems {
|
pub fn report_problems_typechecked(loaded: &mut LoadedModule) -> Problems {
|
||||||
report_problems(
|
report_problems(
|
||||||
loaded.total_problems(),
|
|
||||||
&loaded.sources,
|
&loaded.sources,
|
||||||
&loaded.interns,
|
&loaded.interns,
|
||||||
&mut loaded.can_problems,
|
&mut loaded.can_problems,
|
||||||
|
|
|
@ -105,7 +105,6 @@ fn write_types_for_module_real(module_id: ModuleId, filename: &str, output_path:
|
||||||
};
|
};
|
||||||
|
|
||||||
let problems = report_problems(
|
let problems = report_problems(
|
||||||
module.total_problems(),
|
|
||||||
&module.sources,
|
&module.sources,
|
||||||
&module.interns,
|
&module.interns,
|
||||||
&mut module.can_problems,
|
&mut module.can_problems,
|
||||||
|
|
|
@ -223,22 +223,6 @@ pub struct ExposedToHost {
|
||||||
pub getters: Vec<Symbol>,
|
pub getters: Vec<Symbol>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> MonomorphizedModule<'a> {
|
|
||||||
pub fn total_problems(&self) -> usize {
|
|
||||||
let mut total = 0;
|
|
||||||
|
|
||||||
for problems in self.can_problems.values() {
|
|
||||||
total += problems.len();
|
|
||||||
}
|
|
||||||
|
|
||||||
for problems in self.type_problems.values() {
|
|
||||||
total += problems.len();
|
|
||||||
}
|
|
||||||
|
|
||||||
total
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct ModuleTiming {
|
pub struct ModuleTiming {
|
||||||
pub read_roc_file: Duration,
|
pub read_roc_file: Duration,
|
||||||
|
|
|
@ -46,13 +46,12 @@ impl Problems {
|
||||||
1 => "warning",
|
1 => "warning",
|
||||||
_ => "warnings",
|
_ => "warnings",
|
||||||
},
|
},
|
||||||
total_time.as_millis(),
|
total_time.as_millis()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn report_problems(
|
pub fn report_problems(
|
||||||
total_problems: usize,
|
|
||||||
sources: &MutMap<ModuleId, (PathBuf, Box<str>)>,
|
sources: &MutMap<ModuleId, (PathBuf, Box<str>)>,
|
||||||
interns: &Interns,
|
interns: &Interns,
|
||||||
can_problems: &mut MutMap<ModuleId, Vec<roc_problem::can::Problem>>,
|
can_problems: &mut MutMap<ModuleId, Vec<roc_problem::can::Problem>>,
|
||||||
|
@ -60,7 +59,17 @@ pub fn report_problems(
|
||||||
) -> Problems {
|
) -> Problems {
|
||||||
use crate::report::{can_problem, type_problem, Report, RocDocAllocator, DEFAULT_PALETTE};
|
use crate::report::{can_problem, type_problem, Report, RocDocAllocator, DEFAULT_PALETTE};
|
||||||
use roc_problem::Severity::*;
|
use roc_problem::Severity::*;
|
||||||
|
|
||||||
let palette = DEFAULT_PALETTE;
|
let palette = DEFAULT_PALETTE;
|
||||||
|
let mut total_problems = 0;
|
||||||
|
|
||||||
|
for problems in can_problems.values() {
|
||||||
|
total_problems += problems.len();
|
||||||
|
}
|
||||||
|
|
||||||
|
for problems in type_problems.values() {
|
||||||
|
total_problems += problems.len();
|
||||||
|
}
|
||||||
|
|
||||||
// This will often over-allocate total memory, but it means we definitely
|
// This will often over-allocate total memory, but it means we definitely
|
||||||
// never need to re-allocate either the warnings or the errors vec!
|
// never need to re-allocate either the warnings or the errors vec!
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue