Struct rustc_typeck::middle::region::RegionMaps
[−]
[src]
pub struct RegionMaps { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (
rustc_private
)The region maps encode information about region relationships.
Methods
impl RegionMaps
[src]
fn bogus_code_extent(&self, e: CodeExtentData) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)create a bogus code extent for the regions in astencode types. Nobody really cares about the contents of these.
fn lookup_code_extent(&self, e: CodeExtentData) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)fn node_extent(&self, n: NodeId) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)fn item_extent(&self, n: NodeId) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)fn call_site_extent(&self, fn_id: NodeId, body_id: NodeId) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)fn opt_destruction_extent(&self, n: NodeId) -> Option<CodeExtent>
🔬 This is a nightly-only experimental API. (
rustc_private
)fn intern_code_extent(&self,
e: CodeExtentData,
parent: CodeExtent)
-> CodeExtent
e: CodeExtentData,
parent: CodeExtent)
-> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)fn intern_node(&self, n: NodeId, parent: CodeExtent) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)fn code_extent_data(&self, e: CodeExtent) -> CodeExtentData
🔬 This is a nightly-only experimental API. (
rustc_private
)fn each_encl_scope<E>(&self, e: E) where E: FnMut(&CodeExtent, &CodeExtent) -> ()
🔬 This is a nightly-only experimental API. (
rustc_private
)fn each_var_scope<E>(&self, e: E) where E: FnMut(&NodeId, &CodeExtent) -> ()
🔬 This is a nightly-only experimental API. (
rustc_private
)fn opt_encl_scope(&self, id: CodeExtent) -> Option<CodeExtent>
🔬 This is a nightly-only experimental API. (
rustc_private
)Returns the narrowest scope that encloses id
, if any.
fn encl_scope(&self, id: CodeExtent) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)Returns the narrowest scope that encloses id
, if any.
fn var_scope(&self, var_id: NodeId) -> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)Returns the lifetime of the local variable var_id
fn temporary_scope2(&self, expr_id: NodeId) -> (Option<CodeExtent>, bool)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn old_and_new_temporary_scope(&self,
expr_id: NodeId)
-> (Option<CodeExtent>, Option<CodeExtent>)
expr_id: NodeId)
-> (Option<CodeExtent>, Option<CodeExtent>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn temporary_scope(&self, expr_id: NodeId) -> Option<CodeExtent>
🔬 This is a nightly-only experimental API. (
rustc_private
)Returns the scope when temp created by expr_id will be cleaned up
fn var_region(&self, id: NodeId) -> Region
🔬 This is a nightly-only experimental API. (
rustc_private
)Returns the lifetime of the variable id
.
fn scopes_intersect(&self, scope1: CodeExtent, scope2: CodeExtent) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private
)fn is_subscope_of(&self, subscope: CodeExtent, superscope: CodeExtent) -> bool
🔬 This is a nightly-only experimental API. (
rustc_private
)Returns true if subscope
is equal to or is lexically nested inside superscope
and false
otherwise.
fn nearest_common_ancestor(&self,
scope_a: CodeExtent,
scope_b: CodeExtent)
-> CodeExtent
scope_a: CodeExtent,
scope_b: CodeExtent)
-> CodeExtent
🔬 This is a nightly-only experimental API. (
rustc_private
)Finds the nearest common ancestor (if any) of two scopes. That is, finds the smallest
scope which is greater than or equal to both scope_a
and scope_b
.