pub struct Validator { /* private fields */ }Expand description
Implements an AST validator.
A validator operates on a set of AST visitors.
See the validate method to perform the validation.
Implementations§
Source§impl Validator
impl Validator
Sourcepub fn add_visitor<V: Visitor + 'static>(&mut self, visitor: V)
pub fn add_visitor<V: Visitor + 'static>(&mut self, visitor: V)
Adds a visitor to the validator.
Sourcepub fn add_visitors(
&mut self,
visitors: impl IntoIterator<Item = Box<dyn Visitor>>,
)
pub fn add_visitors( &mut self, visitors: impl IntoIterator<Item = Box<dyn Visitor>>, )
Adds multiple visitors to the validator.
Trait Implementations§
Source§impl Visitor for Validator
impl Visitor for Validator
Source§fn document(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
doc: &Document,
version: SupportedVersion,
)
fn document( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, doc: &Document, version: SupportedVersion, )
Visits the root document node.
Source§fn whitespace(&mut self, diagnostics: &mut Diagnostics, whitespace: &Whitespace)
fn whitespace(&mut self, diagnostics: &mut Diagnostics, whitespace: &Whitespace)
Visits a whitespace token.
Source§fn comment(&mut self, diagnostics: &mut Diagnostics, comment: &Comment)
fn comment(&mut self, diagnostics: &mut Diagnostics, comment: &Comment)
Visit a comment token.
Source§fn version_statement(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
stmt: &VersionStatement,
)
fn version_statement( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, stmt: &VersionStatement, )
Visits a top-level version statement node.
Source§fn import_statement(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
stmt: &ImportStatement,
)
fn import_statement( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, stmt: &ImportStatement, )
Visits a top-level import statement node.
Source§fn struct_definition(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
def: &StructDefinition,
)
fn struct_definition( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, def: &StructDefinition, )
Visits a struct definition node.
Source§fn enum_definition(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
def: &EnumDefinition,
)
fn enum_definition( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, def: &EnumDefinition, )
Visits an enum definition node.
Source§fn task_definition(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
task: &TaskDefinition,
)
fn task_definition( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, task: &TaskDefinition, )
Visits a task definition node.
Source§fn workflow_definition(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
workflow: &WorkflowDefinition,
)
fn workflow_definition( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, workflow: &WorkflowDefinition, )
Visits a workflow definition node.
Source§fn input_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &InputSection,
)
fn input_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &InputSection, )
Visits an input section node.
Source§fn output_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &OutputSection,
)
fn output_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &OutputSection, )
Visits an output section node.
Source§fn command_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &CommandSection,
)
fn command_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &CommandSection, )
Visits a command section node.
Source§fn command_text(&mut self, diagnostics: &mut Diagnostics, text: &CommandText)
fn command_text(&mut self, diagnostics: &mut Diagnostics, text: &CommandText)
Visits a command text token in a command section node.
Source§fn requirements_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &RequirementsSection,
)
fn requirements_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &RequirementsSection, )
Visits a requirements section node.
Source§fn task_hints_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &TaskHintsSection,
)
fn task_hints_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &TaskHintsSection, )
Visits a task hints section node.
Source§fn workflow_hints_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &WorkflowHintsSection,
)
fn workflow_hints_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &WorkflowHintsSection, )
Visits a workflow hints section node.
Source§fn runtime_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &RuntimeSection,
)
fn runtime_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &RuntimeSection, )
Visits a runtime section node.
Source§fn runtime_item(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
item: &RuntimeItem,
)
fn runtime_item( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, item: &RuntimeItem, )
Visits a runtime item node.
Source§fn metadata_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &MetadataSection,
)
fn metadata_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &MetadataSection, )
Visits a metadata section node.
Source§fn parameter_metadata_section(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
section: &ParameterMetadataSection,
)
fn parameter_metadata_section( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, section: &ParameterMetadataSection, )
Visits a parameter metadata section node.
Source§fn metadata_object(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
object: &MetadataObject,
)
fn metadata_object( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, object: &MetadataObject, )
Visits a metadata object in a metadata or parameter metadata section.
Source§fn metadata_object_item(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
item: &MetadataObjectItem,
)
fn metadata_object_item( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, item: &MetadataObjectItem, )
Visits a metadata object item in a metadata object.
Source§fn metadata_array(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
item: &MetadataArray,
)
fn metadata_array( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, item: &MetadataArray, )
Visits a metadata array node in a metadata or parameter metadata
section.
Source§fn unbound_decl(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
decl: &UnboundDecl,
)
fn unbound_decl( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, decl: &UnboundDecl, )
Visits an unbound declaration node.
Source§fn bound_decl(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
decl: &BoundDecl,
)
fn bound_decl( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, decl: &BoundDecl, )
Visits a bound declaration node.
Source§fn expr(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
expr: &Expr,
)
fn expr( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, expr: &Expr, )
Visits an expression node.
Source§fn string_text(&mut self, diagnostics: &mut Diagnostics, text: &StringText)
fn string_text(&mut self, diagnostics: &mut Diagnostics, text: &StringText)
Visits a string text token in a literal string node.
Source§fn placeholder(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
placeholder: &Placeholder,
)
fn placeholder( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, placeholder: &Placeholder, )
Visits a placeholder node.
Source§fn conditional_statement(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
stmt: &ConditionalStatement,
)
fn conditional_statement( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, stmt: &ConditionalStatement, )
Visits a conditional statement node in a workflow.
Source§fn scatter_statement(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
stmt: &ScatterStatement,
)
fn scatter_statement( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, stmt: &ScatterStatement, )
Visits a scatter statement node in a workflow.
Source§fn call_statement(
&mut self,
diagnostics: &mut Diagnostics,
reason: VisitReason,
stmt: &CallStatement,
)
fn call_statement( &mut self, diagnostics: &mut Diagnostics, reason: VisitReason, stmt: &CallStatement, )
Visits a call statement node in a workflow.
Auto Trait Implementations§
impl Freeze for Validator
impl !RefUnwindSafe for Validator
impl !Send for Validator
impl !Sync for Validator
impl Unpin for Validator
impl UnsafeUnpin for Validator
impl !UnwindSafe for Validator
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more