pub struct ObjModule {
    pub ident: Ident,
    pub members: ObjectProperties,
}
Expand description

A module object

Contains other values, including nested modules.

Fields§

§ident: Ident

The identifying name of this module

§members: ObjectProperties

The members of this module

Implementations§

source§

impl ObjModule

source

pub fn new(name: impl Into<Ident>) -> Self

Creates a new empty module with this name

source

pub fn with_members(name: Ident, members: ObjectProperties) -> Self

source

pub fn ident(&self) -> &Ident

Returns the ident of this module

source

pub fn members(&self) -> impl Iterator<Item = (&Ident, &ObjectRef)>

source

pub fn set_property<T: Into<Ident>>( &mut self, name: T, value: ObjectRef ) -> Option<ObjectRef>

Sets a property

If it already exists, replaces the old value and returns it

source

pub fn register<T: Into<Ident>>(&mut self, name: T, value: ObjectRef)

Registers a value for the first time

Panics if it already exists

source

pub fn register_function(&mut self, ctx: &TypeContext, function: ObjFunction)

A more concise way to register builtin functions without having to declare its name twice.

Trait Implementations§

source§

impl Clone for ObjModule

source§

fn clone(&self) -> ObjModule

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ObjModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for ObjModule

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl HasClass for ObjModule

source§

fn create_properties(ctx: &TypeContext) -> ObjectProperties

Returns all properties that belong to this class
source§

fn static_class(ctx: &TypeContext) -> ClassRef

Returns the static class that belongs to this Object
source§

impl ObjectPayload for ObjModule

source§

fn memory_layout(&self) -> &MemoryLayout

Returns the memory layout of this specific object This method is usually only called once
source§

fn get_property(&self, _ctx: &TypeContext, ident: &Ident) -> Option<ObjectRef>

May be overwritten by distinct payloads which carry properties
source§

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 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§

fn json_fmt(&self, buf: &mut Vec<JsonFormatComponent>)

Converts this object into json components so it can be rendered in minecraft chat
source§

impl PartialEq for ObjModule

source§

fn eq(&self, other: &ObjModule) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ObjModule

source§

impl StructuralEq for ObjModule

source§

impl StructuralPartialEq for ObjModule

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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,

§

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,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> ValidPayload for Twhere T: Any + Debug + Display + PartialEq + Eq + ObjectPayload + HasClass,

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

fn eq(&self, other: &ObjectRef) -> bool

Tests whether this object is equal to another object
source§

fn into_object(self, ctx: &TypeContext) -> ObjectRef

source§

fn get_static_class(&self, ctx: &TypeContext) -> Rc<Class>

source§

impl<T> ValidReturnType for Twhere T: ObjectPayload,

source§

fn into_result( self, ctx: &mut FunctionContext<'_, '_, '_> ) -> Option<Result<ObjectRef, LangErrorKind>>