pub struct MacroObject { /* private fields */ }Expand description
Runtime object wrapping a macro and whether its parser output is trusted.
Implementations§
Source§impl MacroObject
impl MacroObject
Sourcepub fn new(inner: Arc<dyn LispMacro>, parser_trusted: bool) -> Self
pub fn new(inner: Arc<dyn LispMacro>, parser_trusted: bool) -> Self
Wraps a macro with its parser-trust flag.
Sourcepub fn syntax_shape(&self) -> Arc<dyn Shape>
pub fn syntax_shape(&self) -> Arc<dyn Shape>
Returns the wrapped macro’s syntax shape.
Sourcepub fn parser_trusted(&self) -> bool
pub fn parser_trusted(&self) -> bool
Returns whether the macro’s parser output is trusted.
Trait Implementations§
Source§impl Clone for MacroObject
impl Clone for MacroObject
Source§fn clone(&self) -> MacroObject
fn clone(&self) -> MacroObject
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 Object for MacroObject
impl Object for MacroObject
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 MacroObject
impl ObjectCompat for MacroObject
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_table(&self, cx: &mut Cx) -> Result<TableRef>
fn as_table(&self, cx: &mut Cx) -> Result<TableRef>
Project the object into a table value; the default exposes its display.
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.
Auto Trait Implementations§
impl !RefUnwindSafe for MacroObject
impl !UnwindSafe for MacroObject
impl Freeze for MacroObject
impl Send for MacroObject
impl Sync for MacroObject
impl Unpin for MacroObject
impl UnsafeUnpin for MacroObject
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