rbs 1.6.1 → 1.7.0.beta.3
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 +18 -3
- data/.gitignore +10 -1
- data/CHANGELOG.md +25 -0
- data/Gemfile +1 -0
- data/Rakefile +22 -22
- data/core/enumerator.rbs +1 -0
- data/core/io.rbs +1 -1
- data/core/kernel.rbs +4 -4
- data/core/trace_point.rbs +1 -1
- data/ext/rbs_extension/constants.c +139 -0
- data/ext/rbs_extension/constants.h +72 -0
- data/ext/rbs_extension/extconf.rb +3 -0
- data/ext/rbs_extension/lexer.c +2533 -0
- data/ext/rbs_extension/lexer.h +161 -0
- data/ext/rbs_extension/lexer.re +140 -0
- data/ext/rbs_extension/lexstate.c +139 -0
- data/ext/rbs_extension/location.c +295 -0
- data/ext/rbs_extension/location.h +59 -0
- data/ext/rbs_extension/main.c +9 -0
- data/ext/rbs_extension/parser.c +2390 -0
- data/ext/rbs_extension/parser.h +18 -0
- data/ext/rbs_extension/parserstate.c +313 -0
- data/ext/rbs_extension/parserstate.h +141 -0
- data/ext/rbs_extension/rbs_extension.h +40 -0
- data/ext/rbs_extension/ruby_objs.c +521 -0
- data/ext/rbs_extension/ruby_objs.h +46 -0
- data/ext/rbs_extension/unescape.c +65 -0
- data/goodcheck.yml +1 -1
- data/lib/rbs/ast/comment.rb +0 -12
- data/lib/rbs/buffer.rb +4 -0
- data/lib/rbs/cli.rb +5 -8
- data/lib/rbs/collection/installer.rb +1 -0
- data/lib/rbs/collection/sources/git.rb +18 -3
- data/lib/rbs/errors.rb +28 -1
- data/lib/rbs/location.rb +221 -217
- data/lib/rbs/location_aux.rb +121 -0
- data/lib/rbs/locator.rb +10 -7
- data/lib/rbs/parser_aux.rb +63 -0
- data/lib/rbs/parser_compat/lexer_error.rb +4 -0
- data/lib/rbs/parser_compat/located_value.rb +5 -0
- data/lib/rbs/parser_compat/semantics_error.rb +4 -0
- data/lib/rbs/parser_compat/syntax_error.rb +4 -0
- data/lib/rbs/types.rb +2 -3
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +4 -2
- data/lib/rbs.rb +14 -7
- data/rbs.gemspec +2 -1
- data/sig/ancestor_builder.rbs +2 -2
- data/sig/annotation.rbs +2 -2
- data/sig/comment.rbs +7 -7
- data/sig/constant_table.rbs +1 -1
- data/sig/declarations.rbs +9 -9
- data/sig/definition.rbs +1 -1
- data/sig/definition_builder.rbs +2 -2
- data/sig/errors.rbs +40 -25
- data/sig/location.rbs +46 -78
- data/sig/locator.rbs +2 -2
- data/sig/members.rbs +7 -7
- data/sig/method_types.rbs +3 -3
- data/sig/parser.rbs +15 -20
- data/sig/rbs.rbs +4 -0
- data/sig/types.rbs +45 -27
- data/sig/writer.rbs +1 -1
- data/stdlib/io-console/0/io-console.rbs +137 -0
- data/stdlib/json/0/json.rbs +3 -3
- data/stdlib/net-http/0/net-http.rbs +2 -1
- data/stdlib/tempfile/0/tempfile.rbs +4 -6
- metadata +32 -7
- data/lib/rbs/parser.rb +0 -3614
@@ -0,0 +1,63 @@
|
|
1
|
+
module RBS
|
2
|
+
class Parser
|
3
|
+
def self.parse_type(source, line: 1, column: 0, variables: [])
|
4
|
+
_parse_type(buffer(source), line, column, variables)
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.parse_method_type(source, line: 1, column: 0, variables: [])
|
8
|
+
_parse_method_type(buffer(source), line, column, variables)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.parse_signature(source, line: 1, column: 0)
|
12
|
+
_parse_signature(buffer(source), line, column)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.buffer(source)
|
16
|
+
case source
|
17
|
+
when String
|
18
|
+
Buffer.new(content: source, name: "a.rbs")
|
19
|
+
when Buffer
|
20
|
+
source
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
autoload :SyntaxError, "rbs/parser_compat/syntax_error"
|
25
|
+
autoload :SemanticsError, "rbs/parser_compat/semantics_error"
|
26
|
+
autoload :LexerError, "rbs/parser_compat/lexer_error"
|
27
|
+
autoload :LocatedValue, "rbs/parser_compat/located_value"
|
28
|
+
|
29
|
+
KEYWORDS = Set.new(
|
30
|
+
%w(
|
31
|
+
bool
|
32
|
+
bot
|
33
|
+
class
|
34
|
+
instance
|
35
|
+
interface
|
36
|
+
nil
|
37
|
+
self
|
38
|
+
singleton
|
39
|
+
top
|
40
|
+
void
|
41
|
+
type
|
42
|
+
unchecked
|
43
|
+
in
|
44
|
+
out
|
45
|
+
end
|
46
|
+
def
|
47
|
+
include
|
48
|
+
extend
|
49
|
+
prepend
|
50
|
+
alias
|
51
|
+
module
|
52
|
+
attr_reader
|
53
|
+
attr_writer
|
54
|
+
attr_accessor
|
55
|
+
public
|
56
|
+
private
|
57
|
+
untyped
|
58
|
+
true
|
59
|
+
false
|
60
|
+
)
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
data/lib/rbs/types.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
module RBS
|
3
2
|
module Types
|
4
3
|
module NoFreeVariables
|
@@ -434,7 +433,7 @@ module RBS
|
|
434
433
|
return "{ }" if self.fields.empty?
|
435
434
|
|
436
435
|
fields = self.fields.map do |key, type|
|
437
|
-
if key.is_a?(Symbol) && key.match?(/\A[A-Za-z_][A-Za-z_]*\z/) && !
|
436
|
+
if key.is_a?(Symbol) && key.match?(/\A[A-Za-z_][A-Za-z_]*\z/) && !Parser::KEYWORDS.include?(key)
|
438
437
|
"#{key}: #{type}"
|
439
438
|
else
|
440
439
|
"#{key.inspect} => #{type}"
|
@@ -691,7 +690,7 @@ module RBS
|
|
691
690
|
|
692
691
|
def to_s
|
693
692
|
if name
|
694
|
-
if
|
693
|
+
if Parser::KEYWORDS.include?(name)
|
695
694
|
"#{type} `#{name}`"
|
696
695
|
else
|
697
696
|
"#{type} #{name}"
|
data/lib/rbs/version.rb
CHANGED
data/lib/rbs/writer.rb
CHANGED
@@ -232,8 +232,10 @@ module RBS
|
|
232
232
|
def method_name(name)
|
233
233
|
s = name.to_s
|
234
234
|
|
235
|
-
|
236
|
-
|
235
|
+
case s
|
236
|
+
when /\A(_?)[A-Za-z_]\w*(\?|!|=)?\Z/
|
237
|
+
s
|
238
|
+
when *%w(| ^ & <=> == === =~ > >= < <= << >> + - * / % ** ~ +@ -@ [] []= ` ! != !~)
|
237
239
|
s
|
238
240
|
else
|
239
241
|
"`#{s}`"
|
data/lib/rbs.rb
CHANGED
@@ -12,7 +12,6 @@ require "strscan"
|
|
12
12
|
require "rbs/char_scanner"
|
13
13
|
require "rbs/errors"
|
14
14
|
require "rbs/buffer"
|
15
|
-
require "rbs/location"
|
16
15
|
require "rbs/namespace"
|
17
16
|
require "rbs/type_name"
|
18
17
|
require "rbs/types"
|
@@ -47,12 +46,9 @@ require "rbs/locator"
|
|
47
46
|
require "rbs/type_alias_dependency"
|
48
47
|
require "rbs/collection"
|
49
48
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
STDERR.puts "Missing parser Ruby code? Running `rake parser` may solve the issue"
|
54
|
-
raise
|
55
|
-
end
|
49
|
+
require "rbs_extension"
|
50
|
+
require "rbs/parser_aux"
|
51
|
+
require "rbs/location_aux"
|
56
52
|
|
57
53
|
module RBS
|
58
54
|
class <<self
|
@@ -72,5 +68,16 @@ module RBS
|
|
72
68
|
@logger_level = level
|
73
69
|
@logger = nil
|
74
70
|
end
|
71
|
+
|
72
|
+
def print_warning()
|
73
|
+
@warnings ||= Set[]
|
74
|
+
|
75
|
+
message = yield()
|
76
|
+
|
77
|
+
unless @warnings.include?(message)
|
78
|
+
@warnings << message
|
79
|
+
logger.warn { message }
|
80
|
+
end
|
81
|
+
end
|
75
82
|
end
|
76
83
|
end
|
data/rbs.gemspec
CHANGED
@@ -30,7 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
31
31
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|bin)/}) }
|
32
32
|
end
|
33
|
-
spec.
|
33
|
+
spec.extensions = %w{ext/rbs_extension/extconf.rb}
|
34
|
+
|
34
35
|
spec.bindir = "exe"
|
35
36
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
36
37
|
spec.require_paths = ["lib"]
|
data/sig/ancestor_builder.rbs
CHANGED
@@ -82,7 +82,7 @@ module RBS
|
|
82
82
|
def mixin_ancestors: (Environment::ClassEntry | Environment::ModuleEntry,
|
83
83
|
TypeName,
|
84
84
|
included_modules: Array[Definition::Ancestor::Instance]?,
|
85
|
-
included_interfaces:Array[Definition::Ancestor::Instance]?,
|
85
|
+
included_interfaces: Array[Definition::Ancestor::Instance]?,
|
86
86
|
prepended_modules: Array[Definition::Ancestor::Instance]?,
|
87
87
|
extended_modules: Array[Definition::Ancestor::Instance]?,
|
88
88
|
extended_interfaces: Array[Definition::Ancestor::Instance]?) -> void
|
@@ -91,7 +91,7 @@ module RBS
|
|
91
91
|
TypeName,
|
92
92
|
align_params: Substitution?,
|
93
93
|
included_modules: Array[Definition::Ancestor::Instance]?,
|
94
|
-
included_interfaces:Array[Definition::Ancestor::Instance]?,
|
94
|
+
included_interfaces: Array[Definition::Ancestor::Instance]?,
|
95
95
|
prepended_modules: Array[Definition::Ancestor::Instance]?,
|
96
96
|
extended_modules: Array[Definition::Ancestor::Instance]?,
|
97
97
|
extended_interfaces: Array[Definition::Ancestor::Instance]?) -> void
|
data/sig/annotation.rbs
CHANGED
@@ -10,9 +10,9 @@ module RBS
|
|
10
10
|
#
|
11
11
|
class Annotation
|
12
12
|
attr_reader string: String
|
13
|
-
attr_reader location: Location?
|
13
|
+
attr_reader location: Location[untyped, untyped]?
|
14
14
|
|
15
|
-
def initialize: (string: String, location: Location?) -> void
|
15
|
+
def initialize: (string: String, location: Location[untyped, untyped]?) -> void
|
16
16
|
|
17
17
|
def ==: (untyped other) -> bool
|
18
18
|
|
data/sig/comment.rbs
CHANGED
@@ -2,15 +2,17 @@ module RBS
|
|
2
2
|
module AST
|
3
3
|
# RBS allows writing documentation of declarations and members.
|
4
4
|
#
|
5
|
-
#
|
6
|
-
#
|
7
|
-
#
|
5
|
+
# ```
|
6
|
+
# # This is a doc for class.
|
7
|
+
# class Hello
|
8
|
+
# end
|
9
|
+
# ```
|
8
10
|
#
|
9
11
|
class Comment
|
10
12
|
attr_reader string: String
|
11
|
-
attr_reader location: Location?
|
13
|
+
attr_reader location: Location[bot, bot]?
|
12
14
|
|
13
|
-
def initialize: (string: String, location: Location?) -> void
|
15
|
+
def initialize: (string: String, location: Location[bot, bot]?) -> void
|
14
16
|
|
15
17
|
def ==: (untyped other) -> bool
|
16
18
|
|
@@ -19,8 +21,6 @@ module RBS
|
|
19
21
|
def hash: () -> Integer
|
20
22
|
|
21
23
|
include _ToJson
|
22
|
-
|
23
|
-
def concat: (string: String, location: Location?) -> self
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
data/sig/constant_table.rbs
CHANGED
@@ -9,7 +9,7 @@ module RBS
|
|
9
9
|
|
10
10
|
def absolute_type: (Types::t, context: Array[Namespace]) -> Types::t
|
11
11
|
|
12
|
-
def absolute_type_name: (TypeName, context: Array[Namespace], location: Location?) -> TypeName
|
12
|
+
def absolute_type_name: (TypeName, context: Array[Namespace], location: Location[untyped, untyped]?) -> TypeName
|
13
13
|
|
14
14
|
def name_to_constant: (TypeName) -> Constant?
|
15
15
|
|
data/sig/declarations.rbs
CHANGED
@@ -17,7 +17,7 @@ module RBS
|
|
17
17
|
# ^^^^^^^^^ unchecked
|
18
18
|
# ^^^ variance
|
19
19
|
# ^^^^ name
|
20
|
-
type loc = Location
|
20
|
+
type loc = Location[:name, :variance | :unchecked]
|
21
21
|
|
22
22
|
attr_reader name: Symbol
|
23
23
|
attr_reader variance: variance
|
@@ -86,7 +86,7 @@ module RBS
|
|
86
86
|
# ^^^^^ name
|
87
87
|
# ^^^^^^^^ args
|
88
88
|
#
|
89
|
-
type loc = Location
|
89
|
+
type loc = Location[:name, :args]
|
90
90
|
|
91
91
|
attr_reader name: TypeName
|
92
92
|
attr_reader args: Array[Types::t]
|
@@ -112,7 +112,7 @@ module RBS
|
|
112
112
|
# ^ lt
|
113
113
|
# ^^^ end
|
114
114
|
#
|
115
|
-
type loc = Location
|
115
|
+
type loc = Location[:keyword | :name | :end, :type_params | :lt]
|
116
116
|
|
117
117
|
include NestedDeclarationHelper
|
118
118
|
include MixinHelper
|
@@ -137,7 +137,7 @@ module RBS
|
|
137
137
|
# ^^^^^ name
|
138
138
|
# ^^^^^^^^ args
|
139
139
|
#
|
140
|
-
type loc = Location
|
140
|
+
type loc = Location[:name, :args]
|
141
141
|
|
142
142
|
attr_reader name: TypeName
|
143
143
|
attr_reader args: Array[Types::t]
|
@@ -166,7 +166,7 @@ module RBS
|
|
166
166
|
# ^^^^^^^^^^^ self_types
|
167
167
|
# ^^^ end
|
168
168
|
#
|
169
|
-
type loc = Location
|
169
|
+
type loc = Location[:keyword | :name | :end, :type_params | :colon | :self_types]
|
170
170
|
|
171
171
|
include NestedDeclarationHelper
|
172
172
|
include MixinHelper
|
@@ -199,7 +199,7 @@ module RBS
|
|
199
199
|
# ^^^^^^ type_params
|
200
200
|
# ^^^ end
|
201
201
|
#
|
202
|
-
type loc = Location
|
202
|
+
type loc = Location[:name | :keyword | :end, :type_params]
|
203
203
|
|
204
204
|
attr_reader name: TypeName
|
205
205
|
attr_reader type_params: ModuleTypeParams
|
@@ -221,7 +221,7 @@ module RBS
|
|
221
221
|
# ^^^^ keyword
|
222
222
|
# ^^^ name
|
223
223
|
# ^ eq
|
224
|
-
type loc = Location
|
224
|
+
type loc = Location[:keyword | :name | :eq, bot]
|
225
225
|
|
226
226
|
attr_reader name: TypeName
|
227
227
|
attr_reader type: Types::t
|
@@ -240,7 +240,7 @@ module RBS
|
|
240
240
|
# ^^^^^^^ name
|
241
241
|
# ^ colon
|
242
242
|
#
|
243
|
-
type loc = Location
|
243
|
+
type loc = Location[:name | :colon, bot]
|
244
244
|
|
245
245
|
attr_reader name: TypeName
|
246
246
|
attr_reader type: Types::t
|
@@ -258,7 +258,7 @@ module RBS
|
|
258
258
|
# ^^^^^ name
|
259
259
|
# ^ colon
|
260
260
|
#
|
261
|
-
type loc = Location
|
261
|
+
type loc = Location[:name | :colon, bot]
|
262
262
|
|
263
263
|
attr_reader name: Symbol
|
264
264
|
attr_reader type: Types::t
|
data/sig/definition.rbs
CHANGED
@@ -90,7 +90,7 @@ module RBS
|
|
90
90
|
|
91
91
|
def initialize: (type_name: TypeName, params: Array[Symbol], ancestors: Array[Ancestor::t]) -> void
|
92
92
|
|
93
|
-
def apply: (Array[Types::t], location: Location?) -> Array[Ancestor::t]
|
93
|
+
def apply: (Array[Types::t], location: Location[untyped, untyped]?) -> Array[Ancestor::t]
|
94
94
|
end
|
95
95
|
|
96
96
|
class SingletonAncestors
|
data/sig/definition_builder.rbs
CHANGED
@@ -14,7 +14,7 @@ module RBS
|
|
14
14
|
|
15
15
|
def validate_super_class!: (TypeName, Environment::ClassEntry) -> void
|
16
16
|
|
17
|
-
def ensure_namespace!: (Namespace, location: Location?) -> void
|
17
|
+
def ensure_namespace!: (Namespace, location: Location[untyped, untyped]?) -> void
|
18
18
|
|
19
19
|
def build_interface: (TypeName) -> Definition
|
20
20
|
|
@@ -37,7 +37,7 @@ module RBS
|
|
37
37
|
|
38
38
|
def validate_type_params: (Definition, ancestors: AncestorBuilder::OneAncestors, methods: MethodBuilder::Methods) -> void
|
39
39
|
|
40
|
-
def source_location: (Definition::Ancestor::Instance::source, AST::Declarations::t) -> Location?
|
40
|
+
def source_location: (Definition::Ancestor::Instance::source, AST::Declarations::t) -> Location[untyped, untyped]?
|
41
41
|
|
42
42
|
def insert_variable: (TypeName, Hash[Symbol, Definition::Variable], name: Symbol, type: Types::t) -> void
|
43
43
|
|
data/sig/errors.rbs
CHANGED
@@ -19,6 +19,21 @@ module RBS
|
|
19
19
|
# Error class for errors raised during parsing.
|
20
20
|
#
|
21
21
|
class ParsingError < BaseError
|
22
|
+
attr_reader location: Location[untyped, untyped]
|
23
|
+
attr_reader error_message: String
|
24
|
+
attr_reader token_type: String
|
25
|
+
|
26
|
+
def initialize: (Location[untyped, untyped], String error_message, String token_type) -> void
|
27
|
+
|
28
|
+
def error_value: () -> String
|
29
|
+
|
30
|
+
def token_str: () -> String
|
31
|
+
end
|
32
|
+
|
33
|
+
class Parser
|
34
|
+
SemanticsError: singleton(ParsingError)
|
35
|
+
SyntaxError: singleton(ParsingError)
|
36
|
+
LexerError: singleton(ParsingError)
|
22
37
|
end
|
23
38
|
|
24
39
|
# Error class for errors raised during loading environments.
|
@@ -35,45 +50,45 @@ module RBS
|
|
35
50
|
attr_reader type_name: TypeName
|
36
51
|
attr_reader args: Array[Types::t]
|
37
52
|
attr_reader params: Array[Symbol]
|
38
|
-
attr_reader location: Location?
|
53
|
+
attr_reader location: Location[untyped, untyped]?
|
39
54
|
|
40
|
-
def initialize: (type_name: TypeName, args: Array[Types::t], params: Array[Symbol], location: Location?) -> void
|
55
|
+
def initialize: (type_name: TypeName, args: Array[Types::t], params: Array[Symbol], location: Location[untyped, untyped]?) -> void
|
41
56
|
|
42
|
-
def self.check!: (type_name: TypeName, args: Array[Types::t], params: Array[Symbol], location: Location?) -> void
|
57
|
+
def self.check!: (type_name: TypeName, args: Array[Types::t], params: Array[Symbol], location: Location[untyped, untyped]?) -> void
|
43
58
|
end
|
44
59
|
|
45
60
|
class RecursiveAncestorError < DefinitionError
|
46
61
|
attr_reader ancestors: Array[Definition::Ancestor::t]
|
47
|
-
attr_reader location: Location?
|
62
|
+
attr_reader location: Location[untyped, untyped]?
|
48
63
|
|
49
|
-
def initialize: (ancestors: Array[Definition::Ancestor::t], location: Location?) -> void
|
64
|
+
def initialize: (ancestors: Array[Definition::Ancestor::t], location: Location[untyped, untyped]?) -> void
|
50
65
|
|
51
|
-
def self.check!: (Definition::Ancestor::t, ancestors: Array[Definition::Ancestor::t], location: Location?) -> void
|
66
|
+
def self.check!: (Definition::Ancestor::t, ancestors: Array[Definition::Ancestor::t], location: Location[untyped, untyped]?) -> void
|
52
67
|
end
|
53
68
|
|
54
69
|
class NoTypeFoundError < DefinitionError
|
55
70
|
attr_reader type_name: TypeName
|
56
|
-
attr_reader location: Location?
|
71
|
+
attr_reader location: Location[untyped, untyped]?
|
57
72
|
|
58
|
-
def initialize: (type_name: TypeName, location: Location?) -> void
|
73
|
+
def initialize: (type_name: TypeName, location: Location[untyped, untyped]?) -> void
|
59
74
|
|
60
|
-
def self.check!: (TypeName, env: Environment, location: Location?) -> TypeName
|
75
|
+
def self.check!: (TypeName, env: Environment, location: Location[untyped, untyped]?) -> TypeName
|
61
76
|
end
|
62
77
|
|
63
78
|
class NoSuperclassFoundError < DefinitionError
|
64
79
|
attr_reader type_name: TypeName
|
65
|
-
attr_reader location: Location?
|
80
|
+
attr_reader location: Location[untyped, untyped]?
|
66
81
|
|
67
|
-
def initialize: (type_name: TypeName, location: Location?) -> void
|
82
|
+
def initialize: (type_name: TypeName, location: Location[untyped, untyped]?) -> void
|
68
83
|
|
69
|
-
def self.check!: (TypeName, env: Environment, location: Location?) -> void
|
84
|
+
def self.check!: (TypeName, env: Environment, location: Location[untyped, untyped]?) -> void
|
70
85
|
end
|
71
86
|
|
72
87
|
class NoSelfTypeFoundError < DefinitionError
|
73
88
|
attr_reader type_name: TypeName
|
74
|
-
attr_reader location: Location?
|
89
|
+
attr_reader location: Location[untyped, untyped]?
|
75
90
|
|
76
|
-
def initialize: (type_name: TypeName, location: Location?) -> void
|
91
|
+
def initialize: (type_name: TypeName, location: Location[untyped, untyped]?) -> void
|
77
92
|
|
78
93
|
def self.check!: (AST::Declarations::Module::Self, env: Environment) -> void
|
79
94
|
end
|
@@ -84,7 +99,7 @@ module RBS
|
|
84
99
|
|
85
100
|
def initialize: (type_name: TypeName, member: AST::Members::t) -> void
|
86
101
|
|
87
|
-
def location: () -> Location?
|
102
|
+
def location: () -> Location[untyped, untyped]?
|
88
103
|
|
89
104
|
def self.check!: (TypeName, env: Environment, member: AST::Members::t) -> void
|
90
105
|
end
|
@@ -103,9 +118,9 @@ module RBS
|
|
103
118
|
|
104
119
|
def qualified_method_name: () -> String
|
105
120
|
|
106
|
-
def location: () -> Location?
|
121
|
+
def location: () -> Location[untyped, untyped]?
|
107
122
|
|
108
|
-
def other_locations: () -> Array[Location?]
|
123
|
+
def other_locations: () -> Array[Location[untyped, untyped]?]
|
109
124
|
end
|
110
125
|
|
111
126
|
class DuplicatedInterfaceMethodDefinitionError < DefinitionError
|
@@ -127,9 +142,9 @@ module RBS
|
|
127
142
|
attr_reader type_name: TypeName
|
128
143
|
attr_reader original_name: Symbol
|
129
144
|
attr_reader aliased_name: Symbol
|
130
|
-
attr_reader location: Location?
|
145
|
+
attr_reader location: Location[untyped, untyped]?
|
131
146
|
|
132
|
-
def initialize: (type_name: TypeName, original_name: Symbol, aliased_name: Symbol, location: Location?) -> void
|
147
|
+
def initialize: (type_name: TypeName, original_name: Symbol, aliased_name: Symbol, location: Location[untyped, untyped]?) -> void
|
133
148
|
end
|
134
149
|
|
135
150
|
class SuperclassMismatchError < DefinitionError
|
@@ -165,9 +180,9 @@ module RBS
|
|
165
180
|
class InvalidVarianceAnnotationError < DefinitionError
|
166
181
|
attr_reader type_name: TypeName
|
167
182
|
attr_reader param: AST::Declarations::ModuleTypeParams::TypeParam
|
168
|
-
attr_reader location: Location?
|
183
|
+
attr_reader location: Location[untyped, untyped]?
|
169
184
|
|
170
|
-
def initialize: (type_name: TypeName, param: AST::Declarations::ModuleTypeParams::TypeParam, location: Location?) -> void
|
185
|
+
def initialize: (type_name: TypeName, param: AST::Declarations::ModuleTypeParams::TypeParam, location: Location[untyped, untyped]?) -> void
|
171
186
|
end
|
172
187
|
|
173
188
|
class RecursiveAliasDefinitionError < DefinitionError
|
@@ -179,7 +194,7 @@ module RBS
|
|
179
194
|
|
180
195
|
def initialize: (type: ty, defs: Array[defn]) -> void
|
181
196
|
|
182
|
-
def location: () -> Location?
|
197
|
+
def location: () -> Location[untyped, untyped]?
|
183
198
|
end
|
184
199
|
|
185
200
|
class MixinClassError < DefinitionError
|
@@ -190,7 +205,7 @@ module RBS
|
|
190
205
|
|
191
206
|
def initialize: (type_name: TypeName, member: member) -> void
|
192
207
|
|
193
|
-
def location: () -> Location?
|
208
|
+
def location: () -> Location[untyped, untyped]?
|
194
209
|
|
195
210
|
def self.check!: (type_name: TypeName, env: Environment, member: member) -> void
|
196
211
|
|
@@ -199,9 +214,9 @@ module RBS
|
|
199
214
|
|
200
215
|
class RecursiveTypeAliasError < LoadingError
|
201
216
|
attr_reader alias_names: Array[TypeName]
|
202
|
-
attr_reader location: Location
|
217
|
+
attr_reader location: Location[untyped, untyped]?
|
203
218
|
|
204
|
-
def initialize: (alias_names: Array[TypeName], location: Location) -> void
|
219
|
+
def initialize: (alias_names: Array[TypeName], location: Location[untyped, untyped]?) -> void
|
205
220
|
|
206
221
|
def name: () -> String
|
207
222
|
end
|