class RubyLsp::Requests::Support::Annotation
def arity_matches?(node)
def arity_matches?(node) node_arity = node.arguments&.arguments&.size || 0 case @arity when Integer node_arity == @arity when Range @arity.cover?(node_arity) end end
def initialize(arity:, receiver: false)
def initialize(arity:, receiver: false) @arity = arity @receiver = receiver end
def match?(node)
def match?(node) receiver_matches?(node) && arity_matches?(node) end
def receiver_matches?(node)
def receiver_matches?(node) node_receiver = node.receiver (node_receiver && @receiver && node_receiver.location.slice == "T") || (!node_receiver && !@receiver) end