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 {
|
||||
report_problems(
|
||||
loaded.total_problems(),
|
||||
&loaded.sources,
|
||||
&loaded.interns,
|
||||
&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 {
|
||||
report_problems(
|
||||
loaded.total_problems(),
|
||||
&loaded.sources,
|
||||
&loaded.interns,
|
||||
&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(
|
||||
module.total_problems(),
|
||||
&module.sources,
|
||||
&module.interns,
|
||||
&mut module.can_problems,
|
||||
|
|
|
@ -223,22 +223,6 @@ pub struct ExposedToHost {
|
|||
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)]
|
||||
pub struct ModuleTiming {
|
||||
pub read_roc_file: Duration,
|
||||
|
|
|
@ -46,13 +46,12 @@ impl Problems {
|
|||
1 => "warning",
|
||||
_ => "warnings",
|
||||
},
|
||||
total_time.as_millis(),
|
||||
total_time.as_millis()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn report_problems(
|
||||
total_problems: usize,
|
||||
sources: &MutMap<ModuleId, (PathBuf, Box<str>)>,
|
||||
interns: &Interns,
|
||||
can_problems: &mut MutMap<ModuleId, Vec<roc_problem::can::Problem>>,
|
||||
|
@ -60,7 +59,17 @@ pub fn report_problems(
|
|||
) -> Problems {
|
||||
use crate::report::{can_problem, type_problem, Report, RocDocAllocator, DEFAULT_PALETTE};
|
||||
use roc_problem::Severity::*;
|
||||
|
||||
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
|
||||
// never need to re-allocate either the warnings or the errors vec!
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue