Module: Solargraph::RbsMap::CoreFills
- Defined in:
- lib/solargraph/rbs_map/core_fills.rb
Overview
Override pins to fill gaps in RbsMap::CoreMap coverage
Constant Summary collapse
- Override =
Pin::Reference::Override
- KEYWORDS =
[ '__ENCODING__', '__LINE__', '__FILE__', 'BEGIN', 'END', 'alias', 'and', 'begin', 'break', 'case', 'class', 'def', 'defined?', 'do', 'else', 'elsif', 'end', 'ensure', 'false', 'for', 'if', 'in', 'module', 'next', 'nil', 'not', 'or', 'redo', 'rescue', 'retry', 'return', 'self', 'super', 'then', 'true', 'undef', 'unless', 'until', 'when', 'while', 'yield' ].map { |k| Pin::Keyword.new(k, source: :core_fill) }
- MISSING =
[ Solargraph::Pin::Method.new(name: 'class', scope: :instance, closure: Solargraph::Pin::Namespace.new(name: 'Object', source: :core_fill), comments: '@return [::Class<self>]', source: :core_fill) ]
- OVERRIDES =
[ Override.from_comment('BasicObject#instance_eval', '@yieldreceiver [self]', source: :core_fill), Override.from_comment('BasicObject#instance_exec', '@yieldreceiver [self]', source: :core_fill), Override.from_comment('Module#define_method', '@yieldreceiver [::Object<self>]', source: :core_fill), Override.from_comment('Module#class_eval', '@yieldreceiver [::Class<self>]', source: :core_fill), Override.from_comment('Module#class_exec', '@yieldreceiver [::Class<self>]', source: :core_fill), Override.from_comment('Module#module_eval', '@yieldreceiver [::Module<self>]', source: :core_fill), Override.from_comment('Module#module_exec', '@yieldreceiver [::Module<self>]', source: :core_fill), # RBS does not define Class with a generic, so all calls to # generic() return an 'untyped'. We can do better: Override.method_return('Class#allocate', 'self', source: :core_fill), ]
- INCLUDES =
[ Solargraph::Pin::Reference::Include.new(name: '_ToAry', closure: Solargraph::Pin::Namespace.new(name: 'Array', source: :core_fill), generic_values: ['generic<Elem>'], source: :core_fill) ]
- ERRNOS =
errnos
- ALL =
KEYWORDS + MISSING + OVERRIDES + ERRNOS + INCLUDES