Class: Parser::AST::Processor

Inherits:
AST::Processor
  • Object
show all
Defined in:
lib/parser/ast/processor.rb

Direct Known Subclasses

Rewriter

Instance Method Summary collapse

Instance Method Details

#on_argObject



102
103
104
# File 'lib/parser/ast/processor.rb', line 102

def process_argument_node(node)
  on_argument(node)
end

#on_argument(node) ⇒ Object



89
90
91
92
93
94
95
# File 'lib/parser/ast/processor.rb', line 89

def on_argument(node)
  arg_name, value_node = *node

  node.updated(nil, [
    arg_name, process(value_node)
  ])
end

#on_back_refObject



36
37
38
# File 'lib/parser/ast/processor.rb', line 36

def process_variable_node(node)
  on_var(node)
end

#on_blockargObject



105
106
107
# File 'lib/parser/ast/processor.rb', line 105

def process_argument_node(node)
  on_argument(node)
end

#on_casgn(node) ⇒ Object



79
80
81
82
83
84
85
# File 'lib/parser/ast/processor.rb', line 79

def on_casgn(node)
  scope_node, name, value_node = *node

  node.updated(nil, [
    process(scope_node), name, process(value_node)
  ])
end

#on_const(node) ⇒ Object



71
72
73
74
75
76
77
# File 'lib/parser/ast/processor.rb', line 71

def on_const(node)
  scope_node, name = *node

  node.updated(nil, [
    process(scope_node), name
  ])
end

#on_cvarObject



35
36
37
# File 'lib/parser/ast/processor.rb', line 35

def process_variable_node(node)
  on_var(node)
end

#on_cvasgnObject



55
56
57
# File 'lib/parser/ast/processor.rb', line 55

def process_var_asgn_node(node)
  on_vasgn(node)
end

#on_def(node) ⇒ Object



120
121
122
123
124
125
126
127
# File 'lib/parser/ast/processor.rb', line 120

def on_def(node)
  name, args_node, body_node = *node

  node.updated(nil, [
    name,
    process(args_node), process(body_node)
  ])
end

#on_defs(node) ⇒ Object



129
130
131
132
133
134
135
136
# File 'lib/parser/ast/processor.rb', line 129

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_gvarObject



34
35
36
# File 'lib/parser/ast/processor.rb', line 34

def process_variable_node(node)
  on_var(node)
end

#on_gvasgnObject



54
55
56
# File 'lib/parser/ast/processor.rb', line 54

def process_var_asgn_node(node)
  on_vasgn(node)
end

#on_ivarObject



33
34
35
# File 'lib/parser/ast/processor.rb', line 33

def process_variable_node(node)
  on_var(node)
end

#on_ivasgnObject



53
54
55
# File 'lib/parser/ast/processor.rb', line 53

def process_var_asgn_node(node)
  on_vasgn(node)
end

#on_kwargObject



107
108
109
# File 'lib/parser/ast/processor.rb', line 107

def process_argument_node(node)
  on_argument(node)
end

#on_kwoptargObject



108
109
110
# File 'lib/parser/ast/processor.rb', line 108

def process_argument_node(node)
  on_argument(node)
end

#on_kwrestargObject



109
110
111
# File 'lib/parser/ast/processor.rb', line 109

def process_argument_node(node)
  on_argument(node)
end

#on_lvarObject



32
33
34
# File 'lib/parser/ast/processor.rb', line 32

def process_variable_node(node)
  on_var(node)
end

#on_lvasgnObject



52
53
54
# File 'lib/parser/ast/processor.rb', line 52

def process_var_asgn_node(node)
  on_vasgn(node)
end

#on_nth_refObject



37
38
39
# File 'lib/parser/ast/processor.rb', line 37

def process_variable_node(node)
  on_var(node)
end

#on_op_asgn(node) ⇒ Object



60
61
62
63
64
65
66
# File 'lib/parser/ast/processor.rb', line 60

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_optargObject



103
104
105
# File 'lib/parser/ast/processor.rb', line 103

def process_argument_node(node)
  on_argument(node)
end

#on_restargObject



104
105
106
# File 'lib/parser/ast/processor.rb', line 104

def process_argument_node(node)
  on_argument(node)
end

#on_send(node) ⇒ Object



141
142
143
144
145
146
147
148
# File 'lib/parser/ast/processor.rb', line 141

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

#on_shadowargObject



106
107
108
# File 'lib/parser/ast/processor.rb', line 106

def process_argument_node(node)
  on_argument(node)
end

#on_var(node) ⇒ Object



23
24
25
# File 'lib/parser/ast/processor.rb', line 23

def on_var(node)
  node
end

#on_vasgn(node) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/parser/ast/processor.rb', line 39

def on_vasgn(node)
  name, value_node = *node

  node.updated(nil, [
    name, process(value_node)
  ])
end

#process_argument_node(node) ⇒ Object



98
99
100
# File 'lib/parser/ast/processor.rb', line 98

def process_argument_node(node)
  on_argument(node)
end

#process_regular_node(node) ⇒ Object Also known as: on_dstr, on_dsym, on_regexp, on_xstr, on_splat, on_array, on_pair, on_hash, on_irange, on_erange, on_and_asgn, on_or_asgn, on_mlhs, on_masgn, on_args, on_arg_expr, on_restarg_expr, on_blockarg_expr, on_block_pass, on_module, on_class, on_sclass, on_undef, on_alias, on_block, on_while, on_while_post, on_until, on_until_post, on_for, on_return, on_break, on_next, on_redo, on_retry, on_super, on_yield, on_defined?, on_not, on_and, on_or, on_if, on_when, on_case, on_iflipflop, on_eflipflop, on_match_current_line, on_match_with_lvasgn, on_resbody, on_rescue, on_ensure, on_begin, on_kwbegin, on_preexe, on_postexe



8
9
10
# File 'lib/parser/ast/processor.rb', line 8

def process_regular_node(node)
  node.updated(nil, process_all(node))
end

#process_var_asgn_node(node) ⇒ Object



48
49
50
# File 'lib/parser/ast/processor.rb', line 48

def process_var_asgn_node(node)
  on_vasgn(node)
end

#process_variable_node(node) ⇒ Object



28
29
30
# File 'lib/parser/ast/processor.rb', line 28

def process_variable_node(node)
  on_var(node)
end