class Prism::UndefNode

def ===(other)

comparing the value of locations. Locations are checked only for presence.
Implements case-equality for the node. This is effectively == but without
def ===(other)
  other.is_a?(UndefNode) &&
    (names.length == other.names.length) &&
    names.zip(other.names).all? { |left, right| left === right } &&
    (keyword_loc.nil? == other.keyword_loc.nil?)
end