rbs 0.4.0 → 0.9.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.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +7 -1
  3. data/.gitignore +1 -1
  4. data/CHANGELOG.md +35 -0
  5. data/Gemfile +14 -0
  6. data/README.md +86 -47
  7. data/Rakefile +53 -21
  8. data/bin/rbs-prof +9 -0
  9. data/bin/run_in_md.rb +49 -0
  10. data/docs/stdlib.md +0 -2
  11. data/docs/syntax.md +6 -3
  12. data/goodcheck.yml +65 -0
  13. data/lib/rbs.rb +3 -0
  14. data/lib/rbs/ast/comment.rb +6 -0
  15. data/lib/rbs/ast/declarations.rb +106 -13
  16. data/lib/rbs/ast/members.rb +41 -17
  17. data/lib/rbs/cli.rb +317 -121
  18. data/lib/rbs/constant.rb +4 -4
  19. data/lib/rbs/constant_table.rb +51 -45
  20. data/lib/rbs/definition.rb +175 -59
  21. data/lib/rbs/definition_builder.rb +814 -604
  22. data/lib/rbs/environment.rb +352 -210
  23. data/lib/rbs/environment_walker.rb +14 -23
  24. data/lib/rbs/errors.rb +184 -3
  25. data/lib/rbs/factory.rb +14 -0
  26. data/lib/rbs/location.rb +15 -0
  27. data/lib/rbs/parser.y +100 -34
  28. data/lib/rbs/prototype/rb.rb +101 -113
  29. data/lib/rbs/prototype/rbi.rb +5 -3
  30. data/lib/rbs/prototype/runtime.rb +11 -7
  31. data/lib/rbs/substitution.rb +12 -1
  32. data/lib/rbs/test.rb +82 -3
  33. data/lib/rbs/test/errors.rb +5 -1
  34. data/lib/rbs/test/hook.rb +133 -259
  35. data/lib/rbs/test/observer.rb +17 -0
  36. data/lib/rbs/test/setup.rb +35 -19
  37. data/lib/rbs/test/setup_helper.rb +29 -0
  38. data/lib/rbs/test/spy.rb +0 -321
  39. data/lib/rbs/test/tester.rb +116 -0
  40. data/lib/rbs/test/type_check.rb +43 -7
  41. data/lib/rbs/type_name_resolver.rb +58 -0
  42. data/lib/rbs/types.rb +94 -2
  43. data/lib/rbs/validator.rb +55 -0
  44. data/lib/rbs/variance_calculator.rb +12 -2
  45. data/lib/rbs/version.rb +1 -1
  46. data/lib/rbs/writer.rb +127 -91
  47. data/rbs.gemspec +0 -10
  48. data/schema/decls.json +36 -10
  49. data/schema/members.json +3 -0
  50. data/stdlib/benchmark/benchmark.rbs +151 -151
  51. data/stdlib/builtin/enumerable.rbs +3 -3
  52. data/stdlib/builtin/file.rbs +0 -3
  53. data/stdlib/builtin/io.rbs +4 -4
  54. data/stdlib/builtin/proc.rbs +1 -2
  55. data/stdlib/builtin/thread.rbs +2 -2
  56. data/stdlib/csv/csv.rbs +4 -6
  57. data/stdlib/fiber/fiber.rbs +1 -1
  58. data/stdlib/json/json.rbs +7 -1
  59. data/stdlib/logger/formatter.rbs +23 -0
  60. data/stdlib/logger/log_device.rbs +39 -0
  61. data/stdlib/logger/logger.rbs +507 -0
  62. data/stdlib/logger/period.rbs +7 -0
  63. data/stdlib/logger/severity.rbs +8 -0
  64. data/stdlib/mutex_m/mutex_m.rbs +77 -0
  65. data/stdlib/pathname/pathname.rbs +6 -6
  66. data/stdlib/prime/integer-extension.rbs +1 -1
  67. data/stdlib/prime/prime.rbs +44 -44
  68. data/stdlib/pty/pty.rbs +159 -0
  69. data/stdlib/tmpdir/tmpdir.rbs +1 -1
  70. metadata +19 -130
  71. data/lib/rbs/test/test_helper.rb +0 -183
@@ -0,0 +1,7 @@
1
+ module Logger::Period
2
+ def self?.next_rotate_time: (Time now, String shift_age) -> untyped
3
+
4
+ def self?.previous_period_end: (Time now, String shift_age) -> untyped
5
+
6
+ SiD: Integer
7
+ end
@@ -0,0 +1,8 @@
1
+ module Logger::Severity
2
+ DEBUG: 0
3
+ INFO: 1
4
+ WARN: 2
5
+ ERROR: 3
6
+ FATAL: 4
7
+ UNKNOWN: 5
8
+ end
@@ -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
- Pathname::SAME_PATHS: Proc
1070
+ SAME_PATHS: Proc
1072
1071
 
1073
- Pathname::SEPARATOR_LIST: String
1072
+ SEPARATOR_LIST: String
1074
1073
 
1075
- Pathname::SEPARATOR_PAT: Regexp
1074
+ SEPARATOR_PAT: Regexp
1076
1075
 
1077
- Pathname::TO_PATH: Symbol
1076
+ TO_PATH: Symbol
1077
+ end
1078
1078
 
