We need to be able to read method signatures to provide signature help in the Ruby LSP.
There's one interesting caveat to investigate. We don't eagerly resolve method aliases and their signatures are attached to the method they target. For example:
class Parent
def foo(a, b); end
end
class Child < Parent
alias_method :new_foo, :foo
end
The signature for new_foo should be [PositionalRequired(a), PositionalRequired(b)] coming from the original foo.
Investigate if we can resolve method aliases lazily to return signatures (and consider splitting the work into separate PRs if necessary).
We need to be able to read method signatures to provide signature help in the Ruby LSP.
There's one interesting caveat to investigate. We don't eagerly resolve method aliases and their signatures are attached to the method they target. For example:
The signature for
new_fooshould be[PositionalRequired(a), PositionalRequired(b)]coming from the originalfoo.Investigate if we can resolve method aliases lazily to return signatures (and consider splitting the work into separate PRs if necessary).