steep 1.7.0.dev.4 → 1.7.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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -0
  3. data/README.md +18 -0
  4. data/guides/src/gem-rbs-collection/gem-rbs-collection.md +7 -24
  5. data/lib/steep/rake_task.rb +132 -0
  6. data/lib/steep/type_construction.rb +1 -0
  7. data/lib/steep/version.rb +1 -1
  8. data/steep.gemspec +4 -1
  9. metadata +4 -143
  10. data/.github/dependabot.yml +0 -28
  11. data/.github/workflows/ruby-windows.yml +0 -35
  12. data/.github/workflows/ruby.yml +0 -32
  13. data/.vscode/steep-shared.code-snippets +0 -41
  14. data/Gemfile +0 -14
  15. data/Gemfile.lock +0 -104
  16. data/Gemfile.steep +0 -0
  17. data/gemfile_steep/Gemfile +0 -3
  18. data/gemfile_steep/Gemfile.lock +0 -77
  19. data/rbs_collection.steep.lock.yaml +0 -108
  20. data/rbs_collection.steep.yaml +0 -23
  21. data/sig/shims/bundler.rbs +0 -3
  22. data/sig/shims/concurrent-ruby.rbs +0 -39
  23. data/sig/shims/exception.rbs +0 -4
  24. data/sig/shims/language-server_protocol.rbs +0 -450
  25. data/sig/shims/parser/comment.rbs +0 -33
  26. data/sig/shims/parser/nodes.rbs +0 -252
  27. data/sig/shims/parser/source/map.rbs +0 -146
  28. data/sig/shims/parser/source/range.rbs +0 -237
  29. data/sig/shims/parser.rbs +0 -69
  30. data/sig/shims/string.rbs +0 -4
  31. data/sig/shims/tagged_logging.rbs +0 -6
  32. data/sig/shims/yaml.rbs +0 -4
  33. data/sig/steep/annotation_parser.rbs +0 -60
  34. data/sig/steep/ast/annotation/collection.rbs +0 -78
  35. data/sig/steep/ast/annotation.rbs +0 -121
  36. data/sig/steep/ast/builtin.rbs +0 -69
  37. data/sig/steep/ast/ignore.rbs +0 -66
  38. data/sig/steep/ast/node/type_application.rbs +0 -31
  39. data/sig/steep/ast/node/type_assertion.rbs +0 -32
  40. data/sig/steep/ast/types/any.rbs +0 -29
  41. data/sig/steep/ast/types/boolean.rbs +0 -31
  42. data/sig/steep/ast/types/bot.rbs +0 -29
  43. data/sig/steep/ast/types/class.rbs +0 -33
  44. data/sig/steep/ast/types/factory.rbs +0 -110
  45. data/sig/steep/ast/types/helper.rbs +0 -24
  46. data/sig/steep/ast/types/instance.rbs +0 -33
  47. data/sig/steep/ast/types/intersection.rbs +0 -40
  48. data/sig/steep/ast/types/literal.rbs +0 -35
  49. data/sig/steep/ast/types/logic.rbs +0 -83
  50. data/sig/steep/ast/types/name.rbs +0 -84
  51. data/sig/steep/ast/types/nil.rbs +0 -31
  52. data/sig/steep/ast/types/proc.rbs +0 -53
  53. data/sig/steep/ast/types/record.rbs +0 -39
  54. data/sig/steep/ast/types/self.rbs +0 -33
  55. data/sig/steep/ast/types/top.rbs +0 -29
  56. data/sig/steep/ast/types/tuple.rbs +0 -37
  57. data/sig/steep/ast/types/union.rbs +0 -40
  58. data/sig/steep/ast/types/var.rbs +0 -42
  59. data/sig/steep/ast/types/void.rbs +0 -29
  60. data/sig/steep/ast/types.rbs +0 -16
  61. data/sig/steep/cli.rbs +0 -55
  62. data/sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs +0 -13
  63. data/sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs +0 -15
  64. data/sig/steep/diagnostic/helper.rbs +0 -15
  65. data/sig/steep/diagnostic/lsp_formatter.rbs +0 -36
  66. data/sig/steep/diagnostic/ruby.rbs +0 -703
  67. data/sig/steep/diagnostic/signature.rbs +0 -252
  68. data/sig/steep/drivers/annotations.rbs +0 -17
  69. data/sig/steep/drivers/check.rbs +0 -33
  70. data/sig/steep/drivers/checkfile.rbs +0 -27
  71. data/sig/steep/drivers/diagnostic_printer.rbs +0 -25
  72. data/sig/steep/drivers/init.rbs +0 -19
  73. data/sig/steep/drivers/langserver.rbs +0 -36
  74. data/sig/steep/drivers/print_project.rbs +0 -15
  75. data/sig/steep/drivers/stats.rbs +0 -47
  76. data/sig/steep/drivers/utils/driver_helper.rbs +0 -25
  77. data/sig/steep/drivers/utils/jobs_option.rbs +0 -19
  78. data/sig/steep/drivers/validate.rbs +0 -15
  79. data/sig/steep/drivers/vendor.rbs +0 -19
  80. data/sig/steep/drivers/watch.rbs +0 -27
  81. data/sig/steep/drivers/worker.rbs +0 -29
  82. data/sig/steep/equatable.rbs +0 -11
  83. data/sig/steep/expectations.rbs +0 -72
  84. data/sig/steep/index/rbs_index.rbs +0 -141
  85. data/sig/steep/index/signature_symbol_provider.rbs +0 -41
  86. data/sig/steep/index/source_index.rbs +0 -63
  87. data/sig/steep/interface/block.rbs +0 -41
  88. data/sig/steep/interface/builder.rbs +0 -111
  89. data/sig/steep/interface/function.rbs +0 -271
  90. data/sig/steep/interface/method_type.rbs +0 -105
  91. data/sig/steep/interface/shape.rbs +0 -80
  92. data/sig/steep/interface/substitution.rbs +0 -51
  93. data/sig/steep/interface/type_param.rbs +0 -43
  94. data/sig/steep/method_name.rbs +0 -30
  95. data/sig/steep/module_helper.rbs +0 -16
  96. data/sig/steep/node_helper.rbs +0 -91
  97. data/sig/steep/path_helper.rbs +0 -15
  98. data/sig/steep/project/dsl.rbs +0 -108
  99. data/sig/steep/project/options.rbs +0 -47
  100. data/sig/steep/project/pattern.rbs +0 -47
  101. data/sig/steep/project/target.rbs +0 -25
  102. data/sig/steep/project.rbs +0 -26
  103. data/sig/steep/range_extension.rbs +0 -7
  104. data/sig/steep/server/base_worker.rbs +0 -49
  105. data/sig/steep/server/change_buffer.rbs +0 -38
  106. data/sig/steep/server/delay_queue.rbs +0 -37
  107. data/sig/steep/server/interaction_worker.rbs +0 -90
  108. data/sig/steep/server/lsp_formatter.rbs +0 -63
  109. data/sig/steep/server/master.rbs +0 -299
  110. data/sig/steep/server/type_check_worker.rbs +0 -141
  111. data/sig/steep/server/worker_process.rbs +0 -97
  112. data/sig/steep/services/completion_provider.rbs +0 -264
  113. data/sig/steep/services/content_change.rbs +0 -37
  114. data/sig/steep/services/file_loader.rbs +0 -21
  115. data/sig/steep/services/goto_service.rbs +0 -106
  116. data/sig/steep/services/hover_provider/rbs.rbs +0 -47
  117. data/sig/steep/services/hover_provider/ruby.rbs +0 -127
  118. data/sig/steep/services/hover_provider/singleton_methods.rbs +0 -11
  119. data/sig/steep/services/path_assignment.rbs +0 -21
  120. data/sig/steep/services/signature_help_provider.rbs +0 -51
  121. data/sig/steep/services/signature_service.rbs +0 -156
  122. data/sig/steep/services/stats_calculator.rbs +0 -41
  123. data/sig/steep/services/type_check_service.rbs +0 -112
  124. data/sig/steep/services/type_name_completion.rbs +0 -135
  125. data/sig/steep/signature/validator.rbs +0 -85
  126. data/sig/steep/source/ignore_ranges.rbs +0 -38
  127. data/sig/steep/source.rbs +0 -105
  128. data/sig/steep/subtyping/cache.rbs +0 -17
  129. data/sig/steep/subtyping/check.rbs +0 -131
  130. data/sig/steep/subtyping/constraints.rbs +0 -111
  131. data/sig/steep/subtyping/relation.rbs +0 -63
  132. data/sig/steep/subtyping/result.rbs +0 -179
  133. data/sig/steep/subtyping/variable_variance.rbs +0 -25
  134. data/sig/steep/thread_waiter.rbs +0 -13
  135. data/sig/steep/type_construction.rbs +0 -542
  136. data/sig/steep/type_inference/block_params.rbs +0 -170
  137. data/sig/steep/type_inference/case_when.rbs +0 -130
  138. data/sig/steep/type_inference/constant_env.rbs +0 -29
  139. data/sig/steep/type_inference/context.rbs +0 -216
  140. data/sig/steep/type_inference/context_array.rbs +0 -38
  141. data/sig/steep/type_inference/logic_type_interpreter.rbs +0 -108
  142. data/sig/steep/type_inference/method_call.rbs +0 -124
  143. data/sig/steep/type_inference/method_params.rbs +0 -127
  144. data/sig/steep/type_inference/multiple_assignment.rbs +0 -76
  145. data/sig/steep/type_inference/send_args.rbs +0 -243
  146. data/sig/steep/type_inference/type_env.rbs +0 -160
  147. data/sig/steep/type_inference/type_env_builder.rbs +0 -81
  148. data/sig/steep/typing.rbs +0 -75
  149. data/sig/steep.rbs +0 -45
