Class: YARP::DefNode
- Inherits:
-
YARPNode
- Object
- YARPNode
- YARP::DefNode
- Defined in:
- lib/yarp/node.rb,
ext/yarp/api_node.c
Overview
Represents a method definition.
def method
end
^^^^^^^^^^
Instance Attribute Summary collapse
-
#body ⇒ Object
readonly
attr_reader body: Node?.
-
#def_keyword_loc ⇒ Object
readonly
attr_reader def_keyword_loc: Location.
-
#end_keyword_loc ⇒ Object
readonly
attr_reader end_keyword_loc: Location?.
-
#equal_loc ⇒ Object
readonly
attr_reader equal_loc: Location?.
-
#locals ⇒ Object
readonly
attr_reader locals: Array.
-
#lparen_loc ⇒ Object
readonly
attr_reader lparen_loc: Location?.
-
#name_loc ⇒ Object
readonly
attr_reader name_loc: Location.
-
#operator_loc ⇒ Object
readonly
attr_reader operator_loc: Location?.
-
#parameters ⇒ Object
readonly
attr_reader parameters: ParametersNode?.
-
#receiver ⇒ Object
readonly
attr_reader receiver: Node?.
-
#rparen_loc ⇒ Object
readonly
attr_reader rparen_loc: Location?.
Instance Method Summary collapse
-
#accept(visitor) ⇒ Object
def accept: (visitor: Visitor) -> void.
-
#child_nodes ⇒ Object
(also: #deconstruct)
def child_nodes: () -> Array[nil | Node].
-
#copy(**params) ⇒ Object
def copy: (**params) -> DefNode.
- #deconstruct_keys(keys) ⇒ Object
-
#def_keyword ⇒ Object
def def_keyword: () -> String.
-
#end_keyword ⇒ Object
def end_keyword: () -> String?.
-
#equal ⇒ Object
def equal: () -> String?.
-
#initialize(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location) ⇒ DefNode
constructor
def initialize: (name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array, def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void.
-
#lparen ⇒ Object
def lparen: () -> String?.
-
#name ⇒ Object
def name: () -> String.
-
#operator ⇒ Object
def operator: () -> String?.
-
#rparen ⇒ Object
def rparen: () -> String?.
Constructor Details
#initialize(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location) ⇒ DefNode
def initialize: (name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array, def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void
2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 |
# File 'lib/yarp/node.rb', line 2431 def initialize(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location) @name_loc = name_loc @receiver = receiver @parameters = parameters @body = body @locals = locals @def_keyword_loc = def_keyword_loc @operator_loc = operator_loc @lparen_loc = lparen_loc @rparen_loc = rparen_loc @equal_loc = equal_loc @end_keyword_loc = end_keyword_loc @location = location end |
Instance Attribute Details
#body ⇒ Object (readonly)
attr_reader body: Node?
2407 2408 2409 |
# File 'lib/yarp/node.rb', line 2407 def body @body end |
#def_keyword_loc ⇒ Object (readonly)
attr_reader def_keyword_loc: Location
2413 2414 2415 |
# File 'lib/yarp/node.rb', line 2413 def def_keyword_loc @def_keyword_loc end |
#end_keyword_loc ⇒ Object (readonly)
attr_reader end_keyword_loc: Location?
2428 2429 2430 |
# File 'lib/yarp/node.rb', line 2428 def end_keyword_loc @end_keyword_loc end |
#equal_loc ⇒ Object (readonly)
attr_reader equal_loc: Location?
2425 2426 2427 |
# File 'lib/yarp/node.rb', line 2425 def equal_loc @equal_loc end |
#locals ⇒ Object (readonly)
attr_reader locals: Array
2410 2411 2412 |
# File 'lib/yarp/node.rb', line 2410 def locals @locals end |
#lparen_loc ⇒ Object (readonly)
attr_reader lparen_loc: Location?
2419 2420 2421 |
# File 'lib/yarp/node.rb', line 2419 def lparen_loc @lparen_loc end |
#name_loc ⇒ Object (readonly)
attr_reader name_loc: Location
2398 2399 2400 |
# File 'lib/yarp/node.rb', line 2398 def name_loc @name_loc end |
#operator_loc ⇒ Object (readonly)
attr_reader operator_loc: Location?
2416 2417 2418 |
# File 'lib/yarp/node.rb', line 2416 def operator_loc @operator_loc end |
#parameters ⇒ Object (readonly)
attr_reader parameters: ParametersNode?
2404 2405 2406 |
# File 'lib/yarp/node.rb', line 2404 def parameters @parameters end |
#receiver ⇒ Object (readonly)
attr_reader receiver: Node?
2401 2402 2403 |
# File 'lib/yarp/node.rb', line 2401 def receiver @receiver end |
#rparen_loc ⇒ Object (readonly)
attr_reader rparen_loc: Location?
2422 2423 2424 |
# File 'lib/yarp/node.rb', line 2422 def rparen_loc @rparen_loc end |
Instance Method Details
#accept(visitor) ⇒ Object
def accept: (visitor: Visitor) -> void
2447 2448 2449 |
# File 'lib/yarp/node.rb', line 2447 def accept(visitor) visitor.visit_def_node(self) end |
#child_nodes ⇒ Object Also known as: deconstruct
def child_nodes: () -> Array[nil | Node]
2452 2453 2454 |
# File 'lib/yarp/node.rb', line 2452 def child_nodes [receiver, parameters, body] end |
#copy(**params) ⇒ Object
def copy: (**params) -> DefNode
2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 |
# File 'lib/yarp/node.rb', line 2457 def copy(**params) DefNode.new( params.fetch(:name_loc) { name_loc }, params.fetch(:receiver) { receiver }, params.fetch(:parameters) { parameters }, params.fetch(:body) { body }, params.fetch(:locals) { locals }, params.fetch(:def_keyword_loc) { def_keyword_loc }, params.fetch(:operator_loc) { operator_loc }, params.fetch(:lparen_loc) { lparen_loc }, params.fetch(:rparen_loc) { rparen_loc }, params.fetch(:equal_loc) { equal_loc }, params.fetch(:end_keyword_loc) { end_keyword_loc }, params.fetch(:location) { location }, ) end |
#deconstruct_keys(keys) ⇒ Object
2478 2479 2480 |
# File 'lib/yarp/node.rb', line 2478 def deconstruct_keys(keys) { name_loc: name_loc, receiver: receiver, parameters: parameters, body: body, locals: locals, def_keyword_loc: def_keyword_loc, operator_loc: operator_loc, lparen_loc: lparen_loc, rparen_loc: rparen_loc, equal_loc: equal_loc, end_keyword_loc: end_keyword_loc, location: location } end |
#def_keyword ⇒ Object
def def_keyword: () -> String
2488 2489 2490 |
# File 'lib/yarp/node.rb', line 2488 def def_keyword def_keyword_loc.slice end |
#end_keyword ⇒ Object
def end_keyword: () -> String?
2513 2514 2515 |
# File 'lib/yarp/node.rb', line 2513 def end_keyword end_keyword_loc&.slice end |
#equal ⇒ Object
def equal: () -> String?
2508 2509 2510 |
# File 'lib/yarp/node.rb', line 2508 def equal equal_loc&.slice end |
#lparen ⇒ Object
def lparen: () -> String?
2498 2499 2500 |
# File 'lib/yarp/node.rb', line 2498 def lparen lparen_loc&.slice end |
#name ⇒ Object
def name: () -> String
2483 2484 2485 |
# File 'lib/yarp/node.rb', line 2483 def name name_loc.slice end |
#operator ⇒ Object
def operator: () -> String?
2493 2494 2495 |
# File 'lib/yarp/node.rb', line 2493 def operator operator_loc&.slice end |
#rparen ⇒ Object
def rparen: () -> String?
2503 2504 2505 |
# File 'lib/yarp/node.rb', line 2503 def rparen rparen_loc&.slice end |