Class: TRuby::IR::BeginBlock

Inherits:
Node
  • Object
show all
Defined in:
lib/t_ruby/ir.rb

Overview

Begin/rescue/ensure block

Instance Attribute Summary collapse

Attributes inherited from Node

#location, #metadata, #type_info

Instance Method Summary collapse

Methods inherited from Node

#accept, #transform

Constructor Details

#initialize(body:, rescue_clauses: [], else_clause: nil, ensure_clause: nil, **opts) ⇒ BeginBlock

Returns a new instance of BeginBlock.



473
474
475
476
477
478
479
# File 'lib/t_ruby/ir.rb', line 473

def initialize(body:, rescue_clauses: [], else_clause: nil, ensure_clause: nil, **opts)
  super(**opts)
  @body = body
  @rescue_clauses = rescue_clauses
  @else_clause = else_clause
  @ensure_clause = ensure_clause
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



471
472
473
# File 'lib/t_ruby/ir.rb', line 471

def body
  @body
end

#else_clauseObject

Returns the value of attribute else_clause.



471
472
473
# File 'lib/t_ruby/ir.rb', line 471

def else_clause
  @else_clause
end

#ensure_clauseObject

Returns the value of attribute ensure_clause.



471
472
473
# File 'lib/t_ruby/ir.rb', line 471

def ensure_clause
  @ensure_clause
end

#rescue_clausesObject

Returns the value of attribute rescue_clauses.



471
472
473
# File 'lib/t_ruby/ir.rb', line 471

def rescue_clauses
  @rescue_clauses
end

Instance Method Details

#childrenObject



481
482
483
# File 'lib/t_ruby/ir.rb', line 481

def children
  [@body, @else_clause, @ensure_clause].compact + @rescue_clauses
end