pub fn compute_mir_scopes(
    cx: &CodegenCx<'ll, '_>,
    mir: &Body<'_>,
    fn_metadata: &'ll DISubprogram,
    debug_context: &mut FunctionDebugContext<&'ll DIScope>,
) {
    // Find all the scopes with variables defined in them.
    let mut has_variables = BitSet::new_empty(mir.source_scopes.len());
    // FIXME(eddyb) take into account that arguments always have debuginfo,
    // irrespective of their name (assuming full debuginfo is enabled).
    for var_debug_info in &mir.var_debug_info {
        has_variables.insert(var_debug_info.source_info.scope);
    }

    // Instantiate all scopes.
    for idx in 0..mir.source_scopes.len() {
        let scope = SourceScope::new(idx);
        make_mir_scope(cx, &mir, fn_metadata, &has_variables, debug_context, scope);
    }
}
/// Produces DIScope DIEs for each MIR Scope which has variables defined in it.
Produces DIScope DIEs for each MIR Scope which has variables defined in it.
Produces DIScope DIEs for each MIR Scope which has variables defined in it .
pub fn compute_mir_scopes(
    cx: &CodegenCx<'ll, '_>,
    mir: &Body<'_>,
    fn_metadata: &'ll DISubprogram,
    debug_context: &mut FunctionDebugContext<&'ll DIScope>,
) {
    // Find all the scopes with variables defined in them.
    let mut has_variables = BitSet::new_empty(mir.source_scopes.len());
    // FIXME(eddyb) take into account that arguments always have debuginfo,
    // irrespective of their name (assuming full debuginfo is enabled).
    for var_debug_info in &mir.var_debug_info {
        has_variables.insert(var_debug_info.source_info.scope);
    }
    // Instantiate all scopes.
    for idx in 0..mir.source_scopes.len() {
        let scope = SourceScope::new(idx);
        make_mir_scope(cx, &mir, fn_metadata, &has_variables, debug_context, scope);
    }
}
pub fn compute_mir_scopes ( cx : & CodegenCx < ' ll , ' _ > , mir : & Body < ' _ > , fn_metadata : & ' ll DISubprogram , debug_context : & mut FunctionDebugContext < & ' ll DIScope > , ) { // Find all the scopes with variables defined in them. let mut has_variables = BitSet :: new_empty ( mir . source_scopes . len ( ) ) ; // FIXME(eddyb) take into account that arguments always have debuginfo, // irrespective of their name (assuming full debuginfo is enabled). for var_debug_info in & mir . var_debug_info { has_variables . insert ( var_debug_info . source_info . scope ) ; } // Instantiate all scopes. for idx in 0 .. mir . source_scopes . len ( ) { let scope = SourceScope :: new ( idx ) ; make_mir_scope ( cx , & mir , fn_metadata , & has_variables , debug_context , scope ) ; } }
Produces DIScope DIEs for each MIR Scope which has variables defined in it.
Produces DIScope DIEs for each MIR Scope which has variables defined in it .
cx
&CodegenCx<'ll, '_>
mir
&Body<'_>
fn_metadata
&'ll DISubprogram
debug_context
&mut FunctionDebugContext<&'ll DIScope>