Struct debris_llir::objects::obj_tuple_object::ObjTupleObject
source · pub struct ObjTupleObject {
pub class: TupleRef,
pub values: Vec<ObjectRef>,
memory_layout: MemoryLayout,
}
Expand description
A heterogenous, compile-time known collection of objects. Todo: Consider making the construction of tuples which share all but a few elements with another tuple cheaper.
Fields§
§class: TupleRef
§values: Vec<ObjectRef>
§memory_layout: MemoryLayout
Implementations§
Trait Implementations§
source§impl Debug for ObjTupleObject
impl Debug for ObjTupleObject
source§impl Display for ObjTupleObject
impl Display for ObjTupleObject
source§impl HasClass for ObjTupleObject
impl HasClass for ObjTupleObject
source§fn create_properties(ctx: &TypeContext) -> ObjectProperties
fn create_properties(ctx: &TypeContext) -> ObjectProperties
Returns all properties that belong to this class
source§fn static_class(ctx: &TypeContext) -> ClassRef
fn static_class(ctx: &TypeContext) -> ClassRef
Returns the static class that belongs to this Object
source§impl ObjectPayload for ObjTupleObject
impl ObjectPayload for ObjTupleObject
source§fn memory_layout(&self) -> &MemoryLayout
fn memory_layout(&self) -> &MemoryLayout
Returns the memory layout of this specific object
This method is usually only called once
source§fn create_class(&self, ctx: &TypeContext) -> ClassRef
fn create_class(&self, ctx: &TypeContext) -> ClassRef
The class specific to this object.
Contains additionally to the class generics and the memory layout Read more
source§fn get_property(&self, _ctx: &TypeContext, ident: &Ident) -> Option<ObjectRef>
fn get_property(&self, _ctx: &TypeContext, ident: &Ident) -> Option<ObjectRef>
May be overwritten by distinct payloads which carry properties
source§fn json_fmt(&self, buf: &mut Vec<JsonFormatComponent>)
fn json_fmt(&self, buf: &mut Vec<JsonFormatComponent>)
Converts this object into json components so it can be rendered in minecraft chat
source§fn runtime_class(&self, _ctx: &TypeContext) -> Option<ClassRef>
fn runtime_class(&self, _ctx: &TypeContext) -> Option<ClassRef>
Returns the class which the runtime encodable variant of this object would have.
Used to determine the class passed into the
promote
method of objects.source§impl PartialEq for ObjTupleObject
impl PartialEq for ObjTupleObject
source§fn eq(&self, other: &ObjTupleObject) -> bool
fn eq(&self, other: &ObjTupleObject) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ObjTupleObject
impl StructuralEq for ObjTupleObject
impl StructuralPartialEq for ObjTupleObject
Auto Trait Implementations§
impl !RefUnwindSafe for ObjTupleObject
impl !Send for ObjTupleObject
impl !Sync for ObjTupleObject
impl Unpin for ObjTupleObject
impl !UnwindSafe for ObjTupleObject
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.