package solidity-common

  1. Overview
  2. Docs

Module Solidity_visitorSource

Visitors are objects providing utils for exhaustively passing through the Solidity AST.

Sourcetype action =
  1. | SkipChildren
    (*

    Stops the visit of the current branch

    *)
  2. | DoChildren
    (*

    Visits the branch children

    *)
  3. | DoChildrenPost of unit -> unit
    (*

    Visits the branch children and, once the visit is finished, calls the function

    *)

The different kind of actions to perform after each visit

Sourceclass virtual ast_visitor : object ... end

The AST visitor. Each method is called when reaching an element of the corresponding type in the AST.

Sourceclass init_ast_visitor : object ... end

A dummy visitor. Visits the whole AST and does nothing. You may inherit this visitor and redefine its methods to avoid redefining all the methods.

Functions visiting the AST.

Sourceval visitNode : (ast_visitor as 'b -> 'a -> unit) -> 'b -> 'a Solidity_common.node -> unit
Sourceval visitType : ast_visitor -> Solidity_ast.type_ -> unit
Sourceval visitParam : ast_visitor -> Solidity_ast.param -> unit
Sourceval visitFunctionType : ast_visitor -> Solidity_ast.function_type -> unit
Sourceval visitTypeDef : ast_visitor -> Solidity_ast.type_definition -> unit
Sourceval visitContractDef : ast_visitor -> Solidity_ast.contract_definition -> unit
Sourceval visitInheritanceSpecifier : ast_visitor -> Solidity_ast.inheritance_specifier -> unit
Sourceval visitContractPart : ast_visitor -> Solidity_ast.contract_part -> unit
Sourceval visitStateVariableDef : ast_visitor -> Solidity_ast.state_variable_definition -> unit
Sourceval visitBlock : ast_visitor -> Solidity_ast.block -> unit
Sourceval visitFunctionDef : ast_visitor -> Solidity_ast.function_definition -> unit
Sourceval visitModifierDef : ast_visitor -> Solidity_ast.modifier_definition -> unit
Sourceval visitEventDef : ast_visitor -> Solidity_ast.event_definition -> unit
Sourceval visitCatchClause : ast_visitor -> Solidity_ast.catch_clause -> unit
Sourceval visitStatement : ast_visitor -> Solidity_ast.statement -> unit
Sourceval visitExpression : ast_visitor -> Solidity_ast.expression -> unit
Sourceval visitVariableDef : ast_visitor -> Solidity_ast.variable_definition -> unit
Sourceval visitFunctionCallArguments : ast_visitor -> Solidity_ast.function_call_arguments -> unit
Sourceval visitSourceUnit : ast_visitor -> Solidity_ast.source_unit -> unit
Sourceval visitImportDirective : ast_visitor -> Solidity_ast.import_directive -> unit
Sourceval visitImportSymbols : ast_visitor -> Solidity_ast.import_symbols -> unit
Sourceval visitModule : ast_visitor -> Solidity_ast.module_ -> unit
OCaml

Innovation. Community. Security.