rbs 3.10.4 → 4.0.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/dependabot.yml +14 -14
- data/.github/workflows/bundle-update.yml +60 -0
- data/.github/workflows/c-check.yml +7 -5
- data/.github/workflows/comments.yml +2 -2
- data/.github/workflows/dependabot.yml +2 -2
- data/.github/workflows/ruby.yml +16 -26
- data/.github/workflows/rust.yml +95 -0
- data/.github/workflows/typecheck.yml +1 -1
- data/.github/workflows/windows.yml +2 -2
- data/.rubocop.yml +2 -2
- data/.vscode/extensions.json +5 -0
- data/.vscode/settings.json +19 -0
- data/CHANGELOG.md +202 -2
- data/Rakefile +9 -23
- data/Steepfile +2 -0
- data/config.yml +457 -13
- data/core/array.rbs +218 -188
- data/core/basic_object.rbs +9 -8
- data/core/binding.rbs +0 -2
- data/core/builtin.rbs +2 -2
- data/core/class.rbs +6 -5
- data/core/comparable.rbs +45 -31
- data/core/complex.rbs +66 -55
- data/core/dir.rbs +57 -45
- data/core/encoding.rbs +6 -6
- data/core/enumerable.rbs +105 -91
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator.rbs +24 -3
- data/core/errno.rbs +3 -2
- data/core/errors.rbs +31 -29
- data/core/exception.rbs +12 -12
- data/core/fiber.rbs +47 -36
- data/core/file.rbs +242 -169
- data/core/file_test.rbs +2 -2
- data/core/float.rbs +42 -68
- data/core/gc.rbs +78 -70
- data/core/hash.rbs +70 -60
- data/core/integer.rbs +32 -75
- data/core/io/buffer.rbs +36 -36
- data/core/io/wait.rbs +7 -7
- data/core/io.rbs +192 -146
- data/core/kernel.rbs +198 -147
- data/core/marshal.rbs +3 -3
- data/core/match_data.rbs +14 -12
- data/core/math.rbs +69 -67
- data/core/method.rbs +6 -8
- data/core/module.rbs +148 -88
- data/core/nil_class.rbs +4 -3
- data/core/numeric.rbs +53 -50
- data/core/object.rbs +6 -8
- data/core/object_space.rbs +11 -10
- data/core/pathname.rbs +131 -81
- data/core/proc.rbs +65 -34
- data/core/process.rbs +221 -201
- data/core/ractor.rbs +15 -11
- data/core/random.rbs +21 -3
- data/core/range.rbs +152 -49
- data/core/rational.rbs +5 -56
- data/core/rbs/unnamed/argf.rbs +58 -51
- data/core/rbs/unnamed/env_class.rbs +18 -13
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +7 -116
- data/core/regexp.rbs +236 -197
- data/core/ruby.rbs +1 -1
- data/core/ruby_vm.rbs +32 -30
- data/core/rubygems/config_file.rbs +5 -5
- data/core/rubygems/errors.rbs +1 -1
- data/core/rubygems/requirement.rbs +5 -5
- data/core/rubygems/rubygems.rbs +5 -3
- data/core/set.rbs +17 -16
- data/core/signal.rbs +2 -2
- data/core/string.rbs +318 -298
- data/core/struct.rbs +26 -25
- data/core/symbol.rbs +25 -24
- data/core/thread.rbs +40 -41
- data/core/time.rbs +47 -42
- data/core/trace_point.rbs +34 -31
- data/core/true_class.rbs +2 -2
- data/core/unbound_method.rbs +10 -10
- data/core/warning.rbs +7 -7
- data/docs/collection.md +1 -1
- data/docs/config.md +171 -0
- data/docs/inline.md +576 -0
- data/docs/syntax.md +46 -16
- data/docs/type_fingerprint.md +21 -0
- data/exe/rbs +1 -1
- data/ext/rbs_extension/ast_translation.c +595 -98
- data/ext/rbs_extension/class_constants.c +30 -0
- data/ext/rbs_extension/class_constants.h +15 -0
- data/ext/rbs_extension/legacy_location.c +30 -53
- data/ext/rbs_extension/legacy_location.h +37 -0
- data/ext/rbs_extension/main.c +125 -24
- data/include/rbs/ast.h +485 -150
- data/include/rbs/lexer.h +11 -4
- data/include/rbs/location.h +25 -44
- data/include/rbs/parser.h +20 -2
- data/include/rbs/util/rbs_constant_pool.h +0 -3
- data/include/rbs.h +8 -0
- data/lib/rbs/ast/annotation.rb +1 -1
- data/lib/rbs/ast/comment.rb +1 -1
- data/lib/rbs/ast/declarations.rb +10 -10
- data/lib/rbs/ast/members.rb +14 -14
- data/lib/rbs/ast/ruby/annotations.rb +409 -0
- data/lib/rbs/ast/ruby/comment_block.rb +245 -0
- data/lib/rbs/ast/ruby/declarations.rb +281 -0
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
- data/lib/rbs/ast/ruby/members.rb +723 -0
- data/lib/rbs/ast/type_param.rb +24 -4
- data/lib/rbs/buffer.rb +105 -20
- data/lib/rbs/cli/diff.rb +16 -15
- data/lib/rbs/cli/validate.rb +62 -125
- data/lib/rbs/cli.rb +55 -23
- data/lib/rbs/collection/config/lockfile_generator.rb +8 -4
- data/lib/rbs/collection/sources/git.rb +1 -0
- data/lib/rbs/collection.rb +0 -1
- data/lib/rbs/definition.rb +6 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +119 -63
- data/lib/rbs/definition_builder/method_builder.rb +65 -30
- data/lib/rbs/definition_builder.rb +177 -20
- data/lib/rbs/diff.rb +7 -1
- data/lib/rbs/environment/class_entry.rb +69 -0
- data/lib/rbs/environment/module_entry.rb +66 -0
- data/lib/rbs/environment.rb +338 -155
- data/lib/rbs/environment_loader.rb +2 -2
- data/lib/rbs/errors.rb +30 -20
- data/lib/rbs/inline_parser/comment_association.rb +117 -0
- data/lib/rbs/inline_parser.rb +542 -0
- data/lib/rbs/location_aux.rb +36 -4
- data/lib/rbs/locator.rb +5 -1
- data/lib/rbs/method_type.rb +5 -3
- data/lib/rbs/namespace.rb +0 -7
- data/lib/rbs/parser_aux.rb +31 -8
- data/lib/rbs/prototype/helpers.rb +57 -0
- data/lib/rbs/prototype/rb.rb +3 -28
- data/lib/rbs/prototype/rbi.rb +3 -20
- data/lib/rbs/prototype/runtime.rb +10 -2
- data/lib/rbs/resolver/type_name_resolver.rb +0 -8
- data/lib/rbs/source.rb +99 -0
- data/lib/rbs/subtractor.rb +4 -3
- data/lib/rbs/test/type_check.rb +5 -2
- data/lib/rbs/type_name.rb +1 -8
- data/lib/rbs/types.rb +88 -78
- data/lib/rbs/unit_test/convertibles.rb +1 -0
- data/lib/rbs/unit_test/type_assertions.rb +35 -8
- data/lib/rbs/validator.rb +2 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs.rb +12 -1
- data/rbs.gemspec +3 -2
- data/rust/.gitignore +1 -0
- data/rust/Cargo.lock +378 -0
- data/rust/Cargo.toml +7 -0
- data/rust/ruby-rbs/Cargo.toml +22 -0
- data/rust/ruby-rbs/build.rs +764 -0
- data/rust/ruby-rbs/examples/locations.rs +60 -0
- data/rust/ruby-rbs/src/lib.rs +1 -0
- data/rust/ruby-rbs/src/node/mod.rs +742 -0
- data/rust/ruby-rbs/tests/sanity.rs +47 -0
- data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
- data/rust/ruby-rbs-sys/Cargo.toml +23 -0
- data/rust/ruby-rbs-sys/build.rs +204 -0
- data/rust/ruby-rbs-sys/src/lib.rs +50 -0
- data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
- data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
- data/rust/ruby-rbs-sys/wrapper.h +1 -0
- data/schema/typeParam.json +17 -1
- data/sig/ancestor_builder.rbs +1 -1
- data/sig/ast/ruby/annotations.rbs +421 -0
- data/sig/ast/ruby/comment_block.rbs +127 -0
- data/sig/ast/ruby/declarations.rbs +158 -0
- data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
- data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
- data/sig/ast/ruby/members.rbs +178 -0
- data/sig/buffer.rbs +63 -5
- data/sig/cli/diff.rbs +5 -11
- data/sig/cli/validate.rbs +12 -8
- data/sig/cli.rbs +18 -18
- data/sig/definition.rbs +6 -0
- data/sig/definition_builder.rbs +3 -1
- data/sig/environment/class_entry.rbs +50 -0
- data/sig/environment/module_entry.rbs +50 -0
- data/sig/environment.rbs +37 -81
- data/sig/errors.rbs +26 -20
- data/sig/inline_parser/comment_association.rbs +71 -0
- data/sig/inline_parser.rbs +124 -0
- data/sig/location.rbs +32 -7
- data/sig/locator.rbs +0 -2
- data/sig/method_builder.rbs +9 -4
- data/sig/namespace.rbs +0 -5
- data/sig/parser.rbs +47 -13
- data/sig/prototype/helpers.rbs +2 -0
- data/sig/resolver/type_name_resolver.rbs +0 -3
- data/sig/source.rbs +48 -0
- data/sig/type_param.rbs +13 -8
- data/sig/typename.rbs +0 -5
- data/sig/types.rbs +6 -7
- data/sig/unit_test/spy.rbs +0 -8
- data/sig/unit_test/type_assertions.rbs +11 -0
- data/src/ast.c +491 -143
- data/src/lexer.c +1552 -1314
- data/src/lexer.re +7 -0
- data/src/lexstate.c +8 -1
- data/src/location.c +8 -48
- data/src/parser.c +1107 -409
- data/src/util/rbs_constant_pool.c +0 -4
- data/stdlib/bigdecimal/0/big_decimal.rbs +16 -16
- data/stdlib/cgi-escape/0/escape.rbs +4 -4
- data/stdlib/coverage/0/coverage.rbs +4 -3
- data/stdlib/date/0/date.rbs +33 -28
- data/stdlib/date/0/date_time.rbs +24 -23
- data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
- data/stdlib/digest/0/digest.rbs +110 -0
- data/stdlib/erb/0/erb.rbs +64 -53
- data/stdlib/etc/0/etc.rbs +55 -50
- data/stdlib/fileutils/0/fileutils.rbs +140 -126
- data/stdlib/forwardable/0/forwardable.rbs +10 -10
- data/stdlib/io-console/0/io-console.rbs +2 -2
- data/stdlib/json/0/json.rbs +158 -131
- data/stdlib/monitor/0/monitor.rbs +3 -3
- data/stdlib/net-http/0/net-http.rbs +159 -134
- data/stdlib/objspace/0/objspace.rbs +8 -30
- data/stdlib/open-uri/0/open-uri.rbs +8 -8
- data/stdlib/open3/0/open3.rbs +469 -10
- data/stdlib/openssl/0/openssl.rbs +144 -129
- data/stdlib/optparse/0/optparse.rbs +23 -14
- data/stdlib/pathname/0/pathname.rbs +2 -2
- data/stdlib/pp/0/pp.rbs +9 -8
- data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
- data/stdlib/pstore/0/pstore.rbs +35 -30
- data/stdlib/psych/0/psych.rbs +62 -9
- data/stdlib/psych/0/store.rbs +2 -4
- data/stdlib/pty/0/pty.rbs +9 -6
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +2 -1
- data/stdlib/rdoc/0/parser.rbs +1 -1
- data/stdlib/rdoc/0/store.rbs +1 -1
- data/stdlib/ripper/0/ripper.rbs +20 -17
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +7 -20
- data/stdlib/shellwords/0/shellwords.rbs +2 -2
- data/stdlib/socket/0/addrinfo.rbs +9 -9
- data/stdlib/socket/0/basic_socket.rbs +3 -3
- data/stdlib/socket/0/ip_socket.rbs +10 -8
- data/stdlib/socket/0/socket.rbs +10 -9
- data/stdlib/socket/0/tcp_server.rbs +1 -1
- data/stdlib/socket/0/tcp_socket.rbs +1 -1
- data/stdlib/socket/0/udp_socket.rbs +1 -1
- data/stdlib/socket/0/unix_server.rbs +1 -1
- data/stdlib/stringio/0/stringio.rbs +55 -54
- data/stdlib/strscan/0/string_scanner.rbs +46 -44
- data/stdlib/tempfile/0/tempfile.rbs +24 -20
- data/stdlib/time/0/time.rbs +7 -5
- data/stdlib/tsort/0/tsort.rbs +7 -6
- data/stdlib/uri/0/common.rbs +31 -18
- data/stdlib/uri/0/file.rbs +2 -2
- data/stdlib/uri/0/generic.rbs +9 -2
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/ldap.rbs +2 -2
- data/stdlib/uri/0/mailto.rbs +3 -3
- data/stdlib/uri/0/rfc2396_parser.rbs +6 -5
- data/stdlib/zlib/0/deflate.rbs +4 -3
- data/stdlib/zlib/0/gzip_reader.rbs +6 -6
- data/stdlib/zlib/0/gzip_writer.rbs +14 -12
- data/stdlib/zlib/0/inflate.rbs +1 -1
- data/stdlib/zlib/0/need_dict.rbs +1 -1
- metadata +66 -3
data/sig/environment.rbs
CHANGED
|
@@ -2,81 +2,20 @@ module RBS
|
|
|
2
2
|
class Environment
|
|
3
3
|
type module_decl = AST::Declarations::Class | AST::Declarations::Module
|
|
4
4
|
|
|
5
|
-
interface _ModuleOrClass
|
|
6
|
-
def name: () -> TypeName
|
|
7
|
-
|
|
8
|
-
def type_params: () -> Array[AST::TypeParam]
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
interface _NamedDecl
|
|
12
|
-
def name: () -> TypeName
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
module ContextUtil
|
|
16
|
-
def calculate_context: (Array[_NamedDecl]) -> Resolver::context
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# Name of object, it's (multiple) declarations with the outer module declarations
|
|
20
|
-
#
|
|
21
|
-
class MultiEntry[M < _ModuleOrClass]
|
|
22
|
-
class D[M < _ModuleOrClass]
|
|
23
|
-
attr_reader decl: M
|
|
24
|
-
attr_reader outer: Array[module_decl]
|
|
25
|
-
|
|
26
|
-
def initialize: (decl: M, outer: Array[module_decl]) -> void
|
|
27
|
-
|
|
28
|
-
include ContextUtil
|
|
29
|
-
|
|
30
|
-
@context: Resolver::context
|
|
31
|
-
|
|
32
|
-
def context: () -> Resolver::context
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
attr_reader name: TypeName
|
|
36
|
-
attr_reader decls: Array[D[M]]
|
|
37
|
-
|
|
38
|
-
@primary: D[M]?
|
|
39
|
-
|
|
40
|
-
def initialize: (name: TypeName) -> void
|
|
41
|
-
|
|
42
|
-
def insert: (decl: M, outer: Array[module_decl]) -> void
|
|
43
|
-
|
|
44
|
-
def validate_type_params: () -> void
|
|
45
|
-
|
|
46
|
-
def compatible_params?: (Array[AST::TypeParam], Array[AST::TypeParam]) -> boolish
|
|
47
|
-
|
|
48
|
-
def type_params: () -> Array[AST::TypeParam]
|
|
49
|
-
|
|
50
|
-
def primary: () -> D[M]
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
class ModuleEntry < MultiEntry[AST::Declarations::Module]
|
|
54
|
-
def self_types: () -> Array[AST::Declarations::Module::Self]
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
class ClassEntry < MultiEntry[AST::Declarations::Class]
|
|
58
|
-
end
|
|
59
|
-
|
|
60
5
|
# Name of object, it's (single) declaration, and the outer module declarations
|
|
61
6
|
#
|
|
62
7
|
class SingleEntry[N, D]
|
|
63
8
|
attr_reader name: N
|
|
64
9
|
attr_reader decl: D
|
|
65
|
-
attr_reader
|
|
66
|
-
|
|
67
|
-
def initialize: (name: N, decl: D, outer: Array[module_decl]) -> void
|
|
68
|
-
|
|
69
|
-
include ContextUtil
|
|
70
|
-
|
|
71
|
-
@context: Resolver::context
|
|
10
|
+
attr_reader context: Resolver::context
|
|
72
11
|
|
|
73
|
-
def
|
|
12
|
+
def initialize: (name: N, decl: D, context: Resolver::context) -> void
|
|
74
13
|
end
|
|
75
14
|
|
|
76
|
-
class ModuleAliasEntry < SingleEntry[TypeName, AST::Declarations::ModuleAlias]
|
|
15
|
+
class ModuleAliasEntry < SingleEntry[TypeName, AST::Declarations::ModuleAlias | AST::Ruby::Declarations::ClassModuleAliasDecl]
|
|
77
16
|
end
|
|
78
17
|
|
|
79
|
-
class ClassAliasEntry < SingleEntry[TypeName, AST::Declarations::ClassAlias]
|
|
18
|
+
class ClassAliasEntry < SingleEntry[TypeName, AST::Declarations::ClassAlias | AST::Ruby::Declarations::ClassModuleAliasDecl]
|
|
80
19
|
end
|
|
81
20
|
|
|
82
21
|
class InterfaceEntry < SingleEntry[TypeName, AST::Declarations::Interface]
|
|
@@ -85,14 +24,18 @@ module RBS
|
|
|
85
24
|
class TypeAliasEntry < SingleEntry[TypeName, AST::Declarations::TypeAlias]
|
|
86
25
|
end
|
|
87
26
|
|
|
88
|
-
class ConstantEntry < SingleEntry[TypeName, AST::Declarations::Constant]
|
|
27
|
+
class ConstantEntry < SingleEntry[TypeName, AST::Declarations::Constant | AST::Ruby::Declarations::ConstantDecl]
|
|
89
28
|
end
|
|
90
29
|
|
|
91
30
|
class GlobalEntry < SingleEntry[Symbol, AST::Declarations::Global]
|
|
92
31
|
end
|
|
93
32
|
|
|
94
33
|
# Top level declarations
|
|
95
|
-
|
|
34
|
+
def declarations: () -> Array[AST::Ruby::Declarations::t | AST::Declarations::t]
|
|
35
|
+
|
|
36
|
+
# Array of source objects loaded in the environment
|
|
37
|
+
#
|
|
38
|
+
attr_reader sources: Array[Source::t]
|
|
96
39
|
|
|
97
40
|
# Class declarations
|
|
98
41
|
attr_reader class_decls: Hash[TypeName, ModuleEntry | ClassEntry]
|
|
@@ -111,10 +54,6 @@ module RBS
|
|
|
111
54
|
# Global declarations
|
|
112
55
|
attr_reader global_decls: Hash[Symbol, GlobalEntry]
|
|
113
56
|
|
|
114
|
-
# A hash from Buffer to it's contents
|
|
115
|
-
#
|
|
116
|
-
attr_reader signatures: Hash[Buffer, [Array[AST::Directives::t], Array[AST::Declarations::t]]]
|
|
117
|
-
|
|
118
57
|
def initialize: () -> void
|
|
119
58
|
|
|
120
59
|
def initialize_copy: (Environment) -> void
|
|
@@ -123,15 +62,21 @@ module RBS
|
|
|
123
62
|
#
|
|
124
63
|
def self.from_loader: (EnvironmentLoader) -> Environment
|
|
125
64
|
|
|
126
|
-
def
|
|
65
|
+
def add_source: (Source::t) -> void
|
|
66
|
+
|
|
67
|
+
def each_rbs_source: () { (Source::RBS) -> void } -> void
|
|
68
|
+
| () -> Enumerator[Source::RBS]
|
|
127
69
|
|
|
128
|
-
|
|
70
|
+
def each_ruby_source: () { (Source::Ruby) -> void } -> void
|
|
71
|
+
| () -> Enumerator[Source::Ruby]
|
|
72
|
+
|
|
73
|
+
# Insert a declaration into the environment
|
|
129
74
|
#
|
|
130
|
-
def
|
|
75
|
+
private def insert_rbs_decl: (AST::Declarations::t, context: Resolver::context, namespace: Namespace) -> void
|
|
131
76
|
|
|
132
77
|
# Insert a declaration into the environment
|
|
133
78
|
#
|
|
134
|
-
private def
|
|
79
|
+
private def insert_ruby_decl: (AST::Ruby::Declarations::t, context: Resolver::context, namespace: Namespace) -> void
|
|
135
80
|
|
|
136
81
|
# Resolve all type names in the environment to absolute type names.
|
|
137
82
|
# Relative type name will be left if absolute type name cannot be found.
|
|
@@ -139,9 +84,15 @@ module RBS
|
|
|
139
84
|
# When `only` is given, it skips other _top-level_ declarations not included in the collection.
|
|
140
85
|
# This helps running resolution faster in the case of _partial updates_.
|
|
141
86
|
#
|
|
142
|
-
def resolve_type_names: (?only: Set[AST::Declarations::t]?) -> Environment
|
|
87
|
+
def resolve_type_names: (?only: Set[AST::Declarations::t | AST::Ruby::Declarations::t]?) -> Environment
|
|
143
88
|
|
|
144
|
-
def resolve_signature: (
|
|
89
|
+
def resolve_signature: (
|
|
90
|
+
Resolver::TypeNameResolver,
|
|
91
|
+
UseMap::Table,
|
|
92
|
+
Array[AST::Directives::t],
|
|
93
|
+
Array[AST::Declarations::t],
|
|
94
|
+
?only: Set[AST::Declarations::t | AST::Ruby::Declarations::t]?
|
|
95
|
+
) -> [Array[AST::Directives::t], Array[AST::Declarations::t]]
|
|
145
96
|
|
|
146
97
|
def inspect: () -> String
|
|
147
98
|
|
|
@@ -149,7 +100,8 @@ module RBS
|
|
|
149
100
|
|
|
150
101
|
# Remove declarations and directives that are loaded from `buffers`
|
|
151
102
|
#
|
|
152
|
-
def unload: (Set[
|
|
103
|
+
def unload: (Set[Pathname] paths) -> Environment
|
|
104
|
+
| %a{deprecated: Use pathname version} (Set[Buffer] buffers) -> Environment
|
|
153
105
|
|
|
154
106
|
# Returns true if an interface with the type name is defined
|
|
155
107
|
#
|
|
@@ -315,7 +267,7 @@ module RBS
|
|
|
315
267
|
|
|
316
268
|
def append_context: (Resolver::context, module_decl) -> Resolver::context
|
|
317
269
|
|
|
318
|
-
def resolve_declaration: (Resolver::TypeNameResolver resolver, UseMap map, AST::Declarations::t decl,
|
|
270
|
+
def resolve_declaration: (Resolver::TypeNameResolver resolver, UseMap map, AST::Declarations::t decl, context: Resolver::context, prefix: Namespace) -> AST::Declarations::t
|
|
319
271
|
|
|
320
272
|
def resolve_member: (Resolver::TypeNameResolver, UseMap map, AST::Members::t, context: Resolver::context) -> AST::Members::t
|
|
321
273
|
|
|
@@ -323,8 +275,12 @@ module RBS
|
|
|
323
275
|
|
|
324
276
|
def resolve_type_params: (Resolver::TypeNameResolver resolver, UseMap map, Array[AST::TypeParam], context: Resolver::context) -> Array[AST::TypeParam]
|
|
325
277
|
|
|
326
|
-
def
|
|
278
|
+
def resolve_ruby_decl: (Resolver::TypeNameResolver, AST::Ruby::Declarations::t, context: Resolver::context, prefix: Namespace) -> AST::Ruby::Declarations::t
|
|
279
|
+
|
|
280
|
+
def resolve_ruby_member: (Resolver::TypeNameResolver, AST::Ruby::Members::t, context: Resolver::context) -> AST::Ruby::Members::t
|
|
281
|
+
|
|
282
|
+
def absolute_type: (Resolver::TypeNameResolver, UseMap? map, Types::t, context: Resolver::context) -> Types::t
|
|
327
283
|
|
|
328
|
-
def absolute_type_name: (Resolver::TypeNameResolver, UseMap map, TypeName, context: Resolver::context) -> TypeName
|
|
284
|
+
def absolute_type_name: (Resolver::TypeNameResolver, UseMap? map, TypeName, context: Resolver::context) -> TypeName
|
|
329
285
|
end
|
|
330
286
|
end
|
data/sig/errors.rbs
CHANGED
|
@@ -115,14 +115,16 @@ module RBS
|
|
|
115
115
|
class NoMixinFoundError < DefinitionError
|
|
116
116
|
include DetailedMessageable
|
|
117
117
|
|
|
118
|
+
type member = AST::Members::t | AST::Ruby::Members::IncludeMember | AST::Ruby::Members::ExtendMember | AST::Ruby::Members::PrependMember
|
|
119
|
+
|
|
118
120
|
attr_reader type_name: TypeName
|
|
119
|
-
attr_reader member:
|
|
121
|
+
attr_reader member: member
|
|
120
122
|
|
|
121
|
-
def initialize: (type_name: TypeName, member:
|
|
123
|
+
def initialize: (type_name: TypeName, member: member) -> void
|
|
122
124
|
|
|
123
125
|
def location: () -> Location[untyped, untyped]?
|
|
124
126
|
|
|
125
|
-
def self.check!: (TypeName, env: Environment, member:
|
|
127
|
+
def self.check!: (TypeName, env: Environment, member: member) -> void
|
|
126
128
|
end
|
|
127
129
|
|
|
128
130
|
class DuplicatedMethodDefinitionError < DefinitionError
|
|
@@ -226,28 +228,35 @@ module RBS
|
|
|
226
228
|
class InvalidOverloadMethodError < DefinitionError
|
|
227
229
|
include DetailedMessageable
|
|
228
230
|
|
|
231
|
+
type member = AST::Members::MethodDefinition | AST::Ruby::Members::DefMember
|
|
232
|
+
|
|
229
233
|
attr_reader type_name: TypeName
|
|
230
234
|
attr_reader method_name: Symbol
|
|
231
235
|
attr_reader kind: :instance | :singleton
|
|
232
|
-
attr_reader members: Array[
|
|
236
|
+
attr_reader members: Array[member]
|
|
233
237
|
|
|
234
|
-
def initialize: (type_name: TypeName, method_name: Symbol, kind: :instance | :singleton, members: Array[
|
|
238
|
+
def initialize: (type_name: TypeName, method_name: Symbol, kind: :instance | :singleton, members: Array[member]) -> void
|
|
235
239
|
|
|
236
240
|
def location: () -> AST::Members::MethodDefinition::loc?
|
|
237
241
|
end
|
|
238
242
|
|
|
239
243
|
class GenericParameterMismatchError < LoadingError
|
|
244
|
+
type decl = AST::Declarations::Class | AST::Declarations::Module
|
|
245
|
+
| AST::Ruby::Declarations::ClassDecl | AST::Ruby::Declarations::ModuleDecl
|
|
246
|
+
|
|
240
247
|
attr_reader name: TypeName
|
|
241
|
-
attr_reader decl:
|
|
248
|
+
attr_reader decl: decl
|
|
242
249
|
|
|
243
|
-
def initialize: (name: TypeName, decl:
|
|
250
|
+
def initialize: (name: TypeName, decl: decl, ?location: Location) -> void
|
|
244
251
|
end
|
|
245
252
|
|
|
246
253
|
class DuplicatedDeclarationError < LoadingError
|
|
254
|
+
type declaration = AST::Declarations::t | AST::Ruby::Declarations::t
|
|
255
|
+
|
|
247
256
|
attr_reader name: TypeName | Symbol
|
|
248
|
-
attr_reader decls: Array[
|
|
257
|
+
attr_reader decls: Array[declaration]
|
|
249
258
|
|
|
250
|
-
def initialize: (TypeName | Symbol, *
|
|
259
|
+
def initialize: (TypeName | Symbol, *declaration) -> void
|
|
251
260
|
end
|
|
252
261
|
|
|
253
262
|
class InvalidVarianceAnnotationError < DefinitionError
|
|
@@ -280,6 +289,7 @@ module RBS
|
|
|
280
289
|
include DetailedMessageable
|
|
281
290
|
|
|
282
291
|
type member = AST::Members::Include | AST::Members::Prepend | AST::Members::Extend
|
|
292
|
+
| AST::Ruby::Members::IncludeMember | AST::Ruby::Members::PrependMember | AST::Ruby::Members::ExtendMember
|
|
283
293
|
|
|
284
294
|
attr_reader type_name: TypeName
|
|
285
295
|
attr_reader member: member
|
|
@@ -290,17 +300,21 @@ module RBS
|
|
|
290
300
|
|
|
291
301
|
def self.check!: (type_name: TypeName, env: Environment, member: member) -> void
|
|
292
302
|
|
|
303
|
+
def member_name: (member) -> TypeName
|
|
304
|
+
|
|
293
305
|
def mixin_name: () -> String
|
|
294
306
|
end
|
|
295
307
|
|
|
296
308
|
# InheritModuleError is raised if a class definition inherits a module (not a class)
|
|
297
309
|
#
|
|
298
310
|
class InheritModuleError < DefinitionError
|
|
311
|
+
type super_class = AST::Declarations::Class::Super | AST::Ruby::Declarations::ClassDecl::SuperClass
|
|
312
|
+
|
|
299
313
|
include DetailedMessageable
|
|
300
314
|
|
|
301
|
-
attr_reader super_decl:
|
|
315
|
+
attr_reader super_decl: super_class
|
|
302
316
|
|
|
303
|
-
def initialize: (
|
|
317
|
+
def initialize: (super_class) -> void
|
|
304
318
|
|
|
305
319
|
def location: () -> Location[untyped, untyped]?
|
|
306
320
|
|
|
@@ -308,7 +322,7 @@ module RBS
|
|
|
308
322
|
#
|
|
309
323
|
# Automatically normalize the name of super.
|
|
310
324
|
#
|
|
311
|
-
def self.check!: (
|
|
325
|
+
def self.check!: (super_class, env: Environment) -> void
|
|
312
326
|
end
|
|
313
327
|
|
|
314
328
|
class RecursiveTypeAliasError < BaseError
|
|
@@ -380,14 +394,6 @@ module RBS
|
|
|
380
394
|
def location: () -> AST::Declarations::AliasDecl::loc?
|
|
381
395
|
end
|
|
382
396
|
|
|
383
|
-
class WillSyntaxError < BaseError
|
|
384
|
-
include RBS::DetailedMessageable
|
|
385
|
-
|
|
386
|
-
def initialize: (String message, location: Location[untyped, untyped]?) -> void
|
|
387
|
-
|
|
388
|
-
attr_reader location: Location[untyped, untyped]?
|
|
389
|
-
end
|
|
390
|
-
|
|
391
397
|
class TypeParamDefaultReferenceError < BaseError
|
|
392
398
|
include DetailedMessageable
|
|
393
399
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
use RBS::AST::Ruby::CommentBlock
|
|
2
|
+
|
|
3
|
+
module RBS
|
|
4
|
+
class InlineParser
|
|
5
|
+
# CommentAssociation manages the association between `Prism::Node` and `CommentBlock`
|
|
6
|
+
#
|
|
7
|
+
class CommentAssociation
|
|
8
|
+
attr_reader blocks: Array[CommentBlock]
|
|
9
|
+
|
|
10
|
+
attr_reader start_line_map: Hash[Integer, CommentBlock]
|
|
11
|
+
|
|
12
|
+
attr_reader end_line_map: Hash[Integer, CommentBlock]
|
|
13
|
+
|
|
14
|
+
# CommentBlocks that are already associated to a node, which cannot be associated to another node again
|
|
15
|
+
#
|
|
16
|
+
attr_reader associated_blocks: Set[CommentBlock]
|
|
17
|
+
|
|
18
|
+
def self.build: (Buffer, Prism::Result) -> instance
|
|
19
|
+
|
|
20
|
+
def initialize: (Array[CommentBlock]) -> void
|
|
21
|
+
|
|
22
|
+
class Reference
|
|
23
|
+
attr_reader block: CommentBlock
|
|
24
|
+
|
|
25
|
+
@associated_blocks: Set[CommentBlock]
|
|
26
|
+
|
|
27
|
+
def initialize: (CommentBlock, Set[CommentBlock]) -> void
|
|
28
|
+
|
|
29
|
+
def associate!: () -> self
|
|
30
|
+
|
|
31
|
+
def associated?: () -> bool
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Returns an unassociated CommentBlock that can be associated to given node
|
|
35
|
+
#
|
|
36
|
+
# Automatically updates association status.
|
|
37
|
+
#
|
|
38
|
+
def leading_block!: (Prism::Node) -> CommentBlock?
|
|
39
|
+
|
|
40
|
+
# Returns a Reference that is associated to given node
|
|
41
|
+
#
|
|
42
|
+
# Updates association explicitly through the reference.
|
|
43
|
+
#
|
|
44
|
+
def leading_block: (Prism::Node) -> Reference?
|
|
45
|
+
|
|
46
|
+
# Returns a CommentBlock that is associated to given node, or by its location
|
|
47
|
+
#
|
|
48
|
+
# Update association status.
|
|
49
|
+
#
|
|
50
|
+
def trailing_block!: (Prism::Node | Prism::Location) -> CommentBlock?
|
|
51
|
+
|
|
52
|
+
# Returns a Reference that is associated to given node, or by its location
|
|
53
|
+
#
|
|
54
|
+
# Updates association explicitly through the reference.
|
|
55
|
+
#
|
|
56
|
+
def trailing_block: (Prism::Node | Prism::Location) -> Reference?
|
|
57
|
+
|
|
58
|
+
# Yields leading CommentBlocks that is enclosed in the given node
|
|
59
|
+
#
|
|
60
|
+
# Note that `enclosed_blocks` works only after all of the *leading* blocks inside the node is associated.
|
|
61
|
+
#
|
|
62
|
+
# Update association status.
|
|
63
|
+
#
|
|
64
|
+
def each_enclosed_block: (Prism::Node) { (CommentBlock) -> void } -> void
|
|
65
|
+
| (Prism::Node) -> Enumerator[CommentBlock]
|
|
66
|
+
|
|
67
|
+
def each_unassociated_block: () { (CommentBlock) -> void } -> void
|
|
68
|
+
| () -> Enumerator[CommentBlock]
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
use RBS::AST::Ruby::Declarations
|
|
2
|
+
|
|
3
|
+
module RBS
|
|
4
|
+
class InlineParser
|
|
5
|
+
class Result
|
|
6
|
+
attr_reader buffer: Buffer
|
|
7
|
+
attr_reader prism_result: Prism::ParseResult
|
|
8
|
+
attr_reader declarations: Array[AST::Ruby::Declarations::t]
|
|
9
|
+
attr_reader diagnostics: Array[Diagnostic::t]
|
|
10
|
+
|
|
11
|
+
def initialize: (Buffer, Prism::ParseResult) -> void
|
|
12
|
+
|
|
13
|
+
def type_fingerprint: () -> untyped
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
module Diagnostic
|
|
17
|
+
class Base
|
|
18
|
+
attr_reader message: String
|
|
19
|
+
|
|
20
|
+
attr_reader location: Location
|
|
21
|
+
|
|
22
|
+
def initialize: (Location, String) -> void
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
class NotImplementedYet < Base
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class NonConstantClassName < Base
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
class NonConstantModuleName < Base
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
class NonConstantSuperClassName < Base
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class TopLevelMethodDefinition < Base
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class TopLevelAttributeDefinition < Base
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class UnusedInlineAnnotation < Base
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
class AnnotationSyntaxError < Base
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class MixinMultipleArguments < Base
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
class MixinNonConstantModule < Base
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class AttributeNonSymbolName < Base
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
class NonConstantConstantDeclaration < Base
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
class ClassModuleAliasDeclarationMissingTypeName < Base
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
type t = NotImplementedYet
|
|
65
|
+
| NonConstantClassName | NonConstantModuleName | NonConstantSuperClassName
|
|
66
|
+
| TopLevelMethodDefinition | TopLevelAttributeDefinition
|
|
67
|
+
| UnusedInlineAnnotation | AnnotationSyntaxError
|
|
68
|
+
| MixinMultipleArguments | MixinNonConstantModule
|
|
69
|
+
| AttributeNonSymbolName
|
|
70
|
+
| NonConstantConstantDeclaration
|
|
71
|
+
| ClassModuleAliasDeclarationMissingTypeName
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def self.parse: (Buffer, Prism::ParseResult) -> Result
|
|
75
|
+
|
|
76
|
+
class Parser < Prism::Visitor
|
|
77
|
+
type module_context = Declarations::ClassDecl | Declarations::ModuleDecl
|
|
78
|
+
|
|
79
|
+
include AST::Ruby::Helpers::ConstantHelper
|
|
80
|
+
|
|
81
|
+
include AST::Ruby::Helpers::LocationHelper
|
|
82
|
+
|
|
83
|
+
attr_reader comments: CommentAssociation
|
|
84
|
+
|
|
85
|
+
attr_reader result: Result
|
|
86
|
+
|
|
87
|
+
attr_reader module_nesting: Array[module_context]
|
|
88
|
+
|
|
89
|
+
def initialize: (Result) -> void
|
|
90
|
+
|
|
91
|
+
def buffer: () -> Buffer
|
|
92
|
+
|
|
93
|
+
%a{pure} def current_module: () -> module_context?
|
|
94
|
+
|
|
95
|
+
%a{pure} def current_module!: () -> module_context
|
|
96
|
+
|
|
97
|
+
def diagnostics: () -> Array[Diagnostic::t]
|
|
98
|
+
|
|
99
|
+
def push_module_nesting: [T] (module_context) { () -> T } -> T
|
|
100
|
+
|
|
101
|
+
# Returns `true` if the node is a comment block including `@rbs skip` annotation
|
|
102
|
+
#
|
|
103
|
+
# Doesn't update the `association` flag if returning `false`.
|
|
104
|
+
#
|
|
105
|
+
def skip_node?: (Prism::Node) -> bool
|
|
106
|
+
|
|
107
|
+
def insert_declaration: (module_context) -> void
|
|
108
|
+
|
|
109
|
+
def report_unused_annotation: (*AST::Ruby::Annotations::t | nil | AST::Ruby::CommentBlock::AnnotationSyntaxError) -> void
|
|
110
|
+
|
|
111
|
+
def report_unused_block: (AST::Ruby::CommentBlock) -> void
|
|
112
|
+
|
|
113
|
+
private
|
|
114
|
+
|
|
115
|
+
def parse_mixin_call: (Prism::CallNode) -> void
|
|
116
|
+
|
|
117
|
+
def parse_attribute_call: (Prism::CallNode) -> void
|
|
118
|
+
|
|
119
|
+
def parse_constant_declaration: (Prism::ConstantWriteNode | Prism::ConstantPathWriteNode) -> void
|
|
120
|
+
|
|
121
|
+
def parse_super_class: (Prism::node, Prism::Location) -> Declarations::ClassDecl::SuperClass?
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
data/sig/location.rbs
CHANGED
|
@@ -4,14 +4,20 @@ module RBS
|
|
|
4
4
|
#
|
|
5
5
|
# A location can have _child_ locations.
|
|
6
6
|
#
|
|
7
|
-
class Location[in RequiredChildKeys, in OptionalChildKeys]
|
|
7
|
+
class Location[in RequiredChildKeys = untyped, in OptionalChildKeys = untyped]
|
|
8
8
|
# The buffer this location points on.
|
|
9
9
|
attr_reader buffer (): Buffer
|
|
10
10
|
|
|
11
|
-
# The index of character the range starts from
|
|
11
|
+
# The absolute start index of character the range starts from
|
|
12
|
+
#
|
|
13
|
+
# It returns the index in the `buffer.top_buffer`.
|
|
14
|
+
#
|
|
12
15
|
attr_reader start_pos (): Integer
|
|
13
16
|
|
|
14
|
-
# The index of character the range ends at
|
|
17
|
+
# The absolute end index of character the range ends at
|
|
18
|
+
#
|
|
19
|
+
# It returns the index in the `buffer.top_buffer`.
|
|
20
|
+
#
|
|
15
21
|
attr_reader end_pos (): Integer
|
|
16
22
|
|
|
17
23
|
def initialize: (Buffer, Integer start_pos, Integer end_pos) -> void
|
|
@@ -24,26 +30,37 @@ module RBS
|
|
|
24
30
|
# Returns the name of the buffer.
|
|
25
31
|
def name: () -> untyped
|
|
26
32
|
|
|
27
|
-
#
|
|
33
|
+
# The *raw* index of character the range starts from.
|
|
34
|
+
attr_reader _start_pos (): Integer
|
|
35
|
+
|
|
36
|
+
# The *raw* index of character the range ends at.
|
|
37
|
+
attr_reader _end_pos (): Integer
|
|
38
|
+
|
|
39
|
+
# Line of the `start_pos` (1 origin, absolute)
|
|
28
40
|
attr_reader start_line (): Integer
|
|
29
41
|
|
|
30
|
-
# Column of the `start_pos` (0 origin)
|
|
42
|
+
# Column of the `start_pos` (0 origin, absolute)
|
|
31
43
|
attr_reader start_column (): Integer
|
|
32
44
|
|
|
33
|
-
# Line of the `end_pos` (1 origin)
|
|
45
|
+
# Line of the `end_pos` (1 origin, absolute)
|
|
34
46
|
attr_reader end_line (): Integer
|
|
35
47
|
|
|
36
|
-
# Column of the `end_pos` (0 origin)
|
|
48
|
+
# Column of the `end_pos` (0 origin, absolute)
|
|
37
49
|
attr_reader end_column (): Integer
|
|
38
50
|
|
|
51
|
+
# The absolute line-column pair of the start position
|
|
52
|
+
#
|
|
39
53
|
attr_reader start_loc (): Buffer::loc
|
|
40
54
|
|
|
41
55
|
@start_loc: Buffer::loc?
|
|
42
56
|
|
|
57
|
+
# The absolute line-column pair of the end position
|
|
58
|
+
#
|
|
43
59
|
attr_reader end_loc (): Buffer::loc
|
|
44
60
|
|
|
45
61
|
@end_loc: Buffer::loc?
|
|
46
62
|
|
|
63
|
+
# The absolute range of the start and end position
|
|
47
64
|
attr_reader range (): Range[Integer]
|
|
48
65
|
|
|
49
66
|
@range: Range[Integer]?
|
|
@@ -97,6 +114,14 @@ module RBS
|
|
|
97
114
|
|
|
98
115
|
def key?: (Symbol) -> bool
|
|
99
116
|
|
|
117
|
+
# Returns the location of the buffer, but the buffer is detached from the parent buffer
|
|
118
|
+
#
|
|
119
|
+
def local_location: () -> self
|
|
120
|
+
|
|
121
|
+
# Returns the source of `#local_location`
|
|
122
|
+
#
|
|
123
|
+
def local_source: () -> String
|
|
124
|
+
|
|
100
125
|
private
|
|
101
126
|
|
|
102
127
|
def _add_required_child: (RequiredChildKeys name, Integer start_pos, Integer end_pos) -> void
|
data/sig/locator.rbs
CHANGED
|
@@ -37,8 +37,6 @@ module RBS
|
|
|
37
37
|
#
|
|
38
38
|
def find2: (line: Integer, column: Integer) -> [Symbol?, Array[component]]?
|
|
39
39
|
|
|
40
|
-
private
|
|
41
|
-
|
|
42
40
|
def find_in_directive: (Integer pos, AST::Directives::t, Array[component]) -> bool
|
|
43
41
|
|
|
44
42
|
def find_in_decl: (Integer pos, decl: AST::Declarations::t, array: Array[component]) -> bool
|
data/sig/method_builder.rbs
CHANGED
|
@@ -16,16 +16,19 @@ module RBS
|
|
|
16
16
|
#
|
|
17
17
|
class Definition
|
|
18
18
|
type original = AST::Members::MethodDefinition | AST::Members::Alias | AST::Members::AttrAccessor | AST::Members::AttrWriter | AST::Members::AttrReader
|
|
19
|
+
| AST::Ruby::Members::DefMember | AST::Ruby::Members::AttrReaderMember | AST::Ruby::Members::AttrWriterMember | AST::Ruby::Members::AttrAccessorMember
|
|
20
|
+
|
|
21
|
+
type overloading_definition = AST::Members::MethodDefinition | AST::Ruby::Members::DefMember
|
|
19
22
|
|
|
20
23
|
type accessibility = RBS::Definition::accessibility
|
|
21
24
|
|
|
22
25
|
attr_reader name: Symbol
|
|
23
26
|
attr_reader type: instance_type
|
|
24
27
|
attr_reader originals: Array[original]
|
|
25
|
-
attr_reader overloads: Array[
|
|
28
|
+
attr_reader overloads: Array[overloading_definition]
|
|
26
29
|
attr_reader accessibilities: Array[accessibility]
|
|
27
30
|
|
|
28
|
-
def initialize: (name: Symbol, type: instance_type, originals: Array[original], overloads: Array[
|
|
31
|
+
def initialize: (name: Symbol, type: instance_type, originals: Array[original], overloads: Array[overloading_definition], accessibilities: Array[accessibility]) -> void
|
|
29
32
|
|
|
30
33
|
def original: () -> original?
|
|
31
34
|
|
|
@@ -74,9 +77,11 @@ module RBS
|
|
|
74
77
|
|
|
75
78
|
def build_attribute: (Methods, Methods::instance_type, member: AST::Members::AttrAccessor | AST::Members::AttrReader | AST::Members::AttrWriter, accessibility: Definition::accessibility) -> void
|
|
76
79
|
|
|
77
|
-
def
|
|
80
|
+
def build_ruby_attribute: (Methods, Methods::instance_type, member: AST::Ruby::Members::AttrReaderMember | AST::Ruby::Members::AttrWriterMember | AST::Ruby::Members::AttrAccessorMember, accessibility: Definition::accessibility) -> void
|
|
81
|
+
|
|
82
|
+
def build_method: (Methods, Methods::instance_type, member: AST::Members::MethodDefinition | AST::Ruby::Members::DefMember, accessibility: Definition::accessibility) -> void
|
|
78
83
|
|
|
79
|
-
def
|
|
84
|
+
def each_rbs_member_with_accessibility: (Array[AST::Members::t | AST::Declarations::t], ?accessibility: Definition::accessibility) { (AST::Members::t | AST::Declarations::t, Definition::accessibility) -> void } -> void
|
|
80
85
|
|
|
81
86
|
def update: (env: Environment, except: _Each[TypeName]) -> MethodBuilder
|
|
82
87
|
end
|