Module: Ripper::RubyBuilder::Statements
- Included in:
- Ripper::RubyBuilder
- Defined in:
- lib/ripper/ruby_builder/events/statements.rb
Instance Method Summary collapse
- #on_body_stmt(body, rescue_block, else_block, ensure_block) ⇒ Object
- #on_const_ref(const) ⇒ Object
- #on_paren(node) ⇒ Object
- #on_program(statements) ⇒ Object
- #on_stmts_add(target, statement) ⇒ Object
- #on_stmts_new ⇒ Object
- #on_var_field(field) ⇒ Object
- #on_var_ref(ref) ⇒ Object
- #on_void_stmt ⇒ Object
Instance Method Details
#on_body_stmt(body, rescue_block, else_block, ensure_block) ⇒ Object
10 11 12 13 14 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 10 def on_body_stmt(body, rescue_block, else_block, ensure_block) statements = [rescue_block, else_block, ensure_block].compact body = body.to_chained_block(nil, statements) unless statements.empty? body end |
#on_const_ref(const) ⇒ Object
41 42 43 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 41 def on_const_ref(const) const end |
#on_paren(node) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 16 def on_paren(node) node = Ruby::Statements.new(node) unless node.is_a?(Ruby::ArgsList) || node.is_a?(Ruby::Params) node.rdelim ||= pop_token(:@rparen) node.ldelim ||= pop_token(:@lparen) node end |
#on_program(statements) ⇒ Object
4 5 6 7 8 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 4 def on_program(statements) program = statements.to_program(src, filename, pop_end_data) program << Ruby::Token.new('', position, prolog) unless stack.buffer.empty? program end |
#on_stmts_add(target, statement) ⇒ Object
23 24 25 26 27 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 23 def on_stmts_add(target, statement) on_words_end if statement.is_a?(Ruby::Array) && !string_stack.empty? # simulating on_words_end event target.elements << statement if statement target end |
#on_stmts_new ⇒ Object
29 30 31 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 29 def on_stmts_new Ruby::Statements.new end |
#on_var_field(field) ⇒ Object
45 46 47 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 45 def on_var_field(field) field end |
#on_var_ref(ref) ⇒ Object
37 38 39 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 37 def on_var_ref(ref) ref.instance_of?(Ruby::Identifier) ? Ruby::Variable.new(ref.token, ref.position, ref.prolog) : ref end |
#on_void_stmt ⇒ Object
33 34 35 |
# File 'lib/ripper/ruby_builder/events/statements.rb', line 33 def on_void_stmt nil end |