Skip to main content

AliasAnalysis

Trait AliasAnalysis 

Source
pub trait AliasAnalysis: Analysis {
    // Required methods
    fn get_fn_alias(&self, def_id: DefId) -> Option<FnAliasPairs>;
    fn get_all_fn_alias(&self) -> FnAliasMap;

    // Provided methods
    fn get_local_fn_alias(&self) -> FnAliasMap { ... }
    fn get_local_origins(&self, _def_id: DefId) -> LocalOriginMap { ... }
    fn get_self_field_origin(
        &self,
        _def_id: DefId,
        _local: usize,
        _fields: &[usize],
    ) -> Option<FieldOrigin> { ... }
}
Expand description

This trait provides features related to alias analysis.

Required Methods§

Source

fn get_fn_alias(&self, def_id: DefId) -> Option<FnAliasPairs>

Return the aliases among the function arguments and return value of a specific function.

Source

fn get_all_fn_alias(&self) -> FnAliasMap

Return the aliases among the function arguments and return value for all functions.

Provided Methods§

Source

fn get_local_fn_alias(&self) -> FnAliasMap

Return the aliases among the function arguments and return value for functions of the local crate.

Source

fn get_local_origins(&self, _def_id: DefId) -> LocalOriginMap

Return the intra-procedural local → origin mapping for a function. Default returns empty; analyser implementations may override with cached or MoP-based results.

Source

fn get_self_field_origin( &self, _def_id: DefId, _local: usize, _fields: &[usize], ) -> Option<FieldOrigin>

If a place (local + field projections) in a method body resolves to a struct’s self.field, return the field identity.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§