Skip to main content

check_file_core

Function check_file_core 

Source
pub fn check_file_core(
    name: &str,
    kind: UnitKind,
    pf: &ParsedFile,
    unit_info: &BTreeMap<String, UnitInfo>,
    combined_types: &HashMap<String, Arc<TypeDecl>>,
    combined_fns: &HashMap<String, Arc<FnDecl>>,
    combined_methods: &HashMap<String, MethodTable>,
    local_names: &HashSet<String>,
    local_methods_for_type: &HashMap<String, Vec<FnDecl>>,
    consumed_types: &HashMap<String, ConsumedType>,
    imported_from: &HashMap<String, String>,
    ctx: &UnitCheckCtx,
    errors: &mut ErrorSink,
    refs: &mut RefSink,
    hints: &mut HintSink,
    locals: &mut LocalsSink,
    exprs: &mut ExprTypeSink,
    requirements: &mut RequirementSink,
    tys: &Arc<Types>,
) -> Option<FileCheckResult>
Expand description

The shared resolve+check+context-checks core for one file, factored out of check_unit_files (see this module’s own doc comment). Returns Some(FileCheckResult) only on the fully-clean, non-blocked path — the signal a Mode::Build caller uses to know it may proceed to certify+emit_unit. Every error/blocked exit records best-effort partial types unconditionally (see record_analyse_types) and returns None.