pub enum GosMetadata {
Untyped,
NonPtr(MetadataKey, MetaCategory),
Ptr1(MetadataKey, MetaCategory),
Ptr2(MetadataKey, MetaCategory),
Ptr3(MetadataKey, MetaCategory),
Ptr4(MetadataKey, MetaCategory),
Ptr5(MetadataKey, MetaCategory),
Ptr6(MetadataKey, MetaCategory),
Ptr7(MetadataKey, MetaCategory),
}
Variants§
Untyped
NonPtr(MetadataKey, MetaCategory)
Ptr1(MetadataKey, MetaCategory)
Ptr2(MetadataKey, MetaCategory)
Ptr3(MetadataKey, MetaCategory)
Ptr4(MetadataKey, MetaCategory)
Ptr5(MetadataKey, MetaCategory)
Ptr6(MetadataKey, MetaCategory)
Ptr7(MetadataKey, MetaCategory)
Implementations§
Source§impl GosMetadata
impl GosMetadata
pub fn new(v: MetadataType, metas: &mut MetadataObjs) -> GosMetadata
pub fn new_array( elem_meta: GosMetadata, size: usize, metas: &mut MetadataObjs, ) -> GosMetadata
pub fn new_slice(val_meta: GosMetadata, metas: &mut MetadataObjs) -> GosMetadata
pub fn new_map( kmeta: GosMetadata, vmeta: GosMetadata, metas: &mut MetadataObjs, ) -> GosMetadata
pub fn new_interface(fields: Fields, metas: &mut MetadataObjs) -> GosMetadata
pub fn new_channel( typ: ChannelType, val_meta: GosMetadata, metas: &mut MetadataObjs, ) -> GosMetadata
pub fn new_struct( f: Fields, objs: &mut VMObjects, gcv: &mut GcoVec, ) -> GosMetadata
pub fn new_sig( recv: Option<GosMetadata>, params: Vec<GosMetadata>, results: Vec<GosMetadata>, variadic: Option<(GosMetadata, GosMetadata)>, metas: &mut MetadataObjs, ) -> GosMetadata
pub fn new_named( underlying: GosMetadata, metas: &mut MetadataObjs, ) -> GosMetadata
pub fn new_slice_from_array(array: GosMetadata) -> GosMetadata
pub fn ptr_to(&self) -> GosMetadata
pub fn unptr_to(&self) -> GosMetadata
pub fn as_non_ptr(&self) -> MetadataKey
pub fn unwrap_non_ptr(&self) -> (MetadataKey, MetaCategory)
pub fn into_type_category(self) -> GosMetadata
pub fn get_value_type(&self, metas: &MetadataObjs) -> ValueType
pub fn zero_val(&self, mobjs: &MetadataObjs, gcos: &GcoVec) -> GosValue
pub fn default_val(&self, mobjs: &MetadataObjs, gcos: &GcoVec) -> GosValue
pub fn field_index(&self, name: &str, metas: &MetadataObjs) -> OpIndex
pub fn get_underlying(&self, metas: &MetadataObjs) -> GosMetadata
pub fn recv_meta_key(&self) -> MetadataKey
pub fn add_method( &self, name: String, pointer_recv: bool, metas: &mut MetadataObjs, )
pub fn set_method_code( &self, name: &String, func: FunctionKey, metas: &mut MetadataObjs, )
pub fn get_named_metadate<'a>( &self, metas: &'a MetadataObjs, ) -> (&'a Methods, &'a GosMetadata)
pub fn get_method( &self, index: OpIndex, metas: &MetadataObjs, ) -> Rc<RefCell<MethodDesc>>
Sourcepub fn method_index(&self, name: &str, metas: &MetadataObjs) -> OpIndex
pub fn method_index(&self, name: &str, metas: &MetadataObjs) -> OpIndex
method_index returns the index of the method of a non-interface
Sourcepub fn iface_method_index(&self, name: &str, metas: &MetadataObjs) -> OpIndex
pub fn iface_method_index(&self, name: &str, metas: &MetadataObjs) -> OpIndex
iface_method_index returns the index of the method of an interface
pub fn semantic_eq(&self, other: &Self, metas: &MetadataObjs) -> bool
Trait Implementations§
Source§impl Clone for GosMetadata
impl Clone for GosMetadata
Source§fn clone(&self) -> GosMetadata
fn clone(&self) -> GosMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for GosMetadata
impl Debug for GosMetadata
Source§impl PartialEq for GosMetadata
impl PartialEq for GosMetadata
impl Copy for GosMetadata
impl StructuralPartialEq for GosMetadata
Auto Trait Implementations§
impl Freeze for GosMetadata
impl RefUnwindSafe for GosMetadata
impl Send for GosMetadata
impl Sync for GosMetadata
impl Unpin for GosMetadata
impl UnwindSafe for GosMetadata
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