pub enum ParseTask<'a> {
ResolveModuleReference {
module_name: Cow<'a, str>,
scope: Cow<'a, str>,
line: usize,
},
ResolveDeriveImport {
derive_path: Cow<'a, str>,
line: usize,
},
ProcessVariable {
variable_name: Cow<'a, str>,
value: Cow<'a, str>,
scope: Cow<'a, str>,
line: usize,
},
ManageScope {
scope: Cow<'a, str>,
is_entry: bool,
line: usize,
},
ExecuteDirective {
directive_name: Cow<'a, str>,
arguments: Cow<'a, str>,
line: usize,
},
RegisterType {
type_name: Cow<'a, str>,
type_spec: Cow<'a, str>,
line: usize,
},
RegisterSchema {
schema_name: Cow<'a, str>,
fields: Cow<'a, str>,
line: usize,
},
}Expand description
A declarative parsing task generated by the Parser.
Parse tasks represent operations that need to be performed on parsed modules, variables, and scopes. They enable deferred processing and analysis.
Variants§
ResolveModuleReference
Resolve a module reference in a scope.
§Fields
module_name: Name of the module to resolvescope: Current scope pathline: Source line number
ResolveDeriveImport
Resolve an imported file and apply its types and schemas to the context.
§Fields
derive_path: Raw derive path (e.g.file.aam::SchemaName)line: Source line number
ProcessVariable
Process variable assignments in a scope.
§Fields
variable_name: Name of the variablevalue: Variable valuescope: Scope pathline: Source line number
ManageScope
Manage the scope lifecycle (entry/exit).
§Fields
scope: Scope pathis_entry: true for scope entry, false for exitline: Source line number
ExecuteDirective
Execute a directive (e.g., @import, @derive).
§Fields
directive_name: Name of the directivearguments: Directive argumentsline: Source line number
RegisterType
Register a type definition from @type directive.
§Fields
type_name: Name of the type being registeredtype_spec: Type specificationline: Source line number
RegisterSchema
Register a schema definition from the @schema directive.
§Fields
schema_name: Name of the schemafields: Field definitionsline: Source line number
Implementations§
Trait Implementations§
impl<'a> Eq for ParseTask<'a>
Source§impl<'a> PartialEq for ParseTask<'a>
impl<'a> PartialEq for ParseTask<'a>
impl<'a> StructuralPartialEq for ParseTask<'a>
Auto Trait Implementations§
impl<'a> Freeze for ParseTask<'a>
impl<'a> RefUnwindSafe for ParseTask<'a>
impl<'a> Send for ParseTask<'a>
impl<'a> Sync for ParseTask<'a>
impl<'a> Unpin for ParseTask<'a>
impl<'a> UnsafeUnpin for ParseTask<'a>
impl<'a> UnwindSafe for ParseTask<'a>
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.