Class: CodeTools::AST::PreExe
- Inherits:
-
Node
- Object
- Node
- CodeTools::AST::PreExe
show all
- Defined in:
- lib/rubinius/ast/sends.rb
Instance Attribute Summary collapse
Attributes inherited from Node
#line
Instance Method Summary
collapse
Methods inherited from Node
#ascii_graph, #attributes, #bytecode, #children, #defined, match_arguments?, match_send?, #new_block_generator, #new_generator, #node_name, #or_bytecode, #pos, #set_child, #transform, transform, transform_comment, transform_kind, transform_kind=, transform_name, #value_defined, #visit, #walk
Constructor Details
#initialize(line) ⇒ PreExe
265
266
267
|
# File 'lib/rubinius/ast/sends.rb', line 265
def initialize(line)
@line = line
end
|
Instance Attribute Details
#block ⇒ Object
Returns the value of attribute block.
263
264
265
|
# File 'lib/rubinius/ast/sends.rb', line 263
def block
@block
end
|
Instance Method Details
#pre_bytecode(g) ⇒ Object
269
270
271
272
273
274
275
276
277
278
279
280
281
282
|
# File 'lib/rubinius/ast/sends.rb', line 269
def pre_bytecode(g)
pos(g)
g.push_state ClosedScope.new(@line)
g.state.push_name :BEGIN
g.push_rubinius
g.find_const :Runtime
@block.bytecode(g)
g.send_with_block :pre_exe, 0, false
g.state.pop_name
g.pop_state
end
|
#pre_sexp ⇒ Object
287
288
289
|
# File 'lib/rubinius/ast/sends.rb', line 287
def pre_sexp
@block.to_sexp.insert 1, :pre_exe
end
|
#to_sexp ⇒ Object
284
285
|
# File 'lib/rubinius/ast/sends.rb', line 284
def to_sexp
end
|