Struct InterfaceEntity

Source
pub struct InterfaceEntity { /* private fields */ }
Expand description

Builder for registering interface.

Implementations§

Source§

impl InterfaceEntity

Source

pub fn new(interface_name: impl Into<String>) -> Self

Construct a new InterfaceEntity with interface name.

Source

pub fn add_method(&mut self, name: impl Into<String>) -> &mut MethodEntity

Add member method to interface, with mandatory visibility public abstract.

Source

pub fn add_static_method( &mut self, name: impl Into<String>, ) -> &mut MethodEntity

Add static member method to interface.

Source

pub fn add_constant( &mut self, name: impl Into<String>, value: impl Into<Scalar>, )

Add constant to interface

Source

pub fn extends(&mut self, interface: Interface)

Register interface to extends the interfaces, due to the interface can extends multi interface, so this method can be called multi time.

Because in the MINIT phase, the class starts to register, a closure is used to return the ClassEntry to delay the acquisition of the class.

§Examples
use phper::classes::{Interface, InterfaceEntity};

let mut interface = InterfaceEntity::new("MyInterface");
interface.extends(Interface::from_name("Stringable"));
Source

pub fn bound_interface(&self) -> Interface

Get the bound interface.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.