Skip to main content

Walk

Trait Walk 

Source
pub trait Walk: Any {
    // Required method
    fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>;
}
Expand description

Trait for AST nodes that can be walked by a visitor.

This trait is implemented by AST nodes that support visitor pattern traversal. It provides a way to walk through the AST structure and apply visitor operations to each node.

Required Methods§

Source

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Walks this AST node with the given visitor.

§Arguments
  • visitor - The visitor to apply to this node and its children
§Returns

A Result indicating success or failure of the walk operation.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Walk for ArrayTypeName

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Assignment

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for BinaryOperation

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Block

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for BlockOrStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Conditional

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ContractDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for DoWhileStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ElementaryOrRawTypeName

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ElementaryTypeName

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ElementaryTypeNameExpression

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for EmitStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for EnumDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ErrorDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for EventDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Expression

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ExpressionOrVariableDeclarationStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ExpressionStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ExternalInlineAssemblyReference

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ForStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for FunctionCall

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for FunctionCallOptions

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for FunctionDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for FunctionTypeName

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Identifier

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for IdentifierOrIdentifierPath

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for IdentifierPath

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for IfStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ImportDirective

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for IndexAccess

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for IndexRangeAccess

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for InheritanceSpecifier

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for InlineAssembly

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Literal

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Mapping

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for MemberAccess

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ModifierDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ModifierInvocation

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for NewExpression

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for OverloadedOperator

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for OverrideSpecifier

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for ParameterList

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for PragmaDirective

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Return

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for RevertStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for SourceUnit

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for SourceUnitPart

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for Statement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for StructDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for TryStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for TupleExpression

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for TypeName

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UnaryOperation

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UncheckedBlock

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UserDefinedTypeName

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UserDefinedTypeNameOrIdentifierPath

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UserDefinedValueTypeDefinition

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UsingForDirective

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for UsingForFunctionItem

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for VariableDeclaration

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for VariableDeclarationStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Source§

impl Walk for WhileStatement

Source§

fn walk(&self, visitor: &mut dyn Visitor) -> Result<()>

Implementors§