pub struct ProgramMetadata<V = Value, Ty = Type, Info = NoInfo> {
pub functions: Vec<FunctionInfo<Ty>>,
pub labels: Vec<LabelInfo>,
pub constants: Vec<V>,
pub strings: Vec<String>,
pub main_function: Option<u32>,
pub source_symbols: Vec<SourceSymbolInfo>,
pub extra: Info,
}Expand description
All non-code fields of a LocalModule, supplied explicitly by a section header.
The ordinary metadata derive owns object parsing, including nested records.
Fields§
§functions: Vec<FunctionInfo<Ty>>§labels: Vec<LabelInfo>§constants: Vec<V>§strings: Vec<String>§main_function: Option<u32>§source_symbols: Vec<SourceSymbolInfo>§extra: InfoImplementations§
Source§impl<V, Ty, Info> ProgramMetadata<V, Ty, Info>
impl<V, Ty, Info> ProgramMetadata<V, Ty, Info>
Sourcepub fn map_extra<NewInfo>(
self,
map: impl FnOnce(Info) -> NewInfo,
) -> ProgramMetadata<V, Ty, NewInfo>
pub fn map_extra<NewInfo>( self, map: impl FnOnce(Info) -> NewInfo, ) -> ProgramMetadata<V, Ty, NewInfo>
Transform consumer-specific extra metadata while preserving every table.
Source§impl<Ty, Info> ProgramMetadata<Value, Ty, Info>
impl<Ty, Info> ProgramMetadata<Value, Ty, Info>
Sourcepub fn into_module<I>(
self,
code: Vec<I>,
) -> Result<LocalModule<I, Value, Ty, Info>>
pub fn into_module<I>( self, code: Vec<I>, ) -> Result<LocalModule<I, Value, Ty, Info>>
Assemble the standard value model, checking the supplied tables once.
Custom value models can assemble LocalModule directly after validate.
Trait Implementations§
Source§impl<V: Clone, Ty: Clone, Info: Clone> Clone for ProgramMetadata<V, Ty, Info>
impl<V: Clone, Ty: Clone, Info: Clone> Clone for ProgramMetadata<V, Ty, Info>
Source§fn clone(&self) -> ProgramMetadata<V, Ty, Info>
fn clone(&self) -> ProgramMetadata<V, Ty, Info>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'__vihaco_src, V, Ty, Info> Parse<'__vihaco_src> for ProgramMetadata<V, Ty, Info>where
Vec<FunctionInfo<Ty>>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<LabelInfo>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<V>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<String>: Parse<'__vihaco_src> + '__vihaco_src,
Option<u32>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<SourceSymbolInfo>: Parse<'__vihaco_src> + '__vihaco_src,
Info: Parse<'__vihaco_src> + '__vihaco_src,
impl<'__vihaco_src, V, Ty, Info> Parse<'__vihaco_src> for ProgramMetadata<V, Ty, Info>where
Vec<FunctionInfo<Ty>>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<LabelInfo>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<V>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<String>: Parse<'__vihaco_src> + '__vihaco_src,
Option<u32>: Parse<'__vihaco_src> + '__vihaco_src,
Vec<SourceSymbolInfo>: Parse<'__vihaco_src> + '__vihaco_src,
Info: Parse<'__vihaco_src> + '__vihaco_src,
Source§impl<V: PartialEq, Ty: PartialEq, Info: PartialEq> PartialEq for ProgramMetadata<V, Ty, Info>
impl<V: PartialEq, Ty: PartialEq, Info: PartialEq> PartialEq for ProgramMetadata<V, Ty, Info>
impl<V: PartialEq, Ty: PartialEq, Info: PartialEq> StructuralPartialEq for ProgramMetadata<V, Ty, Info>
Auto Trait Implementations§
impl<V, Ty, Info> Freeze for ProgramMetadata<V, Ty, Info>where
Info: Freeze,
impl<V, Ty, Info> RefUnwindSafe for ProgramMetadata<V, Ty, Info>
impl<V, Ty, Info> Send for ProgramMetadata<V, Ty, Info>
impl<V, Ty, Info> Sync for ProgramMetadata<V, Ty, Info>
impl<V, Ty, Info> Unpin for ProgramMetadata<V, Ty, Info>
impl<V, Ty, Info> UnsafeUnpin for ProgramMetadata<V, Ty, Info>where
Info: UnsafeUnpin,
impl<V, Ty, Info> UnwindSafe for ProgramMetadata<V, Ty, Info>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].