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 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 !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