pub struct DescriptorClass { /* private fields */ }Expand description
A checked descriptor exposed as an ordinary kernel class object.
Implementations§
Source§impl DescriptorClass
impl DescriptorClass
pub fn new( descriptor: ClassDescriptor, constructor: impl ClassConstructor, subclass_nodes: usize, subclass_work: usize, ) -> Self
pub fn descriptor(&self) -> &ClassDescriptor
Sourcepub fn query_subclass(
&self,
cx: &mut Cx,
expected: ClassRef,
node_limit: usize,
work_limit: usize,
) -> Result<SubclassQuery>
pub fn query_subclass( &self, cx: &mut Cx, expected: ClassRef, node_limit: usize, work_limit: usize, ) -> Result<SubclassQuery>
Runs the kernel subclass relation with caller-visible finite limits.
Trait Implementations§
Source§impl Callable for DescriptorClass
impl Callable for DescriptorClass
Source§fn call(&self, cx: &mut Cx, args: Args) -> Result<Value>
fn call(&self, cx: &mut Cx, args: Args) -> Result<Value>
Invoke the callable with already-evaluated, checked
Args.Source§fn browse_args_shape(&self, _cx: &mut Cx) -> Result<Option<ShapeRef>>
fn browse_args_shape(&self, _cx: &mut Cx) -> Result<Option<ShapeRef>>
Optional shape describing the accepted argument list, for browsing.
Source§impl Class for DescriptorClass
impl Class for DescriptorClass
Source§fn parents(&self, _cx: &mut Cx) -> Result<Vec<ClassRef>>
fn parents(&self, _cx: &mut Cx) -> Result<Vec<ClassRef>>
Direct parent classes; the default reports no parents.
Source§fn is_subclass_of(&self, cx: &mut Cx, expected: ClassRef) -> Result<bool>
fn is_subclass_of(&self, cx: &mut Cx, expected: ClassRef) -> Result<bool>
Whether this class is
expected or transitively descends from it.Source§fn constructor_shape(&self, _cx: &mut Cx) -> Result<ShapeRef>
fn constructor_shape(&self, _cx: &mut Cx) -> Result<ShapeRef>
Shape describing the arguments accepted by the constructor.
Source§fn instance_shape(&self, _cx: &mut Cx) -> Result<ShapeRef>
fn instance_shape(&self, _cx: &mut Cx) -> Result<ShapeRef>
Shape describing instances produced by the class.
Source§fn read_constructor(&self, _cx: &mut Cx) -> Result<Option<ReadConstructorRef>>
fn read_constructor(&self, _cx: &mut Cx) -> Result<Option<ReadConstructorRef>>
Optional read-constructor for decoding instances from data forms.
Source§impl Object for DescriptorClass
impl Object for DescriptorClass
Source§fn display(&self, _cx: &mut Cx) -> Result<String>
fn display(&self, _cx: &mut Cx) -> Result<String>
Render the object as a human-readable display string.
Source§fn header(&self) -> &ObjectHeader
fn header(&self) -> &ObjectHeader
Identity and trust header for the object; defaults to the shared
anonymous header.
Source§fn op(&self, _key: &OpKey) -> Option<&dyn Op>
fn op(&self, _key: &OpKey) -> Option<&dyn Op>
Resolve the operation registered under
key, if any.Source§impl ObjectCompat for DescriptorClass
impl ObjectCompat for DescriptorClass
Source§fn class(&self, cx: &mut Cx) -> Result<ClassRef>
fn class(&self, cx: &mut Cx) -> Result<ClassRef>
Class object this value belongs to; defaults to nil.
Source§fn as_callable(&self) -> Option<&dyn Callable>
fn as_callable(&self) -> Option<&dyn Callable>
Callable view, if the object can be invoked.
Source§fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>
Object-encoder view, if the object encodes other objects.
Source§fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>
Read-constructor view, if the object decodes data forms.
Source§fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>
Number-domain view, if the object is a number domain.
Source§fn as_number_value(&self) -> Option<&dyn NumberValue>
fn as_number_value(&self) -> Option<&dyn NumberValue>
Number-value view, if the object is a domain number.
Source§fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>
Eval-fabric view, if the object is a distributed eval surface.
Source§fn as_sequence(&self) -> Option<&dyn Sequence>
fn as_sequence(&self) -> Option<&dyn Sequence>
Sequence view, if the object is a sequence.
Source§fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
fn as_list(&self) -> Option<&(dyn ListValue + 'static)>
List view, if the object is a list value.
Source§fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>
Table-implementation view, if the object is a table.
Source§fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
fn as_dir(&self) -> Option<&(dyn Dir + 'static)>
Directory view, if the object is a directory.
Source§fn as_expr(&self, cx: &mut Cx) -> Result<Expr, Error>
fn as_expr(&self, cx: &mut Cx) -> Result<Expr, Error>
Expression form of the object; defaults to an opaque extension node.
Source§fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>
fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>
Truthiness of the object; defaults to true.
Auto Trait Implementations§
impl !RefUnwindSafe for DescriptorClass
impl !UnwindSafe for DescriptorClass
impl Freeze for DescriptorClass
impl Send for DescriptorClass
impl Sync for DescriptorClass
impl Unpin for DescriptorClass
impl UnsafeUnpin for DescriptorClass
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