Struct rustc_smir::rustc_smir::context::TablesWrapper
source · pub struct TablesWrapper<'tcx>(pub RefCell<Tables<'tcx>>);
Tuple Fields§
§0: RefCell<Tables<'tcx>>
Trait Implementations§
source§impl<'tcx> Context for TablesWrapper<'tcx>
impl<'tcx> Context for TablesWrapper<'tcx>
source§fn instance_name(&self, def: InstanceDef, trimmed: bool) -> Symbol
fn instance_name(&self, def: InstanceDef, trimmed: bool) -> Symbol
Retrieve the instance name for diagnostic messages.
This will return the specialized name, e.g., Vec<char>::new
.
source§fn target_info(&self) -> MachineInfo
fn target_info(&self) -> MachineInfo
Return information about the target machine.
fn entry_fn(&self) -> Option<CrateItem>
source§fn all_local_items(&self) -> CrateItems
fn all_local_items(&self) -> CrateItems
Retrieve all items of the local crate that have a MIR associated with them.
source§fn mir_body(&self, item: DefId) -> Body
fn mir_body(&self, item: DefId) -> Body
Retrieve the body of a function.
This function will panic if the body is not available.
fn foreign_modules(&self, crate_num: CrateNum) -> Vec<ForeignModuleDef>
fn foreign_module(&self, mod_def: ForeignModuleDef) -> ForeignModule
fn foreign_items(&self, mod_def: ForeignModuleDef) -> Vec<ForeignDef>
fn all_trait_decls(&self) -> TraitDecls
fn trait_decls(&self, crate_num: CrateNum) -> TraitDecls
fn trait_decl(&self, trait_def: &TraitDef) -> TraitDecl
fn all_trait_impls(&self) -> ImplTraitDecls
fn trait_impls(&self, crate_num: CrateNum) -> ImplTraitDecls
fn trait_impl(&self, impl_def: &ImplDef) -> ImplTrait
fn generics_of(&self, def_id: DefId) -> Generics
fn predicates_of(&self, def_id: DefId) -> GenericPredicates
fn explicit_predicates_of(&self, def_id: DefId) -> GenericPredicates
source§fn local_crate(&self) -> Crate
fn local_crate(&self) -> Crate
Get information about the local crate.
source§fn external_crates(&self) -> Vec<Crate>
fn external_crates(&self) -> Vec<Crate>
Retrieve a list of all external crates.
source§fn get_attrs_by_path(&self, def_id: DefId, attr: &[Symbol]) -> Vec<Attribute>
fn get_attrs_by_path(&self, def_id: DefId, attr: &[Symbol]) -> Vec<Attribute>
Return attributes with the given attribute name. Read more
source§fn span_to_string(&self, span: Span) -> String
fn span_to_string(&self, span: Span) -> String
Returns printable, human readable form of
Span
source§fn get_filename(&self, span: &Span) -> Filename
fn get_filename(&self, span: &Span) -> Filename
Return filename from given
Span
, for diagnostic purposessource§fn is_foreign_item(&self, item: DefId) -> bool
fn is_foreign_item(&self, item: DefId) -> bool
Returns whether this is a foreign item.
source§fn foreign_item_kind(&self, def: ForeignDef) -> ForeignItemKind
fn foreign_item_kind(&self, def: ForeignDef) -> ForeignItemKind
Returns the kind of a given foreign item.
source§fn adt_is_box(&self, def: AdtDef) -> bool
fn adt_is_box(&self, def: AdtDef) -> bool
Returns if the ADT is a box.
source§fn adt_is_simd(&self, def: AdtDef) -> bool
fn adt_is_simd(&self, def: AdtDef) -> bool
Returns whether this ADT is simd.
source§fn adt_is_cstr(&self, def: AdtDef) -> bool
fn adt_is_cstr(&self, def: AdtDef) -> bool
Returns whether this definition is a C string.
source§fn fn_sig(&self, def: FnDef, args: &GenericArgs) -> PolyFnSig
fn fn_sig(&self, def: FnDef, args: &GenericArgs) -> PolyFnSig
Retrieve the function signature for the given generic arguments.
source§fn intrinsic(&self, def: DefId) -> Option<IntrinsicDef>
fn intrinsic(&self, def: DefId) -> Option<IntrinsicDef>
Retrieve the intrinsic definition if the item corresponds one.
source§fn intrinsic_name(&self, def: IntrinsicDef) -> Symbol
fn intrinsic_name(&self, def: IntrinsicDef) -> Symbol
Retrieve the plain function name of an intrinsic.
source§fn closure_sig(&self, args: &GenericArgs) -> PolyFnSig
fn closure_sig(&self, args: &GenericArgs) -> PolyFnSig
Retrieve the closure signature for the given generic arguments.
source§fn adt_variants_len(&self, def: AdtDef) -> usize
fn adt_variants_len(&self, def: AdtDef) -> usize
The number of variants in this ADT.
source§fn variant_name(&self, def: VariantDef) -> Symbol
fn variant_name(&self, def: VariantDef) -> Symbol
The name of a variant.
fn variant_fields(&self, def: VariantDef) -> Vec<FieldDef>
source§fn eval_target_usize(&self, cnst: &MirConst) -> Result<u64, Error>
fn eval_target_usize(&self, cnst: &MirConst) -> Result<u64, Error>
Evaluate constant as a target usize.
fn eval_target_usize_ty(&self, cnst: &TyConst) -> Result<u64, Error>
source§fn try_new_const_zst(&self, ty: Ty) -> Result<MirConst, Error>
fn try_new_const_zst(&self, ty: Ty) -> Result<MirConst, Error>
Create a new zero-sized constant.
source§fn new_const_str(&self, value: &str) -> MirConst
fn new_const_str(&self, value: &str) -> MirConst
Create a new constant that represents the given string value.
source§fn new_const_bool(&self, value: bool) -> MirConst
fn new_const_bool(&self, value: bool) -> MirConst
Create a new constant that represents the given boolean value.
source§fn try_new_const_uint(
&self,
value: u128,
uint_ty: UintTy,
) -> Result<MirConst, Error>
fn try_new_const_uint( &self, value: u128, uint_ty: UintTy, ) -> Result<MirConst, Error>
Create a new constant that represents the given value.
fn try_new_ty_const_uint( &self, value: u128, uint_ty: UintTy, ) -> Result<TyConst, Error>
source§fn new_rigid_ty(&self, kind: RigidTy) -> Ty
fn new_rigid_ty(&self, kind: RigidTy) -> Ty
Create a new type from the given kind.
source§fn new_box_ty(&self, ty: Ty) -> Ty
fn new_box_ty(&self, ty: Ty) -> Ty
Create a new box type,
Box<T>
, for the given inner type T
.source§fn def_ty_with_args(&self, item: DefId, args: &GenericArgs) -> Ty
fn def_ty_with_args(&self, item: DefId, args: &GenericArgs) -> Ty
Returns the type of given definition instantiated with the given arguments.
source§fn mir_const_pretty(&self, cnst: &MirConst) -> String
fn mir_const_pretty(&self, cnst: &MirConst) -> String
Returns literal value of a const as a string.
source§fn span_of_an_item(&self, def_id: DefId) -> Span
fn span_of_an_item(&self, def_id: DefId) -> Span
Span
of an itemfn ty_const_pretty(&self, ct: TyConstId) -> String
fn rigid_ty_discriminant_ty(&self, ty: &RigidTy) -> Ty
source§fn instance_body(&self, def: InstanceDef) -> Option<Body>
fn instance_body(&self, def: InstanceDef) -> Option<Body>
Get the body of an Instance which is already monomorphized.
source§fn instance_ty(&self, def: InstanceDef) -> Ty
fn instance_ty(&self, def: InstanceDef) -> Ty
Get the instance type with generic instantiations applied and lifetimes erased.
source§fn instance_args(&self, def: InstanceDef) -> GenericArgs
fn instance_args(&self, def: InstanceDef) -> GenericArgs
Get the instantiation types.
source§fn instance_abi(&self, def: InstanceDef) -> Result<FnAbi, Error>
fn instance_abi(&self, def: InstanceDef) -> Result<FnAbi, Error>
Get an instance ABI.
source§fn fn_ptr_abi(&self, fn_ptr: PolyFnSig) -> Result<FnAbi, Error>
fn fn_ptr_abi(&self, fn_ptr: PolyFnSig) -> Result<FnAbi, Error>
Get the ABI of a function pointer.
source§fn instance_def_id(&self, def: InstanceDef) -> DefId
fn instance_def_id(&self, def: InstanceDef) -> DefId
Get the instance.
source§fn instance_mangled_name(&self, instance: InstanceDef) -> Symbol
fn instance_mangled_name(&self, instance: InstanceDef) -> Symbol
Get the instance mangled name.
source§fn is_empty_drop_shim(&self, def: InstanceDef) -> bool
fn is_empty_drop_shim(&self, def: InstanceDef) -> bool
Check if this is an empty DropGlue shim.
source§fn is_empty_async_drop_ctor_shim(&self, def: InstanceDef) -> bool
fn is_empty_async_drop_ctor_shim(&self, def: InstanceDef) -> bool
Check if this is an empty AsyncDropGlueCtor shim.
source§fn mono_instance(&self, def_id: DefId) -> Instance
fn mono_instance(&self, def_id: DefId) -> Instance
Convert a non-generic crate item into an instance.
This function will panic if the item is generic.
source§fn requires_monomorphization(&self, def_id: DefId) -> bool
fn requires_monomorphization(&self, def_id: DefId) -> bool
Item requires monomorphization.
source§fn resolve_instance(&self, def: FnDef, args: &GenericArgs) -> Option<Instance>
fn resolve_instance(&self, def: FnDef, args: &GenericArgs) -> Option<Instance>
Resolve an instance from the given function definition and generic arguments.
source§fn resolve_drop_in_place(&self, ty: Ty) -> Instance
fn resolve_drop_in_place(&self, ty: Ty) -> Instance
Resolve an instance for drop_in_place for the given type.
source§fn resolve_for_fn_ptr(&self, def: FnDef, args: &GenericArgs) -> Option<Instance>
fn resolve_for_fn_ptr(&self, def: FnDef, args: &GenericArgs) -> Option<Instance>
Resolve instance for a function pointer.
source§fn resolve_closure(
&self,
def: ClosureDef,
args: &GenericArgs,
kind: ClosureKind,
) -> Option<Instance>
fn resolve_closure( &self, def: ClosureDef, args: &GenericArgs, kind: ClosureKind, ) -> Option<Instance>
Resolve instance for a closure with the requested type.
source§fn eval_instance(
&self,
def: InstanceDef,
const_ty: Ty,
) -> Result<Allocation, Error>
fn eval_instance( &self, def: InstanceDef, const_ty: Ty, ) -> Result<Allocation, Error>
Try to evaluate an instance into a constant.
source§fn eval_static_initializer(&self, def: StaticDef) -> Result<Allocation, Error>
fn eval_static_initializer(&self, def: StaticDef) -> Result<Allocation, Error>
Evaluate a static’s initializer.
source§fn global_alloc(&self, alloc: AllocId) -> GlobalAlloc
fn global_alloc(&self, alloc: AllocId) -> GlobalAlloc
Retrieve global allocation for the given allocation ID.
source§fn vtable_allocation(&self, global_alloc: &GlobalAlloc) -> Option<AllocId>
fn vtable_allocation(&self, global_alloc: &GlobalAlloc) -> Option<AllocId>
Retrieve the id for the virtual table.
fn krate(&self, def_id: DefId) -> Crate
source§fn layout_shape(&self, id: Layout) -> LayoutShape
fn layout_shape(&self, id: Layout) -> LayoutShape
Get the layout shape.
source§fn place_pretty(&self, place: &Place) -> String
fn place_pretty(&self, place: &Place) -> String
Get a debug string representation of a place.
Auto Trait Implementations§
impl<'tcx> !Freeze for TablesWrapper<'tcx>
impl<'tcx> !RefUnwindSafe for TablesWrapper<'tcx>
impl<'tcx> !Send for TablesWrapper<'tcx>
impl<'tcx> !Sync for TablesWrapper<'tcx>
impl<'tcx> Unpin for TablesWrapper<'tcx>
impl<'tcx> !UnwindSafe for TablesWrapper<'tcx>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
source§impl<T> Filterable for T
impl<T> Filterable for T
source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed, ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 464 bytes