a = Foo.new

def bar(x)
 x.baz
end

bar(a)
というコードがあったとき変数a, xが持ってるメソッドは*大体*分かる
現実的なコード補完が不可能である理由は何もない。