rbs 0.3.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +7 -1
- data/.gitignore +1 -1
- data/CHANGELOG.md +39 -0
- data/COPYING +1 -1
- data/Gemfile +16 -2
- data/README.md +87 -48
- data/Rakefile +54 -22
- data/bin/rbs-prof +9 -0
- data/bin/run_in_md.rb +49 -0
- data/bin/test_runner.rb +0 -2
- data/docs/sigs.md +6 -6
- data/docs/stdlib.md +3 -5
- data/docs/syntax.md +6 -3
- data/goodcheck.yml +65 -0
- data/lib/rbs.rb +3 -0
- data/lib/rbs/ast/declarations.rb +115 -14
- data/lib/rbs/ast/members.rb +41 -17
- data/lib/rbs/cli.rb +315 -122
- data/lib/rbs/constant.rb +4 -4
- data/lib/rbs/constant_table.rb +51 -45
- data/lib/rbs/definition.rb +175 -59
- data/lib/rbs/definition_builder.rb +802 -604
- data/lib/rbs/environment.rb +352 -210
- data/lib/rbs/environment_walker.rb +14 -23
- data/lib/rbs/errors.rb +184 -3
- data/lib/rbs/factory.rb +14 -0
- data/lib/rbs/parser.y +95 -27
- data/lib/rbs/prototype/rb.rb +119 -117
- data/lib/rbs/prototype/rbi.rb +5 -3
- data/lib/rbs/prototype/runtime.rb +34 -7
- data/lib/rbs/substitution.rb +12 -1
- data/lib/rbs/test.rb +82 -3
- data/lib/rbs/test/errors.rb +5 -1
- data/lib/rbs/test/hook.rb +133 -259
- data/lib/rbs/test/observer.rb +17 -0
- data/lib/rbs/test/setup.rb +35 -19
- data/lib/rbs/test/setup_helper.rb +29 -0
- data/lib/rbs/test/spy.rb +0 -321
- data/lib/rbs/test/tester.rb +116 -0
- data/lib/rbs/test/type_check.rb +43 -7
- data/lib/rbs/type_name_resolver.rb +58 -0
- data/lib/rbs/types.rb +94 -2
- data/lib/rbs/validator.rb +51 -0
- data/lib/rbs/variance_calculator.rb +12 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +127 -91
- data/rbs.gemspec +0 -9
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +353 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +248 -0
- data/schema/methodType.json +44 -0
- data/schema/types.json +299 -0
- data/stdlib/benchmark/benchmark.rbs +151 -151
- data/stdlib/builtin/encoding.rbs +2 -0
- data/stdlib/builtin/enumerable.rbs +4 -4
- data/stdlib/builtin/enumerator.rbs +3 -1
- data/stdlib/builtin/fiber.rbs +5 -1
- data/stdlib/builtin/file.rbs +0 -3
- data/stdlib/builtin/io.rbs +4 -4
- data/stdlib/builtin/proc.rbs +1 -2
- data/stdlib/builtin/symbol.rbs +1 -1
- data/stdlib/builtin/thread.rbs +2 -2
- data/stdlib/csv/csv.rbs +4 -6
- data/stdlib/fiber/fiber.rbs +117 -0
- data/stdlib/json/json.rbs +1 -1
- data/stdlib/logger/formatter.rbs +23 -0
- data/stdlib/logger/log_device.rbs +39 -0
- data/stdlib/logger/logger.rbs +507 -0
- data/stdlib/logger/period.rbs +7 -0
- data/stdlib/logger/severity.rbs +8 -0
- data/stdlib/mutex_m/mutex_m.rbs +77 -0
- data/stdlib/pathname/pathname.rbs +6 -6
- data/stdlib/prime/integer-extension.rbs +1 -1
- data/stdlib/prime/prime.rbs +44 -44
- data/stdlib/pty/pty.rbs +159 -0
- data/stdlib/tmpdir/tmpdir.rbs +1 -1
- metadata +28 -116
- data/lib/rbs/test/test_helper.rb +0 -183
@@ -0,0 +1,77 @@
|
|
1
|
+
# # mutex_m.rb
|
2
|
+
#
|
3
|
+
# When 'mutex_m' is required, any object that extends or includes Mutex_m will
|
4
|
+
# be treated like a Mutex.
|
5
|
+
#
|
6
|
+
# Start by requiring the standard library Mutex_m:
|
7
|
+
#
|
8
|
+
# require "mutex_m.rb"
|
9
|
+
#
|
10
|
+
# From here you can extend an object with Mutex instance methods:
|
11
|
+
#
|
12
|
+
# obj = Object.new
|
13
|
+
# obj.extend Mutex_m
|
14
|
+
#
|
15
|
+
# Or mixin Mutex_m into your module to your class inherit Mutex instance methods
|
16
|
+
# --- remember to call super() in your class initialize method.
|
17
|
+
#
|
18
|
+
# class Foo
|
19
|
+
# include Mutex_m
|
20
|
+
# def initialize
|
21
|
+
# # ...
|
22
|
+
# super()
|
23
|
+
# end
|
24
|
+
# # ...
|
25
|
+
# end
|
26
|
+
# obj = Foo.new
|
27
|
+
# # this obj can be handled like Mutex
|
28
|
+
#
|
29
|
+
module Mutex_m
|
30
|
+
def self.append_features: (Module cl) -> untyped
|
31
|
+
|
32
|
+
def self.define_aliases: (Module cl) -> untyped
|
33
|
+
|
34
|
+
def self.extend_object: (Object obj) -> untyped
|
35
|
+
|
36
|
+
public
|
37
|
+
|
38
|
+
def mu_extended: () -> untyped
|
39
|
+
|
40
|
+
# See Mutex#lock
|
41
|
+
#
|
42
|
+
def mu_lock: () -> Thread::Mutex
|
43
|
+
|
44
|
+
# See Mutex#locked?
|
45
|
+
#
|
46
|
+
def mu_locked?: () -> bool
|
47
|
+
|
48
|
+
# See Mutex#synchronize
|
49
|
+
#
|
50
|
+
def mu_synchronize: [T] () { () -> T } -> T
|
51
|
+
|
52
|
+
# See Mutex#try_lock
|
53
|
+
#
|
54
|
+
def mu_try_lock: () -> bool
|
55
|
+
|
56
|
+
# See Mutex#unlock
|
57
|
+
#
|
58
|
+
def mu_unlock: () -> Thread::Mutex
|
59
|
+
|
60
|
+
# See Mutex#sleep
|
61
|
+
#
|
62
|
+
def sleep: (?Numeric timeout) -> Integer
|
63
|
+
|
64
|
+
alias locked? mu_locked?
|
65
|
+
alias lock mu_lock
|
66
|
+
alias unlock mu_unlock
|
67
|
+
alias try_lock mu_try_lock
|
68
|
+
alias synchronize mu_synchronize
|
69
|
+
|
70
|
+
private
|
71
|
+
|
72
|
+
def initialize: (*untyped args) -> untyped
|
73
|
+
|
74
|
+
def mu_initialize: () -> untyped
|
75
|
+
end
|
76
|
+
|
77
|
+
Mutex_m::VERSION: String
|
@@ -1066,17 +1066,17 @@ class Pathname
|
|
1066
1066
|
def prepend_prefix: (untyped prefix, untyped relpath) -> untyped
|
1067
1067
|
|
1068
1068
|
def split_names: (untyped path) -> untyped
|
1069
|
-
end
|
1070
1069
|
|
1071
|
-
|
1070
|
+
SAME_PATHS: Proc
|
1072
1071
|
|
1073
|
-
|
1072
|
+
SEPARATOR_LIST: String
|
1074
1073
|
|
1075
|
-
|
1074
|
+
SEPARATOR_PAT: Regexp
|
1076
1075
|
|
1077
|
-
|
1076
|
+
TO_PATH: Symbol
|
1077
|
+
end
|
1078
1078
|
|
1079
|
-
|
1079
|
+
module Kernel
|
1080
1080
|
# Creates a new Pathname object from the given string, `path`, and returns
|
1081
1081
|
# pathname object.
|
1082
1082
|
#
|
data/stdlib/prime/prime.rbs
CHANGED
@@ -129,60 +129,60 @@ class Prime
|
|
129
129
|
# Returns the singleton instance.
|
130
130
|
#
|
131
131
|
def self.instance: () -> Prime
|
132
|
-
end
|
133
132
|
|
134
|
-
# An abstract class for enumerating pseudo-prime numbers.
|
135
|
-
#
|
136
|
-
# Concrete subclasses should override succ, next, rewind.
|
137
|
-
#
|
138
|
-
class
|
139
|
-
|
133
|
+
# An abstract class for enumerating pseudo-prime numbers.
|
134
|
+
#
|
135
|
+
# Concrete subclasses should override succ, next, rewind.
|
136
|
+
#
|
137
|
+
class PseudoPrimeGenerator
|
138
|
+
def initialize: (?Integer?) -> void
|
140
139
|
|
141
|
-
|
140
|
+
include Enumerable[Integer, void]
|
142
141
|
|
143
|
-
|
142
|
+
attr_accessor upper_bound (): Integer?
|
144
143
|
|
145
|
-
|
146
|
-
|
147
|
-
|
144
|
+
# Iterates the given block for each prime number.
|
145
|
+
#
|
146
|
+
def each: () { (Integer) -> void } -> void
|
148
147
|
|
149
|
-
|
150
|
-
|
151
|
-
|
148
|
+
# alias of `succ`.
|
149
|
+
#
|
150
|
+
def next: () -> Integer
|
152
151
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
152
|
+
# Rewinds the internal position for enumeration.
|
153
|
+
#
|
154
|
+
# See `Enumerator`#rewind.
|
155
|
+
#
|
156
|
+
def rewind: () -> void
|
158
157
|
|
159
|
-
|
158
|
+
def size: () -> Float
|
160
159
|
|
161
|
-
|
160
|
+
# returns the next pseudo-prime number, and move the internal position forward.
|
161
|
+
#
|
162
|
+
# `PseudoPrimeGenerator`#succ raises `NotImplementedError`.
|
163
|
+
#
|
164
|
+
def succ: () -> Integer
|
165
|
+
end
|
166
|
+
|
167
|
+
# An implementation of `PseudoPrimeGenerator`.
|
162
168
|
#
|
163
|
-
#
|
169
|
+
# Uses `EratosthenesSieve`.
|
164
170
|
#
|
165
|
-
|
166
|
-
end
|
167
|
-
|
168
|
-
# An implementation of `PseudoPrimeGenerator`.
|
169
|
-
#
|
170
|
-
# Uses `EratosthenesSieve`.
|
171
|
-
#
|
172
|
-
class Prime::EratosthenesGenerator < PseudoPrimeGenerator
|
173
|
-
end
|
171
|
+
class EratosthenesGenerator < PseudoPrimeGenerator
|
172
|
+
end
|
174
173
|
|
175
|
-
# An implementation of `PseudoPrimeGenerator` which uses a prime table generated
|
176
|
-
# by trial division.
|
177
|
-
#
|
178
|
-
class
|
179
|
-
end
|
174
|
+
# An implementation of `PseudoPrimeGenerator` which uses a prime table generated
|
175
|
+
# by trial division.
|
176
|
+
#
|
177
|
+
class TrialDivisionGenerator < PseudoPrimeGenerator
|
178
|
+
end
|
180
179
|
|
181
|
-
# Generates all integers which are greater than 2 and are not divisible by
|
182
|
-
# either 2 or 3.
|
183
|
-
#
|
184
|
-
# This is a pseudo-prime generator, suitable on checking primality of an integer
|
185
|
-
# by brute force method.
|
186
|
-
#
|
187
|
-
class
|
180
|
+
# Generates all integers which are greater than 2 and are not divisible by
|
181
|
+
# either 2 or 3.
|
182
|
+
#
|
183
|
+
# This is a pseudo-prime generator, suitable on checking primality of an integer
|
184
|
+
# by brute force method.
|
185
|
+
#
|
186
|
+
class Generator23 < PseudoPrimeGenerator
|
187
|
+
end
|
188
188
|
end
|
data/stdlib/pty/pty.rbs
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
# Creates and manages pseudo terminals (PTYs). See also
|
2
|
+
# http://en.wikipedia.org/wiki/Pseudo_terminal
|
3
|
+
#
|
4
|
+
# PTY allows you to allocate new terminals using ::open or ::spawn a new
|
5
|
+
# terminal with a specific command.
|
6
|
+
#
|
7
|
+
# ## Example
|
8
|
+
#
|
9
|
+
# In this example we will change the buffering type in the `factor` command,
|
10
|
+
# assuming that factor uses stdio for stdout buffering.
|
11
|
+
#
|
12
|
+
# If IO.pipe is used instead of PTY.open, this code deadlocks because factor's
|
13
|
+
# stdout is fully buffered.
|
14
|
+
#
|
15
|
+
# # start by requiring the standard library PTY
|
16
|
+
# require 'pty'
|
17
|
+
#
|
18
|
+
# master, slave = PTY.open
|
19
|
+
# read, write = IO.pipe
|
20
|
+
# pid = spawn("factor", :in=>read, :out=>slave)
|
21
|
+
# read.close # we dont need the read
|
22
|
+
# slave.close # or the slave
|
23
|
+
#
|
24
|
+
# # pipe "42" to the factor command
|
25
|
+
# write.puts "42"
|
26
|
+
# # output the response from factor
|
27
|
+
# p master.gets #=> "42: 2 3 7\n"
|
28
|
+
#
|
29
|
+
# # pipe "144" to factor and print out the response
|
30
|
+
# write.puts "144"
|
31
|
+
# p master.gets #=> "144: 2 2 2 2 3 3\n"
|
32
|
+
# write.close # close the pipe
|
33
|
+
#
|
34
|
+
# # The result of read operation when pty slave is closed is platform
|
35
|
+
# # dependent.
|
36
|
+
# ret = begin
|
37
|
+
# master.gets # FreeBSD returns nil.
|
38
|
+
# rescue Errno::EIO # GNU/Linux raises EIO.
|
39
|
+
# nil
|
40
|
+
# end
|
41
|
+
# p ret #=> nil
|
42
|
+
#
|
43
|
+
# ## License
|
44
|
+
#
|
45
|
+
# C) Copyright 1998 by Akinori Ito.
|
46
|
+
#
|
47
|
+
# This software may be redistributed freely for this purpose, in full
|
48
|
+
# or in part, provided that this entire copyright notice is included
|
49
|
+
# on any copies of this software and applications and derivations thereof.
|
50
|
+
#
|
51
|
+
# This software is provided on an "as is" basis, without warranty of any
|
52
|
+
# kind, either expressed or implied, as to any matter including, but not
|
53
|
+
# limited to warranty of fitness of purpose, or merchantability, or
|
54
|
+
# results obtained from use of this software.
|
55
|
+
#
|
56
|
+
module PTY
|
57
|
+
# Checks the status of the child process specified by `pid`. Returns `nil` if
|
58
|
+
# the process is still alive.
|
59
|
+
#
|
60
|
+
# If the process is not alive, and `raise` was true, a PTY::ChildExited
|
61
|
+
# exception will be raised. Otherwise it will return a Process::Status instance.
|
62
|
+
#
|
63
|
+
# `pid`
|
64
|
+
# : The process id of the process to check
|
65
|
+
# `raise`
|
66
|
+
# : If `true` and the process identified by `pid` is no longer alive a
|
67
|
+
# PTY::ChildExited is raised.
|
68
|
+
def self.check: (Integer pid) -> (Process::Status | nil)
|
69
|
+
| (Integer pid, FalseClass raise) -> (Process::Status | nil)
|
70
|
+
| (Integer pid, TrueClass raise) -> nil
|
71
|
+
|
72
|
+
# Spawns the specified command on a newly allocated pty. You can also use the
|
73
|
+
# alias ::getpty.
|
74
|
+
#
|
75
|
+
# The command's controlling tty is set to the slave device of the pty and its
|
76
|
+
# standard input/output/error is redirected to the slave device.
|
77
|
+
#
|
78
|
+
# `command` and `command_line` are the full commands to run, given a String. Any
|
79
|
+
# additional `arguments` will be passed to the command.
|
80
|
+
#
|
81
|
+
# ### Return values
|
82
|
+
#
|
83
|
+
# In the non-block form this returns an array of size three, `[r, w, pid]`.
|
84
|
+
#
|
85
|
+
# In the block form these same values will be yielded to the block:
|
86
|
+
#
|
87
|
+
# `r`
|
88
|
+
# : A readable IO that contains the command's standard output and standard
|
89
|
+
# error
|
90
|
+
# `w`
|
91
|
+
# : A writable IO that is the command's standard input
|
92
|
+
# `pid`
|
93
|
+
# : The process identifier for the command.
|
94
|
+
def self.getpty: (*String command) -> [ IO, IO, Integer ]
|
95
|
+
| (*String command) { ([ IO ,IO , Integer ]) -> untyped } -> untyped
|
96
|
+
|
97
|
+
# Allocates a pty (pseudo-terminal).
|
98
|
+
#
|
99
|
+
# In the block form, yields two arguments `master_io, slave_file` and the value
|
100
|
+
# of the block is returned from `open`.
|
101
|
+
#
|
102
|
+
# The IO and File are both closed after the block completes if they haven't been
|
103
|
+
# already closed.
|
104
|
+
#
|
105
|
+
# PTY.open {|master, slave|
|
106
|
+
# p master #=> #<IO:masterpty:/dev/pts/1>
|
107
|
+
# p slave #=> #<File:/dev/pts/1>
|
108
|
+
# p slave.path #=> "/dev/pts/1"
|
109
|
+
# }
|
110
|
+
#
|
111
|
+
# In the non-block form, returns a two element array, `[master_io, slave_file]`.
|
112
|
+
#
|
113
|
+
# master, slave = PTY.open
|
114
|
+
# # do something with master for IO, or the slave file
|
115
|
+
#
|
116
|
+
# The arguments in both forms are:
|
117
|
+
#
|
118
|
+
# `master_io`
|
119
|
+
# : the master of the pty, as an IO.
|
120
|
+
# `slave_file`
|
121
|
+
# : the slave of the pty, as a File. The path to the terminal device is
|
122
|
+
# available via `slave_file.path`
|
123
|
+
#
|
124
|
+
#
|
125
|
+
# IO#raw! is usable to disable newline conversions:
|
126
|
+
#
|
127
|
+
# require 'io/console'
|
128
|
+
# PTY.open {|m, s|
|
129
|
+
# s.raw!
|
130
|
+
# ...
|
131
|
+
# }
|
132
|
+
def self.open: () -> [ IO, File ]
|
133
|
+
| () { ([ IO , File ]) -> untyped } -> untyped
|
134
|
+
|
135
|
+
# Spawns the specified command on a newly allocated pty. You can also use the
|
136
|
+
# alias ::getpty.
|
137
|
+
#
|
138
|
+
# The command's controlling tty is set to the slave device of the pty and its
|
139
|
+
# standard input/output/error is redirected to the slave device.
|
140
|
+
#
|
141
|
+
# `command` and `command_line` are the full commands to run, given a String. Any
|
142
|
+
# additional `arguments` will be passed to the command.
|
143
|
+
#
|
144
|
+
# ### Return values
|
145
|
+
#
|
146
|
+
# In the non-block form this returns an array of size three, `[r, w, pid]`.
|
147
|
+
#
|
148
|
+
# In the block form these same values will be yielded to the block:
|
149
|
+
#
|
150
|
+
# `r`
|
151
|
+
# : A readable IO that contains the command's standard output and standard
|
152
|
+
# error
|
153
|
+
# `w`
|
154
|
+
# : A writable IO that is the command's standard input
|
155
|
+
# `pid`
|
156
|
+
# : The process identifier for the command.
|
157
|
+
def self.spawn: (*String command) -> [ IO, IO, Integer ]
|
158
|
+
| (*String command) {([ IO , IO , Integer ]) -> untyped } -> untyped
|
159
|
+
end
|
data/stdlib/tmpdir/tmpdir.rbs
CHANGED
metadata
CHANGED
@@ -1,127 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '13.0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '13.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '5.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '5.0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: racc
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.4.16
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 1.4.16
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rubocop
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop-rubycw
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: minitest-reporters
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 1.3.6
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 1.3.6
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: json
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 2.3.0
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 2.3.0
|
11
|
+
date: 2020-08-01 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
125
13
|
description: RBS is the language for type signatures for Ruby and standard library
|
126
14
|
definitions.
|
127
15
|
email:
|
@@ -143,6 +31,8 @@ files:
|
|
143
31
|
- bin/annotate-with-rdoc
|
144
32
|
- bin/console
|
145
33
|
- bin/query-rdoc
|
34
|
+
- bin/rbs-prof
|
35
|
+
- bin/run_in_md.rb
|
146
36
|
- bin/setup
|
147
37
|
- bin/sort
|
148
38
|
- bin/test_runner.rb
|
@@ -151,6 +41,7 @@ files:
|
|
151
41
|
- docs/stdlib.md
|
152
42
|
- docs/syntax.md
|
153
43
|
- exe/rbs
|
44
|
+
- goodcheck.yml
|
154
45
|
- lib/rbs.rb
|
155
46
|
- lib/rbs/ast/annotation.rb
|
156
47
|
- lib/rbs/ast/comment.rb
|
@@ -167,6 +58,7 @@ files:
|
|
167
58
|
- lib/rbs/environment_loader.rb
|
168
59
|
- lib/rbs/environment_walker.rb
|
169
60
|
- lib/rbs/errors.rb
|
61
|
+
- lib/rbs/factory.rb
|
170
62
|
- lib/rbs/location.rb
|
171
63
|
- lib/rbs/method_type.rb
|
172
64
|
- lib/rbs/namespace.rb
|
@@ -179,18 +71,30 @@ files:
|
|
179
71
|
- lib/rbs/test.rb
|
180
72
|
- lib/rbs/test/errors.rb
|
181
73
|
- lib/rbs/test/hook.rb
|
74
|
+
- lib/rbs/test/observer.rb
|
182
75
|
- lib/rbs/test/setup.rb
|
76
|
+
- lib/rbs/test/setup_helper.rb
|
183
77
|
- lib/rbs/test/spy.rb
|
184
|
-
- lib/rbs/test/
|
78
|
+
- lib/rbs/test/tester.rb
|
185
79
|
- lib/rbs/test/type_check.rb
|
186
80
|
- lib/rbs/type_name.rb
|
81
|
+
- lib/rbs/type_name_resolver.rb
|
187
82
|
- lib/rbs/types.rb
|
83
|
+
- lib/rbs/validator.rb
|
188
84
|
- lib/rbs/variance_calculator.rb
|
189
85
|
- lib/rbs/vendorer.rb
|
190
86
|
- lib/rbs/version.rb
|
191
87
|
- lib/rbs/writer.rb
|
192
88
|
- lib/ruby/signature.rb
|
193
89
|
- rbs.gemspec
|
90
|
+
- schema/annotation.json
|
91
|
+
- schema/comment.json
|
92
|
+
- schema/decls.json
|
93
|
+
- schema/function.json
|
94
|
+
- schema/location.json
|
95
|
+
- schema/members.json
|
96
|
+
- schema/methodType.json
|
97
|
+
- schema/types.json
|
194
98
|
- stdlib/abbrev/abbrev.rbs
|
195
99
|
- stdlib/base64/base64.rbs
|
196
100
|
- stdlib/benchmark/benchmark.rbs
|
@@ -253,12 +157,20 @@ files:
|
|
253
157
|
- stdlib/coverage/coverage.rbs
|
254
158
|
- stdlib/csv/csv.rbs
|
255
159
|
- stdlib/erb/erb.rbs
|
160
|
+
- stdlib/fiber/fiber.rbs
|
256
161
|
- stdlib/find/find.rbs
|
257
162
|
- stdlib/ipaddr/ipaddr.rbs
|
258
163
|
- stdlib/json/json.rbs
|
164
|
+
- stdlib/logger/formatter.rbs
|
165
|
+
- stdlib/logger/log_device.rbs
|
166
|
+
- stdlib/logger/logger.rbs
|
167
|
+
- stdlib/logger/period.rbs
|
168
|
+
- stdlib/logger/severity.rbs
|
169
|
+
- stdlib/mutex_m/mutex_m.rbs
|
259
170
|
- stdlib/pathname/pathname.rbs
|
260
171
|
- stdlib/prime/integer-extension.rbs
|
261
172
|
- stdlib/prime/prime.rbs
|
173
|
+
- stdlib/pty/pty.rbs
|
262
174
|
- stdlib/securerandom/securerandom.rbs
|
263
175
|
- stdlib/set/set.rbs
|
264
176
|
- stdlib/tmpdir/tmpdir.rbs
|