Skip to main content

DebugInfoCodegenMethods

Trait DebugInfoCodegenMethods 

Source
pub trait DebugInfoCodegenMethods<'tcx>: BackendTypes {
    // Required methods
    fn create_vtable_debuginfo(
        &self,
        ty: Ty<'tcx>,
        trait_ref: Option<ExistentialTraitRef<'tcx>>,
        vtable: Self::Value,
    );
    fn dbg_create_lexical_block(
        &self,
        pos: BytePos,
        parent_scope: Self::DIScope,
    ) -> Self::DIScope;
    fn dbg_location_clone_with_discriminator(
        &self,
        loc: Self::DILocation,
        discriminator: u32,
    ) -> Option<Self::DILocation>;
    fn dbg_scope_fn(
        &self,
        instance: Instance<'tcx>,
        fn_abi: &FnAbi<'tcx, Ty<'tcx>>,
        maybe_definition_llfn: Option<Self::Function>,
    ) -> Self::DIScope;
    fn dbg_loc(
        &self,
        scope: Self::DIScope,
        inlined_at: Option<Self::DILocation>,
        span: Span,
    ) -> Self::DILocation;
    fn extend_scope_to_file(
        &self,
        scope_metadata: Self::DIScope,
        file: &SourceFile,
    ) -> Self::DIScope;
    fn debuginfo_finalize(&self);
    fn create_dbg_var(
        &self,
        variable_name: Symbol,
        variable_type: Ty<'tcx>,
        scope_metadata: Self::DIScope,
        variable_kind: VariableKind,
        span: Span,
    ) -> Self::DIVariable;
}

Required Methods§

Source

fn create_vtable_debuginfo( &self, ty: Ty<'tcx>, trait_ref: Option<ExistentialTraitRef<'tcx>>, vtable: Self::Value, )

Source

fn dbg_create_lexical_block( &self, pos: BytePos, parent_scope: Self::DIScope, ) -> Self::DIScope

Source

fn dbg_location_clone_with_discriminator( &self, loc: Self::DILocation, discriminator: u32, ) -> Option<Self::DILocation>

Source

fn dbg_scope_fn( &self, instance: Instance<'tcx>, fn_abi: &FnAbi<'tcx, Ty<'tcx>>, maybe_definition_llfn: Option<Self::Function>, ) -> Self::DIScope

Source

fn dbg_loc( &self, scope: Self::DIScope, inlined_at: Option<Self::DILocation>, span: Span, ) -> Self::DILocation

Source

fn extend_scope_to_file( &self, scope_metadata: Self::DIScope, file: &SourceFile, ) -> Self::DIScope

Source

fn debuginfo_finalize(&self)

Source

fn create_dbg_var( &self, variable_name: Symbol, variable_type: Ty<'tcx>, scope_metadata: Self::DIScope, variable_kind: VariableKind, span: Span, ) -> Self::DIVariable

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§