raap 0.7.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +4 -0
- data/lib/raap/cli.rb +7 -18
- data/lib/raap/coverage.rb +28 -36
- data/lib/raap/function_type.rb +7 -2
- data/lib/raap/method_property.rb +1 -1
- data/lib/raap/method_type.rb +61 -20
- data/lib/raap/symbolic_caller.rb +10 -2
- data/lib/raap/type.rb +1 -1
- data/lib/raap/value/interface.rb +1 -1
- data/lib/raap/version.rb +1 -1
- metadata +3 -12
- data/.rubocop.yml +0 -33
- data/Rakefile +0 -19
- data/Steepfile +0 -4
- data/public/example.webp +0 -0
- data/public/jacket.webp +0 -0
- data/rbs_collection.lock.yaml +0 -128
- data/rbs_collection.yaml +0 -19
- data/sig/raap.rbs +0 -385
- data/sig/shims.rbs +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8b20f587b1dff6f9c33beb9e3dd237f130bc260be25f4932cde3a24cc9e795a
|
4
|
+
data.tar.gz: 9080f6e301291b4d0c88a89d640635c900d610ef4886664221f3e056e1694c45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35ba388b95030f3bdd79a7050b26d0ef5fe607f2e98596d61c1a8f49630f3bfb301309cac19c0c0bf95c047b042ffa1a0ffd24985259beff7d0bc49fecb19529
|
7
|
+
data.tar.gz: f23bc8a43bd6b7f1295c28b05e0242cf966a589a79f806007d90f468562128ae47e25b8440aaa2be8f3dea2149d7986cedd23b38008eef6f71bccb1f1c0842ab
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.8.0] - 2024-06-09
|
4
|
+
|
5
|
+
* Function of interface should not log coverage by @ksss in https://github.com/ksss/raap/pull/11
|
6
|
+
* Type-checking block arguments by @ksss in https://github.com/ksss/raap/pull/12
|
7
|
+
* Read options directly by @ksss in https://github.com/ksss/raap/pull/13
|
8
|
+
* Return value is not checked by @ksss in https://github.com/ksss/raap/pull/14
|
9
|
+
|
3
10
|
## [0.1.0] - 2024-03-20
|
4
11
|
|
5
12
|
- Initial release
|
data/README.md
CHANGED
data/lib/raap/cli.rb
CHANGED
@@ -38,9 +38,6 @@ module RaaP
|
|
38
38
|
def initialize(argv)
|
39
39
|
# defaults
|
40
40
|
@option = Option.new(
|
41
|
-
dirs: [],
|
42
|
-
requires: [],
|
43
|
-
libraries: [],
|
44
41
|
timeout: 3,
|
45
42
|
size_from: 0,
|
46
43
|
size_to: 99,
|
@@ -55,14 +52,16 @@ module RaaP
|
|
55
52
|
|
56
53
|
def load
|
57
54
|
OptionParser.new do |o|
|
55
|
+
o.version = RaaP::VERSION
|
56
|
+
|
58
57
|
o.on('-I', '--include PATH') do |path|
|
59
|
-
|
58
|
+
RaaP::RBS.loader.add(path: Pathname(path))
|
60
59
|
end
|
61
60
|
o.on('--library lib', 'load rbs library') do |lib|
|
62
|
-
|
61
|
+
RaaP::RBS.loader.add(library: lib, version: nil)
|
63
62
|
end
|
64
63
|
o.on('--require lib', 'require ruby library') do |lib|
|
65
|
-
|
64
|
+
require lib
|
66
65
|
end
|
67
66
|
o.on('--log-level level', "default: info") do |arg|
|
68
67
|
RaaP.logger.level = arg
|
@@ -90,16 +89,6 @@ module RaaP
|
|
90
89
|
end
|
91
90
|
end.parse!(@argv)
|
92
91
|
|
93
|
-
@option.dirs.each do |dir|
|
94
|
-
RaaP::RBS.loader.add(path: Pathname(dir))
|
95
|
-
end
|
96
|
-
@option.libraries.each do |lib|
|
97
|
-
RaaP::RBS.loader.add(library: lib, version: nil)
|
98
|
-
end
|
99
|
-
@option.requires.each do |lib|
|
100
|
-
require lib
|
101
|
-
end
|
102
|
-
|
103
92
|
self
|
104
93
|
end
|
105
94
|
|
@@ -236,7 +225,7 @@ module RaaP
|
|
236
225
|
type_args = type.args
|
237
226
|
|
238
227
|
definition = RBS.builder.build_singleton(type_name)
|
239
|
-
type_params_decl = definition.type_params_decl
|
228
|
+
type_params_decl = definition.type_params_decl.freeze
|
240
229
|
definition.methods.each do |method_name, method|
|
241
230
|
if @skip.include?("#{type_name.absolute!}.#{method_name}")
|
242
231
|
RaaP.logger.info("Skip #{"#{type_name.absolute!}.#{method_name}"}")
|
@@ -256,7 +245,7 @@ module RaaP
|
|
256
245
|
end
|
257
246
|
|
258
247
|
definition = RBS.builder.build_instance(type_name)
|
259
|
-
type_params_decl = definition.type_params_decl
|
248
|
+
type_params_decl = definition.type_params_decl.freeze
|
260
249
|
definition.methods.each do |method_name, method|
|
261
250
|
if @skip.include?("#{type_name.absolute!}##{method_name}")
|
262
251
|
RaaP.logger.info("Skip #{"#{type_name.absolute!}.#{method_name}"}")
|
data/lib/raap/coverage.rb
CHANGED
@@ -25,7 +25,7 @@ module RaaP
|
|
25
25
|
RaaP.logger.warn("No location information for `#{phantom_member}`")
|
26
26
|
return
|
27
27
|
end
|
28
|
-
write_type(io, "return", phantom_member.type
|
28
|
+
write_type(io, "return", phantom_member.type)
|
29
29
|
io.write(slice(@cur, @cur...phantom_member.location.end_pos))
|
30
30
|
else
|
31
31
|
RaaP.logger.error("#{phantom_member.class} is not supported")
|
@@ -37,22 +37,22 @@ module RaaP
|
|
37
37
|
phantom_method_type.type.yield_self do |fun|
|
38
38
|
case fun
|
39
39
|
when ::RBS::Types::Function
|
40
|
-
fun.required_positionals.each_with_index { |param, i| write_param(io, "req_#{i}", param
|
41
|
-
fun.optional_positionals.each_with_index { |param, i| write_param(io, "opt_#{i}", param
|
42
|
-
fun.rest_positionals&.yield_self { |param| write_param(io, "rest", param
|
43
|
-
fun.trailing_positionals.each_with_index { |param, i| write_param(io, "trail_#{i}", param
|
44
|
-
fun.required_keywords.each { |key, param| write_param(io, "keyreq_#{key}", param
|
45
|
-
fun.optional_keywords.each { |key, param| write_param(io, "key_#{key}", param
|
46
|
-
fun.rest_keywords&.yield_self { |param| write_param(io, "keyrest", param
|
40
|
+
fun.required_positionals.each_with_index { |param, i| write_param(io, "req_#{i}", param) }
|
41
|
+
fun.optional_positionals.each_with_index { |param, i| write_param(io, "opt_#{i}", param) }
|
42
|
+
fun.rest_positionals&.yield_self { |param| write_param(io, "rest", param) }
|
43
|
+
fun.trailing_positionals.each_with_index { |param, i| write_param(io, "trail_#{i}", param) }
|
44
|
+
fun.required_keywords.each { |key, param| write_param(io, "keyreq_#{key}", param) }
|
45
|
+
fun.optional_keywords.each { |key, param| write_param(io, "key_#{key}", param) }
|
46
|
+
fun.rest_keywords&.yield_self { |param| write_param(io, "keyrest", param) }
|
47
47
|
# when ::RBS::Types::UntypedFunction
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
51
|
phantom_method_type.block&.yield_self do |b|
|
52
|
-
b.type.each_param.with_index { |param, i| write_param(io, "block_param_#{i}", param
|
53
|
-
write_type(io, "block_return", b.type.return_type
|
52
|
+
b.type.each_param.with_index { |param, i| write_param(io, "block_param_#{i}", param) }
|
53
|
+
write_type(io, "block_return", b.type.return_type)
|
54
54
|
end
|
55
|
-
write_type(io, "return", phantom_method_type.type.return_type
|
55
|
+
write_type(io, "return", phantom_method_type.type.return_type)
|
56
56
|
raise unless phantom_method_type.location
|
57
57
|
|
58
58
|
io.write(slice(@cur, @cur...phantom_method_type.location.end_pos))
|
@@ -70,11 +70,11 @@ module RaaP
|
|
70
70
|
ml.source[start, range.end - range.begin] or raise
|
71
71
|
end
|
72
72
|
|
73
|
-
def write_param(io, position, param
|
74
|
-
write_type(io, position, param.type
|
73
|
+
def write_param(io, position, param)
|
74
|
+
write_type(io, position, param.type)
|
75
75
|
end
|
76
76
|
|
77
|
-
def write_type(io, position, type
|
77
|
+
def write_type(io, position, type)
|
78
78
|
unless type.location
|
79
79
|
RaaP.logger.warn("No location information for `#{type}`")
|
80
80
|
return
|
@@ -88,12 +88,12 @@ module RaaP
|
|
88
88
|
t.location or raise
|
89
89
|
io.write(slice(@cur, @cur...t.location.start_pos)) # ( or [
|
90
90
|
@cur = t.location.start_pos
|
91
|
-
write_type(io, "#{position}_#{name}_#{i}", t
|
91
|
+
write_type(io, "#{position}_#{name}_#{i}", t)
|
92
92
|
end
|
93
93
|
when ::RBS::Types::Optional
|
94
94
|
raise unless type.location
|
95
95
|
|
96
|
-
write_type(io, "#{position}_optional_left", type.type
|
96
|
+
write_type(io, "#{position}_optional_left", type.type)
|
97
97
|
io.write(slice(@cur, @cur...(type.location.end_pos - 1)))
|
98
98
|
@cur = type.location.end_pos - 1
|
99
99
|
if @cov.include?("#{position}_optional_right".to_sym)
|
@@ -103,17 +103,6 @@ module RaaP
|
|
103
103
|
end
|
104
104
|
raise unless type.location
|
105
105
|
|
106
|
-
@cur = type.location.end_pos
|
107
|
-
when ::RBS::Types::Variable
|
108
|
-
case accuracy
|
109
|
-
when :abs
|
110
|
-
io.write(green(type.name.to_s))
|
111
|
-
when :opt
|
112
|
-
# Variables are substed so raap don't know if they've been used.
|
113
|
-
io.write(yellow(type.name.to_s))
|
114
|
-
end
|
115
|
-
raise unless type.location
|
116
|
-
|
117
106
|
@cur = type.location.end_pos
|
118
107
|
else
|
119
108
|
raise unless type.location
|
@@ -129,7 +118,6 @@ module RaaP
|
|
129
118
|
|
130
119
|
def green(str) = "\e[32m#{str}\e[0m"
|
131
120
|
def red(str) = "\e[1;4;41m#{str}\e[0m"
|
132
|
-
def yellow(str) = "\e[93m#{str}\e[0m"
|
133
121
|
end
|
134
122
|
|
135
123
|
class << self
|
@@ -142,8 +130,6 @@ module RaaP
|
|
142
130
|
!!@cov
|
143
131
|
end
|
144
132
|
|
145
|
-
# position: req_0
|
146
|
-
# type: union_1
|
147
133
|
def log(position)
|
148
134
|
return unless running?
|
149
135
|
|
@@ -151,7 +137,7 @@ module RaaP
|
|
151
137
|
end
|
152
138
|
|
153
139
|
def cov
|
154
|
-
@cov or raise
|
140
|
+
@cov or raise("Coverage is not started")
|
155
141
|
end
|
156
142
|
|
157
143
|
def show(io)
|
@@ -162,25 +148,31 @@ module RaaP
|
|
162
148
|
end
|
163
149
|
|
164
150
|
def new_type_with_log(position, type)
|
151
|
+
log_with_type(position, type) do |t|
|
152
|
+
Type.new(t)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def log_with_type(position, type, &block)
|
165
157
|
case type
|
166
158
|
when ::RBS::Types::Tuple
|
167
159
|
# FIXME: Support Union in Tuple
|
168
160
|
type.types.each_with_index do |_t, i|
|
169
161
|
log("#{position}_tuple_#{i}")
|
170
162
|
end
|
171
|
-
|
163
|
+
block&.call(type)
|
172
164
|
when ::RBS::Types::Union
|
173
165
|
i = Random.rand(type.types.length)
|
174
|
-
|
166
|
+
log_with_type("#{position}_union_#{i}", type.types[i], &block)
|
175
167
|
when ::RBS::Types::Optional
|
176
168
|
if Random.rand(2).zero?
|
177
|
-
|
169
|
+
log_with_type("#{position}_optional_left", type.type, &block)
|
178
170
|
else
|
179
|
-
|
171
|
+
log_with_type("#{position}_optional_right", ::RBS::Types::Bases::Nil.new(location: nil), &block)
|
180
172
|
end
|
181
173
|
else
|
182
174
|
log(position)
|
183
|
-
|
175
|
+
block&.call(type)
|
184
176
|
end
|
185
177
|
end
|
186
178
|
end
|
data/lib/raap/function_type.rb
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
|
3
3
|
module RaaP
|
4
4
|
class FunctionType
|
5
|
-
def initialize(fun)
|
5
|
+
def initialize(fun, coverage: true)
|
6
6
|
@fun = fun
|
7
|
+
@coverage = coverage
|
7
8
|
end
|
8
9
|
|
9
10
|
def pick_arguments(size: 10)
|
@@ -81,7 +82,11 @@ module RaaP
|
|
81
82
|
end
|
82
83
|
|
83
84
|
def build_type_with_coverage(position, param)
|
84
|
-
|
85
|
+
if @coverage
|
86
|
+
Coverage.new_type_with_log(position, param.type)
|
87
|
+
else
|
88
|
+
Type.new(param.type)
|
89
|
+
end
|
85
90
|
end
|
86
91
|
end
|
87
92
|
end
|
data/lib/raap/method_property.rb
CHANGED
@@ -50,7 +50,7 @@ module RaaP
|
|
50
50
|
private
|
51
51
|
|
52
52
|
def call(size:, stats:)
|
53
|
-
if @method_type.rbs.type.each_type.find { |t| t.instance_of?(::RBS::Types::Bases::Any) }
|
53
|
+
if @method_type.rbs.type.each_param.find { |param| param.type.each_type.find { |t| t.instance_of?(::RBS::Types::Bases::Any) } }
|
54
54
|
RaaP.logger.info { "Skip type check since `#{@method_type.rbs}` includes `untyped`" }
|
55
55
|
stats.break = true
|
56
56
|
throw :break
|
data/lib/raap/method_type.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module RaaP
|
4
4
|
class MethodType
|
5
|
-
attr_reader :rbs
|
5
|
+
attr_reader :rbs
|
6
6
|
|
7
7
|
def initialize(method, type_params_decl: [], type_args: [], self_type: nil, instance_type: nil, class_type: nil)
|
8
8
|
rbs =
|
@@ -19,11 +19,17 @@ module RaaP
|
|
19
19
|
|
20
20
|
params = (type_params_decl + rbs.type_params).uniq
|
21
21
|
ts = TypeSubstitution.new(params, type_args)
|
22
|
-
|
23
|
-
@original_rbs = rbs
|
24
22
|
@rbs = ts.method_type_sub(rbs, self_type: self_type, instance_type: instance_type, class_type: class_type)
|
25
23
|
function_or_untypedfunction = __skip__ = @rbs.type
|
26
24
|
@fun_type = FunctionType.new(function_or_untypedfunction)
|
25
|
+
@type_check = ::RBS::Test::TypeCheck.new(
|
26
|
+
self_class: (_ = self_type),
|
27
|
+
instance_class: (_ = instance_type),
|
28
|
+
class_class: (_ = class_type),
|
29
|
+
builder: RBS.builder,
|
30
|
+
sample_size: 100,
|
31
|
+
unchecked_classes: []
|
32
|
+
)
|
27
33
|
end
|
28
34
|
|
29
35
|
def pick_arguments(size: 10)
|
@@ -42,28 +48,63 @@ module RaaP
|
|
42
48
|
return nil if block.nil?
|
43
49
|
return nil if (block.required == false) && [true, false].sample
|
44
50
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
51
|
+
args_name = []
|
52
|
+
args_source = []
|
53
|
+
resource = [*'a'..'z']
|
54
|
+
case fun = block.type
|
55
|
+
when ::RBS::Types::Function
|
56
|
+
# FIXME: Support keyword types
|
57
|
+
fun.required_positionals.each do
|
58
|
+
resource.shift.tap do |name|
|
59
|
+
args_name << name
|
60
|
+
args_source << name
|
61
|
+
end
|
62
|
+
end
|
63
|
+
fun.optional_positionals.each do |param|
|
64
|
+
resource.shift.tap do |name|
|
65
|
+
# FIXME: Support without literal type
|
66
|
+
default = Type.new(param.type).pick(size: size)
|
67
|
+
args_name << name
|
68
|
+
args_source << "#{name} = #{default}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
fun.rest_positionals&.yield_self do |_|
|
72
|
+
resource.shift.tap do |name|
|
73
|
+
args_name << "*#{name}"
|
74
|
+
args_source << "*#{name}"
|
75
|
+
end
|
76
|
+
end
|
77
|
+
fun.trailing_positionals.each do
|
78
|
+
resource.shift.tap do |name|
|
79
|
+
args_name << name
|
80
|
+
args_source << name
|
81
|
+
end
|
49
82
|
end
|
50
|
-
|
51
|
-
Coverage.new_type_with_log("block_return", block.type.return_type)
|
52
|
-
fixed_return_value
|
53
83
|
end
|
84
|
+
# Hack: Use local variable in eval
|
85
|
+
fixed_return_value = Type.new(block.type.return_type).pick(size: size)
|
86
|
+
_ = fixed_return_value
|
87
|
+
type_check = @type_check
|
88
|
+
_ = type_check
|
89
|
+
eval(<<~RUBY) # rubocop:disable Security/Eval
|
90
|
+
-> (#{args_source.join(', ')}) do
|
91
|
+
i = 0
|
92
|
+
type_check.zip_args([#{args_name.join(', ')}], block.type) do |val, param|
|
93
|
+
unless type_check.value(val, param.type)
|
94
|
+
raise TypeError, "block argument type mismatch: expected `(\#{fun.param_to_s})`, got \#{BindCall.inspect([#{args_name.join(', ')}])}"
|
95
|
+
end
|
96
|
+
|
97
|
+
Coverage.log_with_type("block_param_\#{i}", param.type)
|
98
|
+
i += 1
|
99
|
+
end
|
100
|
+
Coverage.log_with_type("block_return", block.type.return_type)
|
101
|
+
fixed_return_value
|
102
|
+
end
|
103
|
+
RUBY
|
54
104
|
end
|
55
105
|
|
56
106
|
def check_return(return_value)
|
57
|
-
|
58
|
-
type_check = ::RBS::Test::TypeCheck.new(
|
59
|
-
self_class: untyped, # cannot support `self`
|
60
|
-
instance_class: untyped, # cannot support `instance`
|
61
|
-
class_class: untyped, # cannot support `class`
|
62
|
-
builder: RBS.builder,
|
63
|
-
sample_size: 100,
|
64
|
-
unchecked_classes: []
|
65
|
-
)
|
66
|
-
type_check.value(return_value, rbs.type.return_type)
|
107
|
+
@type_check.value(return_value, rbs.type.return_type)
|
67
108
|
end
|
68
109
|
end
|
69
110
|
end
|
data/lib/raap/symbolic_caller.rb
CHANGED
@@ -148,9 +148,17 @@ module RaaP
|
|
148
148
|
def eval_one(symbolic_call)
|
149
149
|
symbolic_call => [:call, receiver_value, method_name, args, kwargs, block]
|
150
150
|
if @allow_private
|
151
|
-
|
151
|
+
if kwargs.empty?
|
152
|
+
receiver_value.__send__(method_name, *args, &block)
|
153
|
+
else
|
154
|
+
receiver_value.__send__(method_name, *args, **kwargs, &block)
|
155
|
+
end
|
152
156
|
else
|
153
|
-
|
157
|
+
if kwargs.empty?
|
158
|
+
BindCall.public_send(receiver_value, method_name, *args, &block)
|
159
|
+
else
|
160
|
+
BindCall.public_send(receiver_value, method_name, *args, **kwargs, &block)
|
161
|
+
end
|
154
162
|
end
|
155
163
|
end
|
156
164
|
|
data/lib/raap/type.rb
CHANGED
@@ -47,7 +47,7 @@ module RaaP
|
|
47
47
|
if snew
|
48
48
|
# class
|
49
49
|
rbs_method_type = snew.method_types.sample or raise
|
50
|
-
type_params = definition.type_params_decl.concat(rbs_method_type.type_params.drop(definition.type_params_decl.length))
|
50
|
+
type_params = definition.type_params_decl.dup.concat(rbs_method_type.type_params.drop(definition.type_params_decl.length))
|
51
51
|
ts = TypeSubstitution.new(type_params, type.args)
|
52
52
|
maped_rbs_method_type = ts.method_type_sub(rbs_method_type)
|
53
53
|
method_type = MethodType.new(maped_rbs_method_type)
|
data/lib/raap/value/interface.rb
CHANGED
@@ -33,7 +33,7 @@ module RaaP
|
|
33
33
|
if b && subed_method_type.block && subed_method_type.block.type.is_a?(::RBS::Types::Function)
|
34
34
|
@fixed_block_arguments ||= {}
|
35
35
|
@fixed_block_arguments[name] ||= size.times.map do
|
36
|
-
FunctionType.new(subed_method_type.block.type)
|
36
|
+
FunctionType.new(subed_method_type.block.type, coverage: false)
|
37
37
|
.pick_arguments(size: size)
|
38
38
|
end
|
39
39
|
|
data/lib/raap/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: raap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ksss
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbs
|
@@ -46,13 +46,10 @@ executables:
|
|
46
46
|
extensions: []
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
|
-
- ".rubocop.yml"
|
50
49
|
- CHANGELOG.md
|
51
50
|
- CODE_OF_CONDUCT.md
|
52
51
|
- LICENSE.txt
|
53
52
|
- README.md
|
54
|
-
- Rakefile
|
55
|
-
- Steepfile
|
56
53
|
- exe/raap
|
57
54
|
- lib/raap.rb
|
58
55
|
- lib/raap/bind_call.rb
|
@@ -78,12 +75,6 @@ files:
|
|
78
75
|
- lib/raap/value/void.rb
|
79
76
|
- lib/raap/version.rb
|
80
77
|
- lib/shims.rb
|
81
|
-
- public/example.webp
|
82
|
-
- public/jacket.webp
|
83
|
-
- rbs_collection.lock.yaml
|
84
|
-
- rbs_collection.yaml
|
85
|
-
- sig/raap.rbs
|
86
|
-
- sig/shims.rbs
|
87
78
|
homepage: https://github.com/ksss/raap
|
88
79
|
licenses:
|
89
80
|
- MIT
|
@@ -97,7 +88,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
88
|
requirements:
|
98
89
|
- - ">="
|
99
90
|
- !ruby/object:Gem::Version
|
100
|
-
version: 3.
|
91
|
+
version: 3.1.0
|
101
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
93
|
requirements:
|
103
94
|
- - ">="
|
data/.rubocop.yml
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
TargetRubyVersion: 3.0
|
3
|
-
NewCops: enable
|
4
|
-
Include:
|
5
|
-
- 'lib/**/*.rb'
|
6
|
-
|
7
|
-
Lint:
|
8
|
-
Enabled: true
|
9
|
-
Lint/EmptyBlock:
|
10
|
-
Enabled: false
|
11
|
-
Lint/SymbolConversion:
|
12
|
-
Enabled: false
|
13
|
-
|
14
|
-
Style:
|
15
|
-
Enabled: false
|
16
|
-
Style/HashSyntax:
|
17
|
-
EnforcedShorthandSyntax: always
|
18
|
-
Enabled: true
|
19
|
-
Style/FrozenStringLiteralComment:
|
20
|
-
Enabled: true
|
21
|
-
|
22
|
-
Metrics:
|
23
|
-
Enabled: false
|
24
|
-
|
25
|
-
Layout:
|
26
|
-
Enabled: true
|
27
|
-
Layout/FirstArrayElementIndentation:
|
28
|
-
EnforcedStyle: consistent
|
29
|
-
Layout/LineLength:
|
30
|
-
Max: 150
|
31
|
-
|
32
|
-
Naming:
|
33
|
-
Enabled: false
|
data/Rakefile
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "bundler/gem_tasks"
|
4
|
-
require "minitest/test_task"
|
5
|
-
require "rubocop/rake_task"
|
6
|
-
|
7
|
-
Minitest::TestTask.create do |t|
|
8
|
-
t.test_prelude = 'require "test/test_helper"'
|
9
|
-
end
|
10
|
-
|
11
|
-
RuboCop::RakeTask.new
|
12
|
-
|
13
|
-
namespace :steep do
|
14
|
-
task :check do
|
15
|
-
sh "bundle exec steep check"
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
task default: [:test, :rubocop, 'steep:check']
|
data/Steepfile
DELETED
data/public/example.webp
DELETED
Binary file
|
data/public/jacket.webp
DELETED
Binary file
|
data/rbs_collection.lock.yaml
DELETED
@@ -1,128 +0,0 @@
|
|
1
|
-
---
|
2
|
-
path: ".gem_rbs_collection"
|
3
|
-
gems:
|
4
|
-
- name: abbrev
|
5
|
-
version: '0'
|
6
|
-
source:
|
7
|
-
type: stdlib
|
8
|
-
- name: activesupport
|
9
|
-
version: '7.0'
|
10
|
-
source:
|
11
|
-
type: git
|
12
|
-
name: ruby/gem_rbs_collection
|
13
|
-
revision: d2e93d426c927fdab90ef12e30a9875aa05d60d6
|
14
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
15
|
-
repo_dir: gems
|
16
|
-
- name: base64
|
17
|
-
version: '0'
|
18
|
-
source:
|
19
|
-
type: stdlib
|
20
|
-
- name: bigdecimal
|
21
|
-
version: '0'
|
22
|
-
source:
|
23
|
-
type: stdlib
|
24
|
-
- name: concurrent-ruby
|
25
|
-
version: '1.1'
|
26
|
-
source:
|
27
|
-
type: git
|
28
|
-
name: ruby/gem_rbs_collection
|
29
|
-
revision: d2e93d426c927fdab90ef12e30a9875aa05d60d6
|
30
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
31
|
-
repo_dir: gems
|
32
|
-
- name: connection_pool
|
33
|
-
version: '2.4'
|
34
|
-
source:
|
35
|
-
type: git
|
36
|
-
name: ruby/gem_rbs_collection
|
37
|
-
revision: d2e93d426c927fdab90ef12e30a9875aa05d60d6
|
38
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
39
|
-
repo_dir: gems
|
40
|
-
- name: date
|
41
|
-
version: '0'
|
42
|
-
source:
|
43
|
-
type: stdlib
|
44
|
-
- name: erb
|
45
|
-
version: '0'
|
46
|
-
source:
|
47
|
-
type: stdlib
|
48
|
-
- name: fileutils
|
49
|
-
version: '0'
|
50
|
-
source:
|
51
|
-
type: stdlib
|
52
|
-
- name: i18n
|
53
|
-
version: '1.10'
|
54
|
-
source:
|
55
|
-
type: git
|
56
|
-
name: ruby/gem_rbs_collection
|
57
|
-
revision: d2e93d426c927fdab90ef12e30a9875aa05d60d6
|
58
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
59
|
-
repo_dir: gems
|
60
|
-
- name: io-console
|
61
|
-
version: '0'
|
62
|
-
source:
|
63
|
-
type: stdlib
|
64
|
-
- name: json
|
65
|
-
version: '0'
|
66
|
-
source:
|
67
|
-
type: stdlib
|
68
|
-
- name: logger
|
69
|
-
version: '0'
|
70
|
-
source:
|
71
|
-
type: stdlib
|
72
|
-
- name: minitest
|
73
|
-
version: '0'
|
74
|
-
source:
|
75
|
-
type: stdlib
|
76
|
-
- name: monitor
|
77
|
-
version: '0'
|
78
|
-
source:
|
79
|
-
type: stdlib
|
80
|
-
- name: mutex_m
|
81
|
-
version: '0'
|
82
|
-
source:
|
83
|
-
type: stdlib
|
84
|
-
- name: optparse
|
85
|
-
version: '0'
|
86
|
-
source:
|
87
|
-
type: stdlib
|
88
|
-
- name: pathname
|
89
|
-
version: '0'
|
90
|
-
source:
|
91
|
-
type: stdlib
|
92
|
-
- name: rake
|
93
|
-
version: '13.0'
|
94
|
-
source:
|
95
|
-
type: git
|
96
|
-
name: ruby/gem_rbs_collection
|
97
|
-
revision: d2e93d426c927fdab90ef12e30a9875aa05d60d6
|
98
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
99
|
-
repo_dir: gems
|
100
|
-
- name: rbs
|
101
|
-
version: 3.4.4
|
102
|
-
source:
|
103
|
-
type: rubygems
|
104
|
-
- name: rdoc
|
105
|
-
version: '0'
|
106
|
-
source:
|
107
|
-
type: stdlib
|
108
|
-
- name: securerandom
|
109
|
-
version: '0'
|
110
|
-
source:
|
111
|
-
type: stdlib
|
112
|
-
- name: singleton
|
113
|
-
version: '0'
|
114
|
-
source:
|
115
|
-
type: stdlib
|
116
|
-
- name: time
|
117
|
-
version: '0'
|
118
|
-
source:
|
119
|
-
type: stdlib
|
120
|
-
- name: timeout
|
121
|
-
version: '0'
|
122
|
-
source:
|
123
|
-
type: stdlib
|
124
|
-
- name: tsort
|
125
|
-
version: '0'
|
126
|
-
source:
|
127
|
-
type: stdlib
|
128
|
-
gemfile_lock_path: Gemfile.lock
|
data/rbs_collection.yaml
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# Download sources
|
2
|
-
sources:
|
3
|
-
- type: git
|
4
|
-
name: ruby/gem_rbs_collection
|
5
|
-
remote: https://github.com/ruby/gem_rbs_collection.git
|
6
|
-
revision: main
|
7
|
-
repo_dir: gems
|
8
|
-
|
9
|
-
# You can specify local directories as sources also.
|
10
|
-
# - type: local
|
11
|
-
# path: path/to/your/local/repository
|
12
|
-
|
13
|
-
# A directory to install the downloaded RBSs
|
14
|
-
path: .gem_rbs_collection
|
15
|
-
|
16
|
-
gems:
|
17
|
-
- name: activesupport
|
18
|
-
- name: steep
|
19
|
-
ignore: true
|
data/sig/raap.rbs
DELETED
@@ -1,385 +0,0 @@
|
|
1
|
-
module RaaP
|
2
|
-
type symbolic_call = [:call, untyped, Symbol, Array[untyped], Hash[Symbol, untyped], Proc?]
|
3
|
-
VERSION: String
|
4
|
-
|
5
|
-
def self.logger: () -> ::Logger
|
6
|
-
def self.logger=: (::Logger) -> void
|
7
|
-
|
8
|
-
module BindCall
|
9
|
-
def self.define_method: (untyped, Symbol) { (*untyped, **untyped) -> untyped } -> void
|
10
|
-
def self.respond_to?: (untyped, untyped, ?boolish) -> bool
|
11
|
-
def self.instance_of?: (untyped, Module) -> bool
|
12
|
-
def self.is_a?: (untyped, Module) -> bool
|
13
|
-
def self.extend: (untyped, Module) -> void
|
14
|
-
def self.name: (Module) -> String?
|
15
|
-
def self.to_s: (untyped) -> String
|
16
|
-
def self.class: (untyped) -> untyped
|
17
|
-
def self.inspect: (untyped) -> String
|
18
|
-
end
|
19
|
-
|
20
|
-
class CLI
|
21
|
-
class Option < ::Struct[untyped]
|
22
|
-
def self.new: (?dirs: ::Array[String], ?requires: ::Array[String], ?libraries: ::Array[String], ?timeout: (Integer | Float | nil), ?size_from: ::Integer, ?size_to: ::Integer, ?size_by: ::Integer, ?allow_private: bool, ?coverage: bool) -> instance
|
23
|
-
|
24
|
-
def self.[]: (?dirs: ::Array[String], ?requires: ::Array[String], ?libraries: ::Array[String], ?timeout: (Integer | Float | nil), ?size_from: ::Integer, ?size_to: ::Integer, ?size_by: ::Integer, ?allow_private: bool, ?coverage: bool) -> instance
|
25
|
-
|
26
|
-
def self.keyword_init?: () -> true
|
27
|
-
|
28
|
-
def self.members: () -> [ :dirs, :requires, :library, :timeout, :size_from, :size_to, :size_by, :allow_private, :coverage]
|
29
|
-
|
30
|
-
def members: () -> [ :dirs, :requires, :library, :timeout, :size_from, :size_to, :size_by, :allow_private, :coverage]
|
31
|
-
|
32
|
-
attr_accessor dirs: ::Array[String]
|
33
|
-
|
34
|
-
attr_accessor requires: ::Array[String]
|
35
|
-
|
36
|
-
attr_accessor libraries: ::Array[String]
|
37
|
-
|
38
|
-
attr_accessor timeout: (Integer | Float | nil)
|
39
|
-
|
40
|
-
attr_accessor size_from: ::Integer
|
41
|
-
|
42
|
-
attr_accessor size_to: ::Integer
|
43
|
-
|
44
|
-
attr_accessor size_by: ::Integer
|
45
|
-
|
46
|
-
attr_accessor allow_private: bool
|
47
|
-
|
48
|
-
attr_accessor coverage: bool
|
49
|
-
end
|
50
|
-
|
51
|
-
type property_result = [Integer, Symbol, ::RBS::MethodType, StringIO?]
|
52
|
-
|
53
|
-
DEFAULT_SKIP: ::Set[String]
|
54
|
-
|
55
|
-
@argv: Array[String]
|
56
|
-
@option: Option
|
57
|
-
@results: Array[{ method: ::RBS::Definition::Method, properties: Array[property_result] }]
|
58
|
-
@skip: ::Set[::String]
|
59
|
-
|
60
|
-
def self.option: () -> Option
|
61
|
-
def self.option=: (Option) -> void
|
62
|
-
|
63
|
-
def initialize: (Array[String]) -> void
|
64
|
-
def load: () -> self
|
65
|
-
def run: () -> Integer
|
66
|
-
|
67
|
-
private
|
68
|
-
|
69
|
-
def run_by: (kind: (:instance | :singleton), tag: String) -> void
|
70
|
-
def run_by_type_name: (tag: String) -> void
|
71
|
-
def run_by_type_name_with_search: (tag: String) -> void
|
72
|
-
def property: (receiver_type: Type, type_params_decl: Array[::RBS::AST::TypeParam], type_args: Array[::RBS::Types::t], method_name: Symbol, method_type: ::RBS::MethodType) -> property_result
|
73
|
-
def report: () -> Integer
|
74
|
-
end
|
75
|
-
|
76
|
-
module Coverage
|
77
|
-
type locs = [::RBS::Buffer::loc, ::RBS::Buffer::loc]
|
78
|
-
type accuracy = :abs | :opt
|
79
|
-
class Writer
|
80
|
-
@method_type: ::RBS::MethodType
|
81
|
-
@cov: ::Set[Symbol]
|
82
|
-
@cur: Integer
|
83
|
-
|
84
|
-
def initialize: (::RBS::MethodType, Set[Symbol]) -> void
|
85
|
-
def write: (IO) -> void
|
86
|
-
|
87
|
-
private
|
88
|
-
|
89
|
-
def method_type_location: () -> ::RBS::Location[untyped, untyped]
|
90
|
-
def slice: (Integer, Range[Integer]) -> String
|
91
|
-
def write_param: (IO, String, ::RBS::Types::Function::Param, accuracy) -> void
|
92
|
-
def write_type: (IO, String, ::RBS::Types::t, accuracy) -> void
|
93
|
-
def green: (String) -> String
|
94
|
-
def red: (String) -> String
|
95
|
-
def yellow: (String) -> String
|
96
|
-
end
|
97
|
-
|
98
|
-
self.@cov: Set[Symbol]?
|
99
|
-
self.@method_type: ::RBS::MethodType
|
100
|
-
|
101
|
-
def self.start: (::RBS::MethodType) -> void
|
102
|
-
def self.running?: () -> bool
|
103
|
-
def self.log: (String | Symbol) -> void
|
104
|
-
def self.cov: () -> Set[Symbol]
|
105
|
-
def self.show: (IO) -> void
|
106
|
-
def self.new_type_with_log: (String, ::RBS::Types::t) -> Type
|
107
|
-
end
|
108
|
-
|
109
|
-
class FunctionType
|
110
|
-
@fun: ::RBS::Types::Function
|
111
|
-
|
112
|
-
def initialize: (::RBS::Types::Function) -> void
|
113
|
-
def pick_arguments: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped]]
|
114
|
-
def arguments_to_symbolic_call: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped]]
|
115
|
-
|
116
|
-
private
|
117
|
-
|
118
|
-
def to_symbolic_call_recursive: (untyped, size: Integer) -> untyped
|
119
|
-
def build_args_type: () -> Array[Type]
|
120
|
-
def build_kwargs_type: () -> Hash[Symbol, Type]
|
121
|
-
def build_type_with_coverage: (String, ::RBS::Types::Function::Param) -> Type
|
122
|
-
end
|
123
|
-
|
124
|
-
class MethodProperty
|
125
|
-
class Stats
|
126
|
-
attr_accessor success: Integer
|
127
|
-
attr_accessor skip: Integer
|
128
|
-
attr_accessor exception: Integer
|
129
|
-
attr_accessor break: bool
|
130
|
-
end
|
131
|
-
|
132
|
-
@receiver_type: Type
|
133
|
-
@method_name: Symbol
|
134
|
-
@method_type: MethodType
|
135
|
-
@size_step: _Each[Integer]
|
136
|
-
@timeout: (Integer | Float | nil)
|
137
|
-
@allow_private: bool
|
138
|
-
|
139
|
-
def initialize: (receiver_type: Type, method_name: Symbol, method_type: MethodType, size_step: _Each[Integer], timeout: (Integer | Float | nil), ?allow_private: bool) -> void
|
140
|
-
def run: () { (Result::Success | Result::Failure | Result::Skip | Result::Exception) -> void } -> Stats
|
141
|
-
|
142
|
-
private
|
143
|
-
|
144
|
-
def call: (size: Integer, stats: Stats) -> (Result::Success | Result::Failure | Result::Skip | Result::Exception)
|
145
|
-
def check_return: (receiver_value: untyped, return_value: untyped) -> ([Symbol] | [Symbol, Exception])
|
146
|
-
def return_type: () -> RBS::Types::t
|
147
|
-
def original_return_type: () -> RBS::Types::t
|
148
|
-
def coverage: (String, untyped, RBS::Types::t, ?RBS::Test::TypeCheck?) -> void
|
149
|
-
end
|
150
|
-
|
151
|
-
class MethodType
|
152
|
-
attr_reader rbs: ::RBS::MethodType
|
153
|
-
attr_reader original_rbs: ::RBS::MethodType
|
154
|
-
@fun_type: FunctionType
|
155
|
-
|
156
|
-
def initialize: (::RBS::MethodType | String method, ?type_params_decl: Array[untyped], ?type_args: Array[untyped], ?self_type: ::RBS::Types::ClassInstance?, ?instance_type: ::RBS::Types::ClassInstance?, ?class_type: ::RBS::Types::ClassSingleton?) -> void
|
157
|
-
def pick_arguments: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped], ::Proc?]
|
158
|
-
def arguments_to_symbolic_call: (?size: Integer) -> [Array[untyped], Hash[Symbol, untyped], ::Proc?]
|
159
|
-
def pick_block: (?size: Integer) -> ::Proc?
|
160
|
-
def check_return: (untyped) -> bool
|
161
|
-
end
|
162
|
-
|
163
|
-
module Minitest
|
164
|
-
end
|
165
|
-
|
166
|
-
module RBS
|
167
|
-
self.@builder: ::RBS::DefinitionBuilder
|
168
|
-
self.@env: ::RBS::Environment
|
169
|
-
self.@loader: ::RBS::EnvironmentLoader
|
170
|
-
|
171
|
-
def self.builder: () -> ::RBS::DefinitionBuilder
|
172
|
-
def self.env: () -> ::RBS::Environment
|
173
|
-
def self.loader: () -> ::RBS::EnvironmentLoader
|
174
|
-
def self.parse_type: (String) -> ::RBS::Types::t
|
175
|
-
def self.parse_method_type: (String) -> ::RBS::MethodType
|
176
|
-
def self.parse_member: (String) -> ::RBS::AST::Members::Attribute
|
177
|
-
def self._shift_location: (untyped, Integer) -> void
|
178
|
-
def self.find_alias_decl: (::RBS::TypeName, Symbol) -> ::RBS::AST::Members::Alias?
|
179
|
-
end
|
180
|
-
|
181
|
-
module Result
|
182
|
-
interface _ReturnValue
|
183
|
-
def return_value: () -> untyped
|
184
|
-
end
|
185
|
-
|
186
|
-
module ReturnValueWithType : _ReturnValue
|
187
|
-
def return_value_with_type: () -> String
|
188
|
-
|
189
|
-
private
|
190
|
-
|
191
|
-
def return_value_to_type: (untyped) -> String
|
192
|
-
end
|
193
|
-
|
194
|
-
class Success < Data
|
195
|
-
include ReturnValueWithType
|
196
|
-
def self.new: (symbolic_call: symbolic_call, return_value: untyped) -> instance
|
197
|
-
attr_reader symbolic_call: symbolic_call
|
198
|
-
attr_reader return_value: untyped
|
199
|
-
def called_str: () -> String
|
200
|
-
end
|
201
|
-
class Failure < Data
|
202
|
-
include ReturnValueWithType
|
203
|
-
def self.new: (symbolic_call: symbolic_call, return_value: untyped, ?exception: ::Exception?) -> instance
|
204
|
-
attr_reader symbolic_call: symbolic_call
|
205
|
-
attr_reader return_value: untyped
|
206
|
-
attr_reader exception: ::Exception?
|
207
|
-
def called_str: () -> String
|
208
|
-
end
|
209
|
-
class Skip < Data
|
210
|
-
def self.new: (symbolic_call: symbolic_call?, exception: ::Exception) -> instance
|
211
|
-
attr_reader symbolic_call: symbolic_call?
|
212
|
-
attr_reader exception: ::Exception
|
213
|
-
end
|
214
|
-
class Exception < Data
|
215
|
-
def self.new: (symbolic_call: symbolic_call?, exception: ::Exception) -> instance
|
216
|
-
attr_reader symbolic_call: symbolic_call?
|
217
|
-
attr_reader exception: ::Exception
|
218
|
-
end
|
219
|
-
end
|
220
|
-
|
221
|
-
class Sized[T]
|
222
|
-
@block: ::Proc
|
223
|
-
@such_that: ::Proc?
|
224
|
-
|
225
|
-
def initialize: () { (Integer) -> untyped } -> void
|
226
|
-
def pick: (size: Integer) -> T
|
227
|
-
def such_that: () { (untyped) -> boolish } -> self
|
228
|
-
def such_that_loop: [R] () { (Integer) -> R } -> R
|
229
|
-
end
|
230
|
-
|
231
|
-
class SymbolicCaller
|
232
|
-
class Var
|
233
|
-
attr_reader name: String
|
234
|
-
def initialize: (String name) -> void
|
235
|
-
def +: (String) -> String
|
236
|
-
def to_s: () -> String
|
237
|
-
end
|
238
|
-
|
239
|
-
attr_reader symbolic_call: untyped
|
240
|
-
attr_reader allow_private: bool
|
241
|
-
|
242
|
-
def initialize: (untyped, ?allow_private: bool) -> void
|
243
|
-
def eval: () -> untyped
|
244
|
-
def call_str: () -> String
|
245
|
-
def to_lines: () -> Array[String]
|
246
|
-
|
247
|
-
private
|
248
|
-
|
249
|
-
def try_eval: (untyped) -> untyped
|
250
|
-
def walk: () ?{ (symbolic_call) -> untyped} -> untyped
|
251
|
-
def _walk: (untyped, bool is_last) ?{ (symbolic_call) -> untyped} -> untyped
|
252
|
-
def eval_one: (symbolic_call) -> untyped
|
253
|
-
def var_name: (Module) -> String
|
254
|
-
def printable?: (untyped) -> bool
|
255
|
-
def printable: (untyped) -> String
|
256
|
-
end
|
257
|
-
|
258
|
-
class TypeSubstitution
|
259
|
-
@type_params: ::Array[::RBS::AST::TypeParam]
|
260
|
-
@type_args: ::Array[::RBS::Types::t]
|
261
|
-
|
262
|
-
def initialize: (::Array[::RBS::AST::TypeParam], ::Array[::RBS::Types::t]) -> void
|
263
|
-
def build: () -> ::RBS::Substitution
|
264
|
-
def method_type_sub: (::RBS::MethodType, ?self_type: ::RBS::Types::t?, ?instance_type: ::RBS::Types::ClassInstance?, ?class_type: ::RBS::Types::ClassSingleton?) -> ::RBS::MethodType
|
265
|
-
|
266
|
-
private
|
267
|
-
|
268
|
-
interface _MapType
|
269
|
-
def map_type: { (untyped) -> untyped } -> untyped
|
270
|
-
end
|
271
|
-
|
272
|
-
def sub: (_MapType search, self_type: ::RBS::Types::t?, instance_type: ::RBS::Types::t?, class_type: ::RBS::Types::t?) -> untyped
|
273
|
-
end
|
274
|
-
|
275
|
-
class Type
|
276
|
-
module Arithmetic
|
277
|
-
def self.float: () -> Float
|
278
|
-
def self.positive_float: () -> Float
|
279
|
-
end
|
280
|
-
|
281
|
-
@such_that: (^(untyped) -> ::boolish)?
|
282
|
-
|
283
|
-
GENERATORS: Hash[String, ^() -> Sized[untyped]]
|
284
|
-
SIMPLE_SOURCE: Array[String]
|
285
|
-
|
286
|
-
def self.register: (String) { () [self: instance] -> untyped } -> void
|
287
|
-
def self.random: () -> Type
|
288
|
-
def self.random_without_basic_object: () -> Type
|
289
|
-
def self.call_new_from: (Module, ::RBS::Types::ClassInstance, size: Integer) -> symbolic_call
|
290
|
-
|
291
|
-
attr_reader type: ::RBS::Types::t
|
292
|
-
attr_reader range: Range[untyped]
|
293
|
-
|
294
|
-
def initialize: (String | ::RBS::Types::t, ?range: Range[untyped]) -> void
|
295
|
-
|
296
|
-
# Define rule for generating values
|
297
|
-
# type.such_that { |i| i != 0 }.pick #=> ensure that the value is not 0
|
298
|
-
def such_that: () { (untyped) -> boolish } -> self
|
299
|
-
|
300
|
-
# Basic API for materializing values
|
301
|
-
def pick: (?size: Integer) -> untyped
|
302
|
-
def to_symbolic_caller: (?size: Integer) -> SymbolicCaller
|
303
|
-
def to_symbolic_call: (?size: Integer) -> untyped
|
304
|
-
def sized: [T] () { (Integer size) -> T } -> Sized[T]
|
305
|
-
|
306
|
-
private
|
307
|
-
|
308
|
-
def to_symbolic_call_from_initialize: (::RBS::Types::ClassInstance, size: Integer) -> (symbolic_call | Value::Module)
|
309
|
-
def parse: (String | ::RBS::Types::t) -> ::RBS::Types::t?
|
310
|
-
def try: (times: Integer, size: Integer) { (Integer size) -> untyped } -> untyped
|
311
|
-
|
312
|
-
def numeric: () -> Sized[Numeric]
|
313
|
-
def integer: () -> Sized[Integer]
|
314
|
-
def none_zero_integer: () -> Sized[Integer]
|
315
|
-
def float: () -> Sized[Float]
|
316
|
-
def rational: () -> Sized[symbolic_call]
|
317
|
-
def complex: () -> Sized[symbolic_call]
|
318
|
-
def string: () -> Sized[String]
|
319
|
-
def symbol: () -> Sized[Symbol]
|
320
|
-
def array: (Type) -> Sized[Array[untyped]]
|
321
|
-
def dict: (Type, Type) -> Sized[Hash[untyped, untyped]]
|
322
|
-
def encoding: () -> symbolic_call
|
323
|
-
def bool: () -> bool
|
324
|
-
def temp_method_object: () -> ::Method
|
325
|
-
end
|
326
|
-
|
327
|
-
module Value
|
328
|
-
class Bottom < BasicObject
|
329
|
-
def inspect: () -> String
|
330
|
-
def class: () -> class
|
331
|
-
end
|
332
|
-
|
333
|
-
class Interface
|
334
|
-
@type: ::RBS::Types::Interface
|
335
|
-
@size: Integer
|
336
|
-
@definition: ::RBS::Definition
|
337
|
-
|
338
|
-
def self.define_method_from_interface: (::Module base_class, String | ::RBS::Types::Interface type, ?size: Integer) -> void
|
339
|
-
def initialize: (String | ::RBS::Types::Interface | String, ?size: Integer) -> void
|
340
|
-
def respond_to?: (Symbol, ?boolish) -> bool
|
341
|
-
def inspect: () -> String
|
342
|
-
def class: () -> class
|
343
|
-
end
|
344
|
-
|
345
|
-
module Intersection
|
346
|
-
@type: ::RBS::Types::Intersection
|
347
|
-
@children: Array[Type]
|
348
|
-
@size: Integer
|
349
|
-
|
350
|
-
def initialize: (::RBS::Types::Intersection | String, ?size: Integer) -> void
|
351
|
-
def respond_to?: (Symbol, ?boolish) -> bool
|
352
|
-
def inspect: () -> String
|
353
|
-
def class: () -> class
|
354
|
-
end
|
355
|
-
|
356
|
-
class Module < BasicObject
|
357
|
-
@type: ::RBS::Types::ClassInstance
|
358
|
-
@size: Integer
|
359
|
-
@self_type: untyped
|
360
|
-
|
361
|
-
def initialize: (::RBS::Types::ClassInstance | String, ?size: Integer) -> void
|
362
|
-
def respond_to?: (Symbol, ?boolish) -> bool
|
363
|
-
def inspect: () -> String
|
364
|
-
def class: () -> class
|
365
|
-
end
|
366
|
-
|
367
|
-
class Top < BasicObject
|
368
|
-
def inspect: () -> String
|
369
|
-
def class: () -> class
|
370
|
-
end
|
371
|
-
|
372
|
-
class Variable
|
373
|
-
attr_reader type: ::RBS::Types::Variable
|
374
|
-
|
375
|
-
def initialize: (::RBS::Types::Variable | String | Symbol) -> void
|
376
|
-
def inspect: () -> String
|
377
|
-
def class: () -> class
|
378
|
-
end
|
379
|
-
|
380
|
-
class Void < BasicObject
|
381
|
-
def inspect: () -> String
|
382
|
-
def class: () -> class
|
383
|
-
end
|
384
|
-
end
|
385
|
-
end
|
data/sig/shims.rbs
DELETED