@@ -1,72 +0,0 @@
1
- module Steep
2
- class Expectations
3
- type status = :expected | :missing | :unexpected
4
-
5
- class Diagnostic
6
- module DiagnosticSeverity = LanguageServer::Protocol::Constant::DiagnosticSeverity
7
-
8
- type position = { line: Integer, character: Integer }
9
-
10
- attr_reader start_position: position
11
-
12
- attr_reader end_position: position
13
-
14
- attr_reader severity: Steep::Diagnostic::LSPFormatter::severity
15
-
16
- attr_reader message: String
17
-
18
- attr_reader code: String
19
-
20
- def initialize: (start_position: position, end_position: position, severity: Steep::Diagnostic::LSPFormatter::severity, message: String, code: String) -> void
21
-
22
- def self.from_hash: (untyped) -> Diagnostic
23
-
24
- def self.from_lsp: (untyped) -> Diagnostic
25
-
26
- def to_hash: () -> Hash[String, untyped]
27
-
28
- def to_lsp: () -> Hash[Symbol, untyped]
29
-
30
- def lsp_severity: () -> Integer
31
-
32
- def sort_key: () -> Array[untyped]
33
- end
34
-
35
- class TestResult
36
- attr_reader path: Pathname
37
-
38
- attr_reader expectation: Array[Diagnostic]
39
-
40
- attr_reader actual: Array[Diagnostic]
41
-
42
- def initialize: (path: Pathname, expectation: Array[Diagnostic], actual: Array[Diagnostic]) -> void
43
-
44
- def empty?: () -> bool
45
-
46
- def satisfied?: () -> bool
47
-
48
- def each_diagnostics: () { ([status, Diagnostic]) -> void } -> void
49
- | () -> Enumerator[[status, Diagnostic], void]
50
-
51
- def expected_diagnostics: () -> Array[Diagnostic]
52
-
53
- def unexpected_diagnostics: () -> Array[Diagnostic]
54
-
55
- def missing_diagnostics: () -> Array[Diagnostic]
56
- end
57
-
58
- module LSP = LanguageServer::Protocol
59
-
60
- attr_reader diagnostics: Hash[Pathname, Array[Diagnostic]]
61
-
62
- def initialize: () -> void
63
-
64
- def test: (path: Pathname, diagnostics: Array[Diagnostic]) -> TestResult
65
-
66
- def self.empty: () -> instance
67
-
68
- def to_yaml: () -> String
69
-
70
- def self.load: (path: Pathname, content: String) -> instance
71
- end
72
- end
@@ -1,141 +0,0 @@
1
- module Steep
2
- module Index
3
- class RBSIndex
4
- class TypeEntry
5
- attr_reader type_name: RBS::TypeName
6
-
7
- type decl = RBS::AST::Declarations::Class
8
- | RBS::AST::Declarations::Module
9
- | RBS::AST::Declarations::Interface
10
- | RBS::AST::Declarations::TypeAlias
11
- | RBS::AST::Declarations::ClassAlias
12
- | RBS::AST::Declarations::ModuleAlias
13
-
14
- type ref = RBS::AST::Members::MethodDefinition
15
- | RBS::AST::Members::AttrWriter
16
- | RBS::AST::Members::AttrReader
17
- | RBS::AST::Members::AttrAccessor
18
- | RBS::AST::Members::Include
19
- | RBS::AST::Members::Extend
20
- | RBS::AST::Members::InstanceVariable
21
- | RBS::AST::Members::ClassVariable
22
- | RBS::AST::Members::ClassInstanceVariable
23
- | RBS::AST::Declarations::Module
24
- | RBS::AST::Declarations::Class
25
- | RBS::AST::Declarations::Constant
26
- | RBS::AST::Declarations::Global
27
- | RBS::AST::Declarations::TypeAlias
28
- | RBS::AST::Declarations::ClassAlias
29
- | RBS::AST::Declarations::ModuleAlias
30
-
31
- attr_reader declarations: Set[decl]
32
-
33
- attr_reader references: Set[ref]
34
-
35
- def initialize: (type_name: RBS::TypeName) -> void
36
-
37
- def add_declaration: (decl decl) -> self
38
-
39
- def add_reference: (ref) -> self
40
- end
41
-
42
- class MethodEntry
43
- attr_reader method_name: method_name
44
-
45
- type decl = RBS::AST::Members::MethodDefinition
46
- | RBS::AST::Members::Alias
47
- | RBS::AST::Members::AttrWriter
48
- | RBS::AST::Members::AttrReader
49
- | RBS::AST::Members::AttrAccessor
50
-
51
- type ref = RBS::AST::Members::Alias
52
-
53
- attr_reader declarations: Set[decl]
54
-
55
- attr_reader references: Set[ref]
56
-
57
- def initialize: (method_name: method_name) -> void
58
-
59
- def add_declaration: (decl) -> self
60
- end
61
-
62
- class ConstantEntry
63
- attr_reader const_name: RBS::TypeName
64
-
65
- type decl = RBS::AST::Declarations::Constant
66
-
67
- attr_reader declarations: Set[decl]
68
-
69
- def initialize: (const_name: RBS::TypeName) -> void
70
-
71
- def add_declaration: (decl) -> self
72
- end
73
-
74
- class GlobalEntry
75
- attr_reader global_name: Symbol
76
-
77
- type decl = RBS::AST::Declarations::Global
78
-
79
- attr_reader declarations: Set[decl]
80
-
81
- def initialize: (global_name: Symbol) -> void
82
-
83
- def add_declaration: (decl) -> self
84
- end
85
-
86
- attr_reader type_index: Hash[RBS::TypeName, TypeEntry]
87
-
88
- attr_reader method_index: Hash[method_name, MethodEntry]
89
-
90
- attr_reader const_index: Hash[RBS::TypeName, ConstantEntry]
91
-
92
- attr_reader global_index: Hash[Symbol, GlobalEntry]
93
-
94
- def initialize: () -> void
95
-
96
- def entry: (type_name: RBS::TypeName) -> TypeEntry
97
- | (method_name: method_name) -> MethodEntry
98
- | (const_name: RBS::TypeName) -> ConstantEntry
99
- | (global_name: Symbol) -> GlobalEntry
100
-
101
- def each_entry: () { (TypeEntry | MethodEntry | ConstantEntry | GlobalEntry) -> void } -> void
102
- | () -> Enumerator[TypeEntry | MethodEntry | ConstantEntry | GlobalEntry, void]
103
-
104
- def add_type_declaration: (RBS::TypeName type_name, TypeEntry::decl declaration) -> TypeEntry
105
-
106
- def add_method_declaration: (method_name, MethodEntry::decl member) -> MethodEntry
107
-
108
- def add_constant_declaration: (RBS::TypeName const_name, ConstantEntry::decl decl) -> ConstantEntry
109
-
110
- def add_global_declaration: (Symbol global_name, GlobalEntry::decl decl) -> GlobalEntry
111
-
112
- def each_declaration: (type_name: RBS::TypeName) { (TypeEntry) -> void } -> void
113
- | (type_name: RBS::TypeName) -> Enumerator[TypeEntry, void]
114
- | (method_name: method_name) { (MethodEntry) -> void } -> void
115
- | (method_name: method_name) -> Enumerator[MethodEntry, void]
116
- | (const_name: RBS::TypeName) { (ConstantEntry) -> void } -> void
117
- | (const_name: RBS::TypeName) -> Enumerator[ConstantEntry, void]
118
- | (global_name: Symbol) { (GlobalEntry) -> void } -> void
119
- | (global_name: Symbol) -> Enumerator[GlobalEntry, void]
120
-
121
- # `type_name` is referred from `ref`
122
- #
123
- def add_type_reference: (RBS::TypeName type_name, TypeEntry::ref ref) -> TypeEntry
124
-
125
- def each_reference: (type_name: RBS::TypeName) { (TypeEntry::ref) -> void } -> void
126
- | (type_name: RBS::TypeName) -> Enumerator[TypeEntry::ref, void]
127
-
128
- class Builder
129
- attr_reader index: RBSIndex
130
-
131
- def initialize: (index: RBSIndex) -> void
132
-
133
- def member: (RBS::TypeName type_name, RBS::AST::Members::t | RBS::AST::Declarations::t member) -> void
134
-
135
- def type_reference: (RBS::Types::t, from: TypeEntry::ref) -> void
136
-
137
- def env: (RBS::Environment env) -> void
138
- end
139
- end
140
- end
141
- end
@@ -1,41 +0,0 @@
1
- use LanguageServer::Protocol::Constant::SymbolKind
2
-
3
- module Steep
4
- module Index
5
- class SignatureSymbolProvider
6
- module LSP = LanguageServer::Protocol
7
-
8
- class SymbolInformation
9
- attr_reader name: String
10
-
11
- attr_reader location: RBS::Location[untyped, untyped]
12
-
13
- attr_reader container_name: String?
14
-
15
- attr_reader kind: SymbolKind::t
16
-
17
- def initialize: (name: String, location: RBS::Location[untyped, untyped], container_name: String?, kind: SymbolKind::t) -> void
18
- end
19
-
20
- attr_reader project: Project
21
-
22
- attr_reader indexes: Array[RBSIndex]
23
-
24
- attr_reader assignment: Services::PathAssignment
25
-
26
- def initialize: (project: Project, assignment: Services::PathAssignment) -> void
27
-
28
- def self.test_type_name: (String query, RBS::TypeName type_name) -> bool
29
-
30
- alias self.test_const_name self.test_type_name
31
-
32
- def self.test_global_name: (String query, Symbol global_name) -> bool
33
-
34
- def self.test_method_name: (String query, method_name) -> bool
35
-
36
- def assigned?: (Pathname) -> bool
37
-
38
- def query_symbol: (String query) -> Array[SymbolInformation]
39
- end
40
- end
41
- end
@@ -1,63 +0,0 @@
1
- module Steep
2
- module Index
3
- class SourceIndex
4
- class ConstantEntry
5
- attr_reader name: untyped
6
-
7
- attr_reader definitions: untyped
8
-
9
- attr_reader references: untyped
10
-
11
- def initialize: (name: untyped) -> void
12
-
13
- def add_definition: (untyped node) -> untyped
14
-
15
- def add_reference: (untyped node) -> untyped
16
-
17
- def merge!: (untyped other) -> untyped
18
- end
19
-
20
- class MethodEntry
21
- attr_reader name: untyped
22
-
23
- attr_reader definitions: untyped
24
-
25
- attr_reader references: untyped
26
-
27
- def initialize: (name: untyped) -> void
28
-
29
- def add_definition: (untyped node) -> untyped
30
-
31
- def add_reference: (untyped node) -> untyped
32
-
33
- def merge!: (untyped other) -> untyped
34
- end
35
-
36
- attr_reader source: untyped
37
-
38
- attr_reader constant_index: untyped
39
-
40
- attr_reader method_index: untyped
41
-
42
- attr_reader parent: untyped
43
-
44
- attr_reader count: untyped
45
-
46
- attr_reader parent_count: untyped
47
-
48
- def initialize: (source: untyped, ?parent: untyped?) -> void
49
-
50
- def new_child: () -> untyped
51
-
52
- def merge!: (untyped child) -> untyped
53
-
54
- def add_definition: (definition: untyped, ?constant: untyped?, ?method: untyped?) -> untyped
55
-
56
- def add_reference: (ref: untyped, ?constant: untyped?, ?method: untyped?) -> untyped
57
-
58
- def entry: (?constant: untyped?, ?method: untyped?) -> untyped
59
-
60
- def reference: (?constant_node: untyped?) -> untyped
61
- end
62
- end
63
- end
@@ -1,41 +0,0 @@
1
- module Steep
2
- module Interface
3
- class Block
4
- attr_reader type: Function
5
-
6
- attr_reader self_type: AST::Types::t?
7
-
8
- attr_reader optional: bool
9
-
10
- def initialize: (type: Function, self_type: AST::Types::t?, optional: bool) -> void
11
-
12
- def optional?: () -> bool
13
-
14
- def required?: () -> bool
15
-
16
- def to_optional: () -> Block
17
-
18
- def ==: (untyped other) -> bool
19
-
20
- alias eql? ==
21
-
22
- def hash: () -> Integer
23
-
24
- def closed?: () -> bool
25
-
26
- def subst: (Substitution s) -> Block
27
-
28
- @fvs: Set[AST::Types::variable]
29
-
30
- def free_variables: () -> Set[AST::Types::variable]
31
-
32
- def to_s: () -> ::String
33
-
34
- def map_type: () { (AST::Types::t) -> AST::Types::t } -> Block
35
-
36
- def +: (Block other) -> Block
37
-
38
- def to_proc_type: () -> AST::Types::t
39
- end
40
- end
41
- end
@@ -1,111 +0,0 @@
1
- use RBS::TypeName
2
-
3
- module Steep
4
- module Interface
5
- class Builder
6
- class Config
7
- # Type of `self` type included immediately in the type expression
8
- #
9
- attr_reader self_type: AST::Types::t?
10
-
11
- # Type of `class` type included immediately in the type expression
12
- #
13
- attr_reader class_type: AST::Types::t?
14
-
15
- # Type of `instance` type included immediately in the type expression
16
- #
17
- attr_reader instance_type: AST::Types::t?
18
-
19
- # Upper bounds of type variables
20
- attr_reader variable_bounds: Hash[Symbol, AST::Types::t?]
21
-
22
- def initialize: (self_type: AST::Types::t?, variable_bounds: Hash[Symbol, AST::Types::t?]) -> void
23
- | (self_type: AST::Types::t?, class_type: AST::Types::t, instance_type: AST::Types::t, variable_bounds: Hash[Symbol, AST::Types::t?]) -> void
24
-
25
- def subst: () -> Substitution?
26
-
27
- def self.empty: () -> Config
28
-
29
- def upper_bound: (Symbol) -> AST::Types::t?
30
-
31
- private
32
-
33
- def validate: () -> self
34
-
35
- def validate_fvs: (Symbol name, AST::Types::t?) -> void
36
- end
37
-
38
- attr_reader factory: AST::Types::Factory
39
-
40
- # # No type application (if generic), no self-instance-module resolution
41
- attr_reader object_shape_cache: Hash[TypeName, Shape?]
42
-
43
- attr_reader union_shape_cache: Hash[AST::Types::Union, Shape?]
44
-
45
- attr_reader singleton_shape_cache: Hash[TypeName, Shape?]
46
-
47
- def initialize: (AST::Types::Factory) -> void
48
-
49
- # Returns a shape of given type with respect to Config
50
- #
51
- # * If `self` occurs in the given type, it returns types with `self`
52
- # * If `self` doesn't occur in the given type, it returns type withohut `self`, that is resolved to `config.self_type`
53
- #
54
- def shape: (AST::Types::t, Config) -> Shape?
55
-
56
- private
57
-
58
- def fetch_cache: [KEY] (Hash[KEY, Shape?], KEY) { () -> Shape? } -> Shape?
59
-
60
- # Returns a shape of given type with respect to Config
61
- #
62
- # The `self` types included in the returned Shape is the `self` type in the top level
63
- #
64
- # * `raw_shape(<self>)` -> may return a shape with `self`
65
- # * `raw_shape(<Array[self]>) -> returns a shape that returns `self` from `#first` method
66
- #
67
- def raw_shape: (AST::Types::t, Config) -> Shape?
68
-
69
- def self_shape: (AST::Types::t, Config) -> Shape?
70
-
71
- # Returns a shape of instance type and interface type
72
- #
73
- # The `self` types included in the shape is the `self` types in the definition.
74
- #
75
- def object_shape: (RBS::TypeName) -> Shape
76
-
77
- # Returns a shape of singleton type
78
- #
79
- # The `self` types included in the shape is the `self` types in the definition.
80
- #
81
- def singleton_shape: (RBS::TypeName) -> Shape
82
-
83
- def union_shape: (AST::Types::t, Array[Shape]) -> Shape?
84
-
85
- def intersection_shape: (AST::Types::t, Array[Shape]) -> Shape?
86
-
87
- def proc_shape: (AST::Types::Proc, Shape) -> Shape
88
-
89
- def tuple_shape: (AST::Types::Tuple) { (AST::Types::Name::Instance) -> Shape? } -> Shape?
90
-
91
- def record_shape: (AST::Types::Record) { (AST::Types::Name::Instance) -> Shape? } -> Shape?
92
-
93
- # Substitution for `self`/`instance`/`class` types, built from the name of given type
94
- #
95
- def class_subst: (AST::Types::Name::Instance | AST::Types::Name::Singleton) -> Substitution
96
-
97
- def interface_subst: (AST::Types::Name::Interface) -> Substitution
98
-
99
- # Substitution for type application of class instance, type alias, or interface types
100
- def app_subst: (AST::Types::Name::Instance | AST::Types::Name::Alias | AST::Types::Name::Interface) -> Substitution
101
-
102
- def method_name_for: (RBS::Definition::Method::TypeDef, Symbol name) -> method_name
103
-
104
- def replace_primitive_method: (method_name, RBS::Definition::Method::TypeDef, MethodType) -> MethodType
105
-
106
- @subtyping: Subtyping::Check?
107
-
108
- def subtyping: () -> Subtyping::Check
109
- end
110
- end
111
- end