instance method
Prism::ClassNode#===
===(other)
lib/prism/node.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/prism/node.rb, line 4020
def ===(other)
other.is_a?(ClassNode) &&
(locals.length == other.locals.length) &&
locals.zip(other.locals).all? { |left, right| left === right } &&
(class_keyword_loc.nil? == other.class_keyword_loc.nil?) &&
(constant_path === other.constant_path) &&
(inheritance_operator_loc.nil? == other.inheritance_operator_loc.nil?) &&
(superclass === other.superclass) &&
(body === other.body) &&
(end_keyword_loc.nil? == other.end_keyword_loc.nil?) &&
(name === other.name)
end
Implements case-equality for the node. This is effectively == but without comparing the value of locations. Locations are checked only for presence.