Struct ExportedType
pub struct ExportedType {
pub rid: u32,
pub token: Token,
pub offset: usize,
pub flags: u32,
pub type_def_id: u32,
pub name: String,
pub namespace: Option<String>,
pub implementation: CilTypeReference,
pub custom_attributes: CustomAttributeValueList,
}Expand description
The ExportedType table contains information about types that are exported from the current assembly,
but defined in other modules of the assembly. Similar to ExportedTypeRaw but with resolved indexes and
owned data
Fields§
§rid: u32RowID
token: TokenToken
offset: usizeOffset
flags: u32a 4-byte bitmask of type TypeAttributes, §II.23.1.15
type_def_id: u32a 4-byte index into the (foreign) TypeDef table (this is a hint only, name + namespace are used primarily.
If type_def_id happens to match, it has been resolved correctly. type_def_id can be 0)
name: StringThe type name
namespace: Option<String>The type namespace
implementation: CilTypeReferenceA reference to the Implementation
custom_attributes: CustomAttributeValueListCustom attributes applied to this ExportedType
Implementations§
§impl ExportedType
impl ExportedType
pub fn apply(&self) -> Result<()>
pub fn apply(&self) -> Result<()>
Apply an ExportedType entry to update related metadata structures.
ExportedType entries define types that are exported from this assembly but may be
implemented in other files or assemblies. They are primarily metadata descriptors
and don’t require cross-table updates during the dual variant resolution phase.
§Errors
Always returns Ok(()) as ExportedType entries don’t modify other tables.
Auto Trait Implementations§
impl Freeze for ExportedType
impl RefUnwindSafe for ExportedType
impl Send for ExportedType
impl Sync for ExportedType
impl Unpin for ExportedType
impl UnwindSafe for ExportedType
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
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>
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>
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 more