Instance Methods
#
lib/prism/node_ext.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/prism/node_ext.rb, line 243
def child
deprecated("name", "name_loc")
if name
ConstantReadNode.new(source, -1, name_loc, 0, name)
else
MissingNode.new(source, -1, location, 0)
end
end
Previously, we had a child node on this class that contained either a constant read or a missing node. To not cause a breaking change, we continue to supply that API.
lib/prism/node_ext.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/prism/node_ext.rb, line 236
def full_name
full_name_parts.join("::")
end
Returns the full name of this constant path. For example: “Foo::Bar”
lib/prism/node_ext.rb
View on GitHub
# File tmp/rubies/ruby-master/lib/prism/node_ext.rb, line 216
def full_name_parts
parts =
case parent
when ConstantPathNode, ConstantReadNode
parent.full_name_parts
when nil
[:""]
else
# e.g. self::Foo, (var)::Bar = baz
raise ConstantPathNode::DynamicPartsInConstantPathError, "Constant target path contains dynamic parts. Cannot compute full name"
end
if name.nil?
raise ConstantPathNode::MissingNodesInConstantPathError, "Constant target path contains missing nodes. Cannot compute full name"
end
parts.push(name)
end
Returns the list of parts for the full name of this constant path. For example: [:Foo, :Bar]