Add stubs for sorbet-runtime.

This commit is contained in:
Markus Reiter 2020-09-23 20:23:57 +02:00
parent c2a0ba8e87
commit ec5eb56a72
3 changed files with 94 additions and 0 deletions

View File

@ -12,6 +12,7 @@ require "utils/link"
require "utils/livecheck_formula"
require "utils/popen"
require "utils/repology"
require "utils/sorbet"
require "utils/svn"
require "utils/tty"
require "tap_constants"

View File

@ -0,0 +1,8 @@
# typed: strict
# frozen_string_literal: true
if ENV["HOMEBREW_TESTS_COVERAGE"]
require "sorbet-runtime"
else
require "utils/sorbet/stubs"
end

View File

@ -0,0 +1,85 @@
# typed: false
# frozen_string_literal: true
# Stubs for `sorbet-runtime`, all taken from `sorbet/t` except for `T::Sig.sig`.
#
# @private
module T
# rubocop:disable Style/Documentation
module Sig
module WithoutRuntime
def self.sig(arg = nil, &blk); end
end
module_function
def sig(arg = nil, &blk); end
end
def self.any(type_a, type_b, *types); end
def self.nilable(type); end
def self.untyped; end
def self.noreturn; end
def self.all(type_a, type_b, *types); end
def self.enum(values); end
def self.proc; end
def self.self_type; end
def self.class_of(klass); end
def self.type_alias(type = nil, &blk); end
def self.type_parameter(name); end
def self.cast(value, _type, checked: true)
value
end
def self.let(value, _type, checked: true)
value
end
def self.assert_type!(value, _type, checked: true)
value
end
def self.unsafe(value)
value
end
def self.must(arg, _msg = nil)
arg
end
def self.reveal_type(value)
value
end
module Array
def self.[](type); end
end
module Hash
def self.[](keys, values); end
end
module Enumerable
def self.[](type); end
end
module Range
def self.[](type); end
end
module Set
def self.[](type); end
end
# rubocop:enable Style/Documentation
end