pub struct PluginDescriptorRecord { /* private fields */ }Expand description
A runtime citizen wrapping a PluginDescriptor in its encoded Expr
form.
The record stores the descriptor as a plugin-core/PluginDescriptor-tagged
expression so it can live in the object graph as a first-class citizen, and
converts back to a typed PluginDescriptor on demand.
Implementations§
Source§impl PluginDescriptorRecord
impl PluginDescriptorRecord
Sourcepub fn new(descriptor: PluginDescriptor) -> Self
pub fn new(descriptor: PluginDescriptor) -> Self
Builds a record by encoding a typed PluginDescriptor.
Sourcepub fn from_expr(expr: Expr) -> Result<Self>
pub fn from_expr(expr: Expr) -> Result<Self>
Builds a record from an already-encoded descriptor expression.
§Errors
Returns an error when expr does not decode to a valid plugin
descriptor.
Sourcepub fn descriptor(&self) -> Result<PluginDescriptor>
pub fn descriptor(&self) -> Result<PluginDescriptor>
Decodes the held expression back into a typed PluginDescriptor.
§Errors
Returns an error when the stored expression is not a valid descriptor.
Trait Implementations§
Source§impl Citizen for PluginDescriptorRecord
impl Citizen for PluginDescriptorRecord
Source§fn citizen_symbol() -> Symbol
fn citizen_symbol() -> Symbol
The citizen’s
namespace/name class symbol.Source§fn citizen_version() -> u32
fn citizen_version() -> u32
The citizen’s encoding version.
Source§fn citizen_arity() -> usize
fn citizen_arity() -> usize
Number of constructor fields (excluding the version argument).
Source§fn citizen_fields() -> &'static [&'static str]
fn citizen_fields() -> &'static [&'static str]
The citizen’s field names, in constructor order.
Source§impl Clone for PluginDescriptorRecord
impl Clone for PluginDescriptorRecord
Source§fn clone(&self) -> PluginDescriptorRecord
fn clone(&self) -> PluginDescriptorRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 PluginDescriptorRecord
impl Debug for PluginDescriptorRecord
Source§impl Default for PluginDescriptorRecord
impl Default for PluginDescriptorRecord
Source§impl Object for PluginDescriptorRecord
impl Object for PluginDescriptorRecord
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 PluginDescriptorRecord
impl ObjectCompat for PluginDescriptorRecord
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_expr(&self, cx: &mut Cx) -> Result<Expr>
fn as_expr(&self, cx: &mut Cx) -> Result<Expr>
Expression form of the object; defaults to an opaque extension node.
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_callable(&self) -> Option<&dyn Callable>
fn as_callable(&self) -> Option<&dyn Callable>
Callable view, if the object can be invoked.
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 truth(&self, _cx: &mut Cx) -> Result<bool, Error>
fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>
Truthiness of the object; defaults to true.
Source§impl ObjectEncode for PluginDescriptorRecord
impl ObjectEncode for PluginDescriptorRecord
Source§fn object_encoding(&self, _cx: &mut Cx) -> Result<ObjectEncoding>
fn object_encoding(&self, _cx: &mut Cx) -> Result<ObjectEncoding>
Returns the
ObjectEncoding this object should be rendered as.Source§impl PartialEq for PluginDescriptorRecord
impl PartialEq for PluginDescriptorRecord
Source§fn eq(&self, other: &PluginDescriptorRecord) -> bool
fn eq(&self, other: &PluginDescriptorRecord) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PluginDescriptorRecord
Auto Trait Implementations§
impl Freeze for PluginDescriptorRecord
impl RefUnwindSafe for PluginDescriptorRecord
impl Send for PluginDescriptorRecord
impl Sync for PluginDescriptorRecord
impl Unpin for PluginDescriptorRecord
impl UnsafeUnpin for PluginDescriptorRecord
impl UnwindSafe for PluginDescriptorRecord
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