Class: SyntaxTree::ArgParen
Overview
ArgParen represents wrapping arguments to a method inside a set of parentheses.
method(argument)
In the example above, there would be an ArgParen node around the Args node that represents the set of arguments being sent to the method method. The argument child node can be nil if no arguments were passed, as in:
method()
Instance Attribute Summary collapse
-
#arguments ⇒ Object
readonly
- nil | Args | ArgsForward
-
the arguments inside the parentheses.
-
#comments ⇒ Object
readonly
- Array[ Comment | EmbDoc ]
-
the comments attached to this node.
Attributes inherited from Node
Instance Method Summary collapse
- #accept(visitor) ⇒ Object
- #child_nodes ⇒ Object (also: #deconstruct)
- #deconstruct_keys(keys) ⇒ Object
- #format(q) ⇒ Object
-
#initialize(arguments:, location:, comments: []) ⇒ ArgParen
constructor
A new instance of ArgParen.
Methods inherited from Node
Constructor Details
#initialize(arguments:, location:, comments: []) ⇒ ArgParen
Returns a new instance of ArgParen.
545 546 547 548 549 |
# File 'lib/syntax_tree/node.rb', line 545 def initialize(arguments:, location:, comments: []) @arguments = arguments @location = location @comments = comments end |
Instance Attribute Details
#arguments ⇒ Object (readonly)
- nil | Args | ArgsForward
-
the arguments inside the
parentheses
540 541 542 |
# File 'lib/syntax_tree/node.rb', line 540 def arguments @arguments end |
#comments ⇒ Object (readonly)
- Array[ Comment | EmbDoc ]
-
the comments attached to this node
543 544 545 |
# File 'lib/syntax_tree/node.rb', line 543 def comments @comments end |
Instance Method Details
#accept(visitor) ⇒ Object
551 552 553 |
# File 'lib/syntax_tree/node.rb', line 551 def accept(visitor) visitor.visit_arg_paren(self) end |
#child_nodes ⇒ Object Also known as: deconstruct
555 556 557 |
# File 'lib/syntax_tree/node.rb', line 555 def child_nodes [arguments] end |
#deconstruct_keys(keys) ⇒ Object
561 562 563 |
# File 'lib/syntax_tree/node.rb', line 561 def deconstruct_keys(keys) { arguments: arguments, location: location, comments: comments } end |
#format(q) ⇒ Object
565 566 567 568 569 570 571 572 573 574 575 576 577 578 |
# File 'lib/syntax_tree/node.rb', line 565 def format(q) unless arguments q.text("()") return end q.group(0, "(", ")") do q.indent do q.breakable("") q.format(arguments) end q.breakable("") end end |