Struct Param
pub struct Param {
pub rid: u32,
pub token: Token,
pub offset: usize,
pub flags: u32,
pub sequence: u32,
pub name: Option<String>,
pub default: OnceLock<CilPrimitive>,
pub marshal: OnceLock<MarshallingInfo>,
pub modifiers: CilTypeRefList,
pub base: OnceLock<CilTypeRef>,
pub is_by_ref: AtomicBool,
pub custom_attributes: CustomAttributeValueList,
}Expand description
The Param table defines parameters for methods in the MethodDef table. Similar to ParamRaw but
with resolved indexes and owned data.
Fields§
§rid: u32RowID
token: TokenToken
offset: usizeOffset
flags: u32bitmask of ParamAttributes, §II.23.1.13
sequence: u32The sequence number (0 for return value)
name: Option<String>The parameter name
default: OnceLock<CilPrimitive>flags.HAS_DEFAULT -> This is the default value of this parameter
marshal: OnceLock<MarshallingInfo>flags.HAS_MARSHAL -> The marshal instructions for PInvoke
modifiers: CilTypeRefListCustom modifiers that are applied to this Param
base: OnceLock<CilTypeRef>The underlaying type of this Param
is_by_ref: AtomicBoolIs the parameter passed by reference
custom_attributes: CustomAttributeValueListCustom attributes applied to this parameter
Implementations§
§impl Param
impl Param
pub fn apply_signature(
&self,
signature: &SignatureParameter,
types: Arc<TypeRegistry>,
) -> Result<()>
pub fn apply_signature( &self, signature: &SignatureParameter, types: Arc<TypeRegistry>, ) -> Result<()>
Apply a signature to this parameter, will cause update with type information
§Errors
Returns an error if type resolution fails, if modifier types cannot be resolved, or if the base type has already been set for this parameter.
§Arguments
- ‘signature’ - The signature to apply to this parameter
- ‘types’ - The type registry for lookup and generation of types
Auto Trait Implementations§
impl !Freeze for Param
impl RefUnwindSafe for Param
impl Send for Param
impl Sync for Param
impl Unpin for Param
impl UnwindSafe for Param
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> 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 more