class Parser::AST::Processor

@api public

Public Instance Methods

on_alias(node)
on_and(node)
on_and_asgn(node)
on_arg(node)
on_arg_expr(node)
on_args(node)
on_argument(node) click to toggle source
# File lib/parser/ast/processor.rb, line 103
def on_argument(node)
  arg_name, value_node = *node

  if !value_node.nil?
    node.updated(nil, [
      arg_name, process(value_node)
    ])
  else
    node
  end
end
on_array(node)
on_array_pattern(node)
on_array_pattern_with_tail(node)
on_back_ref(node)
on_begin(node)
on_block(node)
on_block_pass(node)
on_blockarg(node)
on_blockarg_expr(node)
on_break(node)
on_case(node)
on_case_match(node)
on_casgn(node) click to toggle source
# File lib/parser/ast/processor.rb, line 87
def on_casgn(node)
  scope_node, name, value_node = *node

  if !value_node.nil?
    node.updated(nil, [
      process(scope_node), name, process(value_node)
    ])
  else
    node.updated(nil, [
      process(scope_node), name
    ])
  end
end
on_class(node)
on_const(node) click to toggle source
# File lib/parser/ast/processor.rb, line 79
def on_const(node)
  scope_node, name = *node

  node.updated(nil, [
    process(scope_node), name
  ])
end
on_const_pattern(node)
on_csend(node)
Alias for: on_send
on_cvar(node)
on_cvasgn(node)
on_def(node) click to toggle source
# File lib/parser/ast/processor.rb, line 155
def on_def(node)
  name, args_node, body_node = *node

  node.updated(nil, [
    name,
    process(args_node), process(body_node)
  ])
end
on_defined?(node)
on_defs(node) click to toggle source
# File lib/parser/ast/processor.rb, line 164
def on_defs(node)
  definee_node, name, args_node, body_node = *node

  node.updated(nil, [
    process(definee_node), name,
    process(args_node), process(body_node)
  ])
end
on_dstr(node)
on_dsym(node)
on_eflipflop(node)
on_empty_else(node) click to toggle source
# File lib/parser/ast/processor.rb, line 283
def on_empty_else(node)
  node
end
on_ensure(node)
on_erange(node)
on_find_pattern(node)
on_for(node)
on_forward_arg(node)
on_gvar(node)
on_gvasgn(node)
on_hash(node)
on_hash_pattern(node)
on_if(node)
on_if_guard(node)
on_iflipflop(node)
on_in_match(node)
on_in_pattern(node)
on_index(node)
on_indexasgn(node)
on_irange(node)
on_ivar(node)
on_ivasgn(node)
on_kwarg(node)
on_kwargs(node)
on_kwbegin(node)
on_kwoptarg(node)
on_kwrestarg(node)
on_kwsplat(node)
on_lambda(node)
on_lvar(node)
on_lvasgn(node)
on_masgn(node)
on_match_alt(node)
on_match_as(node)
on_match_current_line(node)
on_match_pattern(node)
on_match_pattern_p(node)
on_match_rest(node)
on_match_var(node)
on_match_with_lvasgn(node)
on_mlhs(node)
on_module(node)
on_next(node)
on_not(node)
on_nth_ref(node)
on_numblock(node) click to toggle source
# File lib/parser/ast/processor.rb, line 193
def on_numblock(node)
  method_call, max_numparam, body = *node

  node.updated(nil, [
    process(method_call), max_numparam, process(body)
  ])
end
on_op_asgn(node) click to toggle source
# File lib/parser/ast/processor.rb, line 68
def on_op_asgn(node)
  var_node, method_name, value_node = *node

  node.updated(nil, [
    process(var_node), method_name, process(value_node)
  ])
end
on_optarg(node)
on_or(node)
on_or_asgn(node)
on_pair(node)
on_pin(node)
on_postexe(node)
on_preexe(node)
on_procarg0(node) click to toggle source
# File lib/parser/ast/processor.rb, line 130
def on_procarg0(node)
  if node.children[0].is_a?(Symbol)
    # This branch gets executed when the builder
    # is not configured to emit and 'arg' inside 'procarg0', i.e. when
    #   Parser::Builders::Default.emit_arg_inside_procarg0
    # is set to false.
    #
    # If this flag is set to true this branch is unreachable.
    # s(:procarg0, :a)
    on_argument(node)
  else
    # s(:procarg0, s(:arg, :a), s(:arg, :b))
    process_regular_node(node)
  end
end
on_redo(node)
on_regexp(node)
on_resbody(node)
on_rescue(node)
on_restarg(node)
on_restarg_expr(node)
on_retry(node)
on_return(node)
on_sclass(node)
on_send(node) click to toggle source
# File lib/parser/ast/processor.rb, line 176
def on_send(node)
  receiver_node, method_name, *arg_nodes = *node

  receiver_node = process(receiver_node) if receiver_node
  node.updated(nil, [
    receiver_node, method_name, *process_all(arg_nodes)
  ])
end
Also aliased as: on_csend
on_shadowarg(node)
on_splat(node)
on_super(node)
on_undef(node)
on_unless_guard(node)
on_until(node)
on_until_post(node)
on_var(node) click to toggle source
# File lib/parser/ast/processor.rb, line 27
def on_var(node)
  node
end
on_vasgn(node) click to toggle source
# File lib/parser/ast/processor.rb, line 43
def on_vasgn(node)
  name, value_node = *node

  if !value_node.nil?
    node.updated(nil, [
      name, process(value_node)
    ])
  else
    node
  end
end
on_when(node)
on_while(node)
on_while_post(node)
on_xstr(node)
on_yield(node)
process_argument_node(node) click to toggle source

@private

# File lib/parser/ast/processor.rb, line 116
def process_argument_node(node)
  on_argument(node)
end
process_var_asgn_node(node) click to toggle source

@private

# File lib/parser/ast/processor.rb, line 56
def process_var_asgn_node(node)
  on_vasgn(node)
end
Also aliased as: on_lvasgn, on_ivasgn, on_gvasgn, on_cvasgn
process_variable_node(node) click to toggle source

@private

# File lib/parser/ast/processor.rb, line 32
def process_variable_node(node)
  on_var(node)
end