RubyのコアはRDocでドキュメントが記載されているが、型情報についてはここには記載されないようだった。つまり公式のRDocからデータを読み取って利用する作戦は失敗。
RBSだと型情報が取れる上に公式のRDocから抽出したコメントも併記されているので、代わりにRBSの情報を使うのが良さそうに見える。
ruby/rubyのRDocではなくruby/rbsのRBSの情報を元にするように変更できた。
YARDと型の表現方法が違ったりする部分の吸収については頑張らないといけない。
# RBS
::Array[::String]
# YARD
Array<String>
::Array<::String> も可
def foo
bar.
end
のような書きかけのコードに対して、一時的に情報を補完してパースした上で解析を試みる、という実験が上手くいった。これで補完候補を出せるようになった。このような事情を考えると、エラーに対して問題を最低限の形に押し留めて修復可能なパーサーの登場が望まれる。