Struct MethodDefRaw
pub struct MethodDefRaw {
pub rid: u32,
pub token: Token,
pub offset: usize,
pub rva: u32,
pub impl_flags: u32,
pub flags: u32,
pub name: u32,
pub signature: u32,
pub param_list: u32,
}Expand description
The MethodDef table defines methods for types in the TypeDef table. TableId = 0x06
Fields§
§rid: u32RowID
token: TokenToken
offset: usizeOffset
rva: u32a 4-byte constant
impl_flags: u32bitmask of MethodImplAttributes, §II.23.1.10
flags: u32bitmask of MethodAttributes, §II.23.1.10
name: u32an index into the String heap
signature: u32an index into the Blob heap
param_list: u32an index into the Param table
Implementations§
§impl MethodDefRaw
impl MethodDefRaw
pub fn to_owned(
&self,
strings: &Strings<'_>,
blob: &Blob<'_>,
params_map: &ParamMap,
table: &MetadataTable<'_, MethodDefRaw>,
) -> Result<MethodRc>
pub fn to_owned( &self, strings: &Strings<'_>, blob: &Blob<'_>, params_map: &ParamMap, table: &MetadataTable<'_, MethodDefRaw>, ) -> Result<MethodRc>
Convert an MethodDefRaw, into a Method which has indexes resolved and owns the referenced data
§Arguments
- ‘strings’ - The processed Strings
- ‘blob’ - The processed Blobs
- ‘
params_map’ - All parsedParamentries for param resolution - ‘table’ - The
MethodDeftable for getting next row’sparam_list
§Errors
Returns an error if the method name cannot be retrieved from the strings heap, or if the method signature cannot be parsed from the blob heap.
pub fn apply(&self) -> Result<()>
pub fn apply(&self) -> Result<()>
Apply a MethodDefRaw entry to update related metadata structures.
MethodDef entries define methods within types. They are associated with their parent
types but don’t themselves modify other metadata during the dual variant resolution phase.
Method-specific metadata (P/Invoke info, generic parameters, etc.) is resolved separately.
§Errors
Always returns Ok(()) as MethodDef entries don’t modify other tables directly.
Trait Implementations§
§impl Clone for MethodDefRaw
impl Clone for MethodDefRaw
§fn clone(&self) -> MethodDefRaw
fn clone(&self) -> MethodDefRaw
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for MethodDefRaw
impl Debug for MethodDefRaw
§impl<'a> RowDefinition<'a> for MethodDefRaw
impl<'a> RowDefinition<'a> for MethodDefRaw
Auto Trait Implementations§
impl Freeze for MethodDefRaw
impl RefUnwindSafe for MethodDefRaw
impl Send for MethodDefRaw
impl Sync for MethodDefRaw
impl Unpin for MethodDefRaw
impl UnwindSafe for MethodDefRaw
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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