Class: RubyModKit::Node::DefNode
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from BaseNode
#ancestors, #children, #def_node_at, #def_parent_node_at, #end_offset, #include?, #inspect, #location, #node_at, #offset, #parameter_node_at, #slice, #statements_node_at
Constructor Details
#initialize(prism_node, parent:, prev: nil) ⇒ void
26
27
28
29
30
31
32
33
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 26
def initialize(prism_node, parent:, prev: nil)
@prism_node = prism_node
@parent = parent
@prev = prev
raise RubyModKit::Error unless prism_node.is_a?(Prism::DefNode)
super()
end
|
Instance Attribute Details
#parent ⇒ Object
15
16
17
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 15
def parent
@parent
end
|
#prev ⇒ Object
16
17
18
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 16
def prev
@prev
end
|
Instance Method Details
#body_location ⇒ Prism::Location?
43
44
45
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 43
def body_location
prism_node.body&.location
end
|
90
91
92
93
94
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 90
def body_node
children
@body_node
end
|
#end_keyword_loc ⇒ Prism::Location?
67
68
69
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 67
def end_keyword_loc
@prism_node.end_keyword_loc
end
|
#lparen_loc ⇒ Prism::Location?
49
50
51
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 49
def lparen_loc
@prism_node.lparen_loc
end
|
#name ⇒ Symbol
37
38
39
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 37
def name
@prism_node.name
end
|
#name_loc ⇒ Prism::Location
61
62
63
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 61
def name_loc
@prism_node.name_loc
end
|
#rparen_loc ⇒ Prism::Location?
55
56
57
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 55
def rparen_loc
@prism_node.rparen_loc
end
|
#wrap(prism_child_node, prev: nil) ⇒ Node::BaseNode
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/ruby_mod_kit/node/def_node.rb', line 77
def wrap(prism_child_node, prev: nil)
child_node = super
if prism_child_node == @prism_node.body
case child_node
when Node::StatementsNode, Node::BeginNode
@body_node = child_node
end
end
child_node
end
|