rbi
rbi copied to clipboard
RBI generation framework
https://github.com/Shopify/rbi/pull/142 showed that parsing visibility modifiers as simple nodes causes problems when sorting. Instead we should parse the visibility modifiers as a composite node of nodes so we can maintain...
_(Moving from https://github.com/Shopify/rbs_parser/issues/19)_ It would be nice for a tool to exist that could translate Sorbet's `.rbi` files into best-effort `.rbs` files. An example use-case is a gem author who...
Flattens scopes, so: ```ruby module A class B FOO = 42 class C module D; end end end end module E; end ``` becomes: ```ruby module A; end class A::B...
To represent `T::Enum` subclasses like this one: ```rb class MyEnum < T::Enum enums do # Some comments A = new B = new end end ``` We currently use a...
This method appears to be unused and could be removed. Before approving this pull-request, please double-check that it is indeed unused. * [Search for `noreturn` on GitHub](https://github.com/search?q=repo:shopify/rbi%20noreturn&type=code) If this code...
This attr_writer appears to be unused and could be removed. Before approving this pull-request, please double-check that it is indeed unused. * [Search for `sort_nodes=` on GitHub](https://github.com/search?q=repo:shopify/rbi%20sort_nodes=&type=code) If this code...
Sig.new defines the block to be nilable and there are plenty of cases where you can add a sig without needing/wanting to use the block syntax.
Migrate all the remaining uses of `sorbet-runtime` constructs and remove the dependency.