1079
- extension Kernel (Pathname)
1079
+ module Kernel
1080
1080
  # Creates a new Pathname object from the given string, `path`, and returns
1081
1081
  # pathname object.
1082
1082
  #
@@ -1,4 +1,4 @@
1
- extension Integer (Prime)
1
+ class Integer
2
2
  # Iterates the given block over all prime numbers.
3
3
  #
4
4
  # See Prime#each for more details.
@@ -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 Prime::PseudoPrimeGenerator
139
- def initialize: (?Integer?) -> void
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
- include Enumerable[Integer, void]
140
+ include Enumerable[Integer, void]
142
141
 
143
- attr_accessor upper_bound (): Integer?
142
+ attr_accessor upper_bound (): Integer?
144
143
 
145
- # Iterates the given block for each prime number.
146
- #
147
- def each: () { (Integer) -> void } -> void
144
+ # Iterates the given block for each prime number.
145
+ #
146
+ def each: () { (Integer) -> void } -> void
148
147
 
149
- # alias of `succ`.
150
- #
151
- def next: () -> Integer
148
+ # alias of `succ`.
149
+ #
150
+ def next: () -> Integer
152
151
 
153
- # Rewinds the internal position for enumeration.
154
- #
155
- # See `Enumerator`#rewind.
156
- #
157
- def rewind: () -> void
152
+ # Rewinds the internal position for enumeration.
153
+ #
154
+ # See `Enumerator`#rewind.
155
+ #
156
+ def rewind: () -> void
158
157
 
159
- def size: () -> Float
158
+ def size: () -> Float
160
159
 
161
- # returns the next pseudo-prime number, and move the internal position forward.
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
- # `PseudoPrimeGenerator`#succ raises `NotImplementedError`.
169
+ # Uses `EratosthenesSieve`.
164
170
  #
165
- def succ: () -> Integer
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 Prime::TrialDivisionGenerator < PseudoPrimeGenerator
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 Prime::Generator23 < PseudoPrimeGenerator
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
@@ -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
@@ -1,4 +1,4 @@
1
- extension Dir (tmpdir)
1
+ class Dir
2
2
  # Returns the operating system's temporary file path.
3
3
  #
4
4
  def self.tmpdir: () -> String
metadata CHANGED
@@ -1,141 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.9.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-06-15 00:00:00.000000000 Z
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
125
- - !ruby/object:Gem::Dependency
126
- name: json-schema
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '2.8'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '2.8'
11
+ date: 2020-08-02 00:00:00.000000000 Z
12
+ dependencies: []
139
13
  description: RBS is the language for type signatures for Ruby and standard library
140
14
  definitions.
141
15
  email:
@@ -157,6 +31,8 @@ files:
157
31
  - bin/annotate-with-rdoc
158
32
  - bin/console
159
33
  - bin/query-rdoc
34
+ - bin/rbs-prof
35
+ - bin/run_in_md.rb
160
36
  - bin/setup
161
37
  - bin/sort
162
38
  - bin/test_runner.rb
@@ -165,6 +41,7 @@ files:
165
41
  - docs/stdlib.md
166
42
  - docs/syntax.md
167
43
  - exe/rbs
44
+ - goodcheck.yml
168
45
  - lib/rbs.rb
169
46
  - lib/rbs/ast/annotation.rb
170
47
  - lib/rbs/ast/comment.rb
@@ -181,6 +58,7 @@ files:
181
58
  - lib/rbs/environment_loader.rb
182
59
  - lib/rbs/environment_walker.rb
183
60
  - lib/rbs/errors.rb
61
+ - lib/rbs/factory.rb
184
62
  - lib/rbs/location.rb
185
63
  - lib/rbs/method_type.rb
186
64
  - lib/rbs/namespace.rb
@@ -193,12 +71,16 @@ files:
193
71
  - lib/rbs/test.rb
194
72
  - lib/rbs/test/errors.rb
195
73
  - lib/rbs/test/hook.rb
74
+ - lib/rbs/test/observer.rb
196
75
  - lib/rbs/test/setup.rb
76
+ - lib/rbs/test/setup_helper.rb
197
77
  - lib/rbs/test/spy.rb
198
- - lib/rbs/test/test_helper.rb
78
+ - lib/rbs/test/tester.rb
199
79
  - lib/rbs/test/type_check.rb
200
80
  - lib/rbs/type_name.rb
81
+ - lib/rbs/type_name_resolver.rb
201
82
  - lib/rbs/types.rb
83
+ - lib/rbs/validator.rb
202
84
  - lib/rbs/variance_calculator.rb
203
85
  - lib/rbs/vendorer.rb
204
86
  - lib/rbs/version.rb
@@ -279,9 +161,16 @@ files:
279
161
  - stdlib/find/find.rbs
280
162
  - stdlib/ipaddr/ipaddr.rbs
281
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
282
170
  - stdlib/pathname/pathname.rbs
283
171
  - stdlib/prime/integer-extension.rbs
284
172
  - stdlib/prime/prime.rbs
173
+ - stdlib/pty/pty.rbs
285
174
  - stdlib/securerandom/securerandom.rbs
286
175
  - stdlib/set/set.rbs
287
176
  - stdlib/tmpdir/tmpdir.rbs