Class: YARP::BeginNode
- Inherits:
-
YARPNode
- Object
- YARPNode
- YARP::BeginNode
- Defined in:
- lib/yarp/node.rb,
ext/yarp/api_node.c
Overview
Represents a begin statement.
begin
foo
end
^^^^^
Instance Attribute Summary collapse
-
#begin_keyword_loc ⇒ Object
readonly
attr_reader begin_keyword_loc: Location?.
-
#else_clause ⇒ Object
readonly
attr_reader else_clause: Node?.
-
#end_keyword_loc ⇒ Object
readonly
attr_reader end_keyword_loc: Location?.
-
#ensure_clause ⇒ Object
readonly
attr_reader ensure_clause: Node?.
-
#rescue_clause ⇒ Object
readonly
attr_reader rescue_clause: Node?.
-
#statements ⇒ Object
readonly
attr_reader statements: Node?.
Instance Method Summary collapse
-
#accept(visitor) ⇒ Object
def accept: (visitor: Visitor) -> void.
-
#begin_keyword ⇒ Object
def begin_keyword: () -> String?.
-
#child_nodes ⇒ Object
(also: #deconstruct)
def child_nodes: () -> Array[nil | Node].
- #deconstruct_keys(keys) ⇒ Object
-
#end_keyword ⇒ Object
def end_keyword: () -> String?.
-
#initialize(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location) ⇒ BeginNode
constructor
def initialize: (begin_keyword_loc: Location?, statements: Node?, rescue_clause: Node?, else_clause: Node?, ensure_clause: Node?, end_keyword_loc: Location?, location: Location) -> void.
- #set_newline_flag(newline_marked) ⇒ Object
Constructor Details
#initialize(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location) ⇒ BeginNode
def initialize: (begin_keyword_loc: Location?, statements: Node?, rescue_clause: Node?, else_clause: Node?, ensure_clause: Node?, end_keyword_loc: Location?, location: Location) -> void
459 460 461 462 463 464 465 466 467 |
# File 'lib/yarp/node.rb', line 459 def initialize(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location) @begin_keyword_loc = begin_keyword_loc @statements = statements @rescue_clause = rescue_clause @else_clause = else_clause @ensure_clause = ensure_clause @end_keyword_loc = end_keyword_loc @location = location end |
Instance Attribute Details
#begin_keyword_loc ⇒ Object (readonly)
attr_reader begin_keyword_loc: Location?
441 442 443 |
# File 'lib/yarp/node.rb', line 441 def begin_keyword_loc @begin_keyword_loc end |
#else_clause ⇒ Object (readonly)
attr_reader else_clause: Node?
450 451 452 |
# File 'lib/yarp/node.rb', line 450 def else_clause @else_clause end |
#end_keyword_loc ⇒ Object (readonly)
attr_reader end_keyword_loc: Location?
456 457 458 |
# File 'lib/yarp/node.rb', line 456 def end_keyword_loc @end_keyword_loc end |
#ensure_clause ⇒ Object (readonly)
attr_reader ensure_clause: Node?
453 454 455 |
# File 'lib/yarp/node.rb', line 453 def ensure_clause @ensure_clause end |
#rescue_clause ⇒ Object (readonly)
attr_reader rescue_clause: Node?
447 448 449 |
# File 'lib/yarp/node.rb', line 447 def rescue_clause @rescue_clause end |
#statements ⇒ Object (readonly)
attr_reader statements: Node?
444 445 446 |
# File 'lib/yarp/node.rb', line 444 def statements @statements end |
Instance Method Details
#accept(visitor) ⇒ Object
def accept: (visitor: Visitor) -> void
470 471 472 |
# File 'lib/yarp/node.rb', line 470 def accept(visitor) visitor.visit_begin_node(self) end |
#begin_keyword ⇒ Object
def begin_keyword: () -> String?
492 493 494 |
# File 'lib/yarp/node.rb', line 492 def begin_keyword begin_keyword_loc&.slice end |
#child_nodes ⇒ Object Also known as: deconstruct
def child_nodes: () -> Array[nil | Node]
479 480 481 |
# File 'lib/yarp/node.rb', line 479 def child_nodes [statements, rescue_clause, else_clause, ensure_clause] end |
#deconstruct_keys(keys) ⇒ Object
487 488 489 |
# File 'lib/yarp/node.rb', line 487 def deconstruct_keys(keys) { begin_keyword_loc: begin_keyword_loc, statements: statements, rescue_clause: rescue_clause, else_clause: else_clause, ensure_clause: ensure_clause, end_keyword_loc: end_keyword_loc, location: location } end |
#end_keyword ⇒ Object
def end_keyword: () -> String?
497 498 499 |
# File 'lib/yarp/node.rb', line 497 def end_keyword end_keyword_loc&.slice end |
#set_newline_flag(newline_marked) ⇒ Object
474 475 476 |
# File 'lib/yarp/node.rb', line 474 def set_newline_flag(newline_marked) # Never mark BeginNode with a newline flag, mark children instead end |