class

Ameba::AST::NodeVisitor

Inherits Ameba::AST::BaseVisitor < Crystal::Visitor < Reference < Object

An AST Visitor that traverses the source and allows all nodes to be inspected by rules.

visitor = Ameba::AST::NodeVisitor.new(rule, source)

Constants

NODES = {Alias, ArrayLiteral, Assign, Block, Call, Case, ClassDef, ClassVar, ControlExpression, Def, EnumDef, ExceptionHandler, Expressions, HashLiteral, If, InstanceVar, IsA, LibDef, MacroExpression, ModuleDef, MultiAssign, NilLiteral, ProcLiteral, Rescue, Select, StringInterpolation, StringLiteral, Union, Unless, Until, Var, When, While}

List of nodes to be visited by Ameba's rules.

Constructors

new(rule, source, *, skip : Category)
Source
new(rule, source, *, skip : Array | Nil = nil)
Source

Class methods

category_to_node_classes(category : Category)
Source

Instance methods

visit(node : Crystal::VisibilityModifier)
Source
visit(node : Crystal::Alias)

A visit callback for Crystal::Alias node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ArrayLiteral)

A visit callback for Crystal::ArrayLiteral node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Assign)

A visit callback for Crystal::Assign node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Block)

A visit callback for Crystal::Block node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Call)

A visit callback for Crystal::Call node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Case)

A visit callback for Crystal::Case node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ClassDef)

A visit callback for Crystal::ClassDef node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ClassVar)

A visit callback for Crystal::ClassVar node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ControlExpression)

A visit callback for Crystal::ControlExpression node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Def)

A visit callback for Crystal::Def node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::EnumDef)

A visit callback for Crystal::EnumDef node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ExceptionHandler)

A visit callback for Crystal::ExceptionHandler node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Expressions)

A visit callback for Crystal::Expressions node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::HashLiteral)

A visit callback for Crystal::HashLiteral node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::If)

A visit callback for Crystal::If node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::InstanceVar)

A visit callback for Crystal::InstanceVar node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::IsA)

A visit callback for Crystal::IsA node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::LibDef)

A visit callback for Crystal::LibDef node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::MacroExpression)

A visit callback for Crystal::MacroExpression node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ModuleDef)

A visit callback for Crystal::ModuleDef node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::MultiAssign)

A visit callback for Crystal::MultiAssign node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::NilLiteral)

A visit callback for Crystal::NilLiteral node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::ProcLiteral)

A visit callback for Crystal::ProcLiteral node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Rescue)

A visit callback for Crystal::Rescue node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Select)

A visit callback for Crystal::Select node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::StringInterpolation)

A visit callback for Crystal::StringInterpolation node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::StringLiteral)

A visit callback for Crystal::StringLiteral node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Union)

A visit callback for Crystal::Union node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Unless)

A visit callback for Crystal::Unless node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Until)

A visit callback for Crystal::Until node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::Var)

A visit callback for Crystal::Var node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::When)

A visit callback for Crystal::When node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node : Crystal::While)

A visit callback for Crystal::While node.

Returns true if the child nodes should be traversed as well, false otherwise.

Source
visit(node)
Source

Nested types