workosv2 2.15.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 (242) hide show
  1. checksums.yaml +7 -0
  2. data/.github/CODEOWNERS +5 -0
  3. data/.github/pull_request_template.md +11 -0
  4. data/.github/renovate.json +5 -0
  5. data/.gitignore +49 -0
  6. data/.rspec +1 -0
  7. data/.rubocop.yml +24 -0
  8. data/.ruby-version +1 -0
  9. data/.semaphore/rubygems.yml +24 -0
  10. data/.semaphore/semaphore.yml +51 -0
  11. data/Gemfile +5 -0
  12. data/Gemfile.lock +126 -0
  13. data/Gemfile.lock.old +127 -0
  14. data/LICENSE +21 -0
  15. data/README.md +53 -0
  16. data/bin/build +3 -0
  17. data/bin/console +3 -0
  18. data/bin/docs +5 -0
  19. data/bin/publish +3 -0
  20. data/bin/tapioca +29 -0
  21. data/codecov.yml +12 -0
  22. data/docs/WorkOS/APIError.html +160 -0
  23. data/docs/WorkOS/AuditLog.html +235 -0
  24. data/docs/WorkOS/AuditTrail.html +235 -0
  25. data/docs/WorkOS/AuthenticationError.html +160 -0
  26. data/docs/WorkOS/Base.html +287 -0
  27. data/docs/WorkOS/Client.html +504 -0
  28. data/docs/WorkOS/InvalidRequestError.html +160 -0
  29. data/docs/WorkOS/Profile.html +788 -0
  30. data/docs/WorkOS/RequestError.html +135 -0
  31. data/docs/WorkOS/SSO.html +691 -0
  32. data/docs/WorkOS/Types/ProfileStruct.html +135 -0
  33. data/docs/WorkOS/Types/Provider.html +135 -0
  34. data/docs/WorkOS/Types.html +128 -0
  35. data/docs/WorkOS/WorkOSError.html +447 -0
  36. data/docs/WorkOS.html +324 -0
  37. data/docs/class_list.html +51 -0
  38. data/docs/css/common.css +1 -0
  39. data/docs/css/full_list.css +58 -0
  40. data/docs/css/style.css +496 -0
  41. data/docs/file.README.html +252 -0
  42. data/docs/file_list.html +56 -0
  43. data/docs/frames.html +17 -0
  44. data/docs/index.html +250 -0
  45. data/docs/js/app.js +314 -0
  46. data/docs/js/full_list.js +216 -0
  47. data/docs/js/jquery.js +4 -0
  48. data/docs/method_list.html +267 -0
  49. data/docs/top-level-namespace.html +110 -0
  50. data/lib/workosv2/audit_log_export.rb +55 -0
  51. data/lib/workosv2/audit_logs.rb +114 -0
  52. data/lib/workosv2/audit_trail.rb +111 -0
  53. data/lib/workosv2/challenge.rb +55 -0
  54. data/lib/workosv2/client.rb +186 -0
  55. data/lib/workosv2/configuration.rb +17 -0
  56. data/lib/workosv2/connection.rb +66 -0
  57. data/lib/workosv2/deprecated_hash_wrapper.rb +76 -0
  58. data/lib/workosv2/directory.rb +65 -0
  59. data/lib/workosv2/directory_group.rb +68 -0
  60. data/lib/workosv2/directory_sync.rb +218 -0
  61. data/lib/workosv2/directory_user.rb +97 -0
  62. data/lib/workosv2/errors.rb +81 -0
  63. data/lib/workosv2/event.rb +51 -0
  64. data/lib/workosv2/events.rb +52 -0
  65. data/lib/workosv2/factor.rb +54 -0
  66. data/lib/workosv2/hash_provider.rb +19 -0
  67. data/lib/workosv2/mfa.rb +178 -0
  68. data/lib/workosv2/organization.rb +57 -0
  69. data/lib/workosv2/organizations.rb +188 -0
  70. data/lib/workosv2/passwordless.rb +85 -0
  71. data/lib/workosv2/portal.rb +66 -0
  72. data/lib/workosv2/profile.rb +76 -0
  73. data/lib/workosv2/profile_and_token.rb +29 -0
  74. data/lib/workosv2/sso.rb +297 -0
  75. data/lib/workosv2/types/audit_log_export_struct.rb +17 -0
  76. data/lib/workosv2/types/challenge_struct.rb +18 -0
  77. data/lib/workosv2/types/connection_struct.rb +20 -0
  78. data/lib/workosv2/types/directory_group_struct.rb +19 -0
  79. data/lib/workosv2/types/directory_struct.rb +19 -0
  80. data/lib/workosv2/types/directory_user_struct.rb +26 -0
  81. data/lib/workosv2/types/event_struct.rb +15 -0
  82. data/lib/workosv2/types/factor_struct.rb +18 -0
  83. data/lib/workosv2/types/intent_enum.rb +17 -0
  84. data/lib/workosv2/types/list_struct.rb +13 -0
  85. data/lib/workosv2/types/organization_struct.rb +17 -0
  86. data/lib/workosv2/types/passwordless_session_struct.rb +17 -0
  87. data/lib/workosv2/types/profile_struct.rb +21 -0
  88. data/lib/workosv2/types/provider_enum.rb +15 -0
  89. data/lib/workosv2/types/verify_challenge_struct.rb +13 -0
  90. data/lib/workosv2/types/webhook_struct.rb +15 -0
  91. data/lib/workosv2/types.rb +25 -0
  92. data/lib/workosv2/verify_challenge.rb +39 -0
  93. data/lib/workosv2/version.rb +6 -0
  94. data/lib/workosv2/webhook.rb +51 -0
  95. data/lib/workosv2/webhooks.rb +217 -0
  96. data/lib/workosv2.rb +79 -0
  97. data/sorbet/config +2 -0
  98. data/sorbet/rbi/gems/addressable@2.8.0.rbi +290 -0
  99. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  100. data/sorbet/rbi/gems/codecov@0.2.12.rbi +55 -0
  101. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  102. data/sorbet/rbi/gems/crack@0.4.5.rbi +57 -0
  103. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +185 -0
  104. data/sorbet/rbi/gems/docile@1.3.5.rbi +54 -0
  105. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +82 -0
  106. data/sorbet/rbi/gems/json@2.5.1.rbi +109 -0
  107. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  108. data/sorbet/rbi/gems/parallel@1.20.1.rbi +113 -0
  109. data/sorbet/rbi/gems/parser@3.0.1.0.rbi +1187 -0
  110. data/sorbet/rbi/gems/pry@0.14.2.rbi +8 -0
  111. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +146 -0
  112. data/sorbet/rbi/gems/rainbow@3.0.0.rbi +153 -0
  113. data/sorbet/rbi/gems/rake@13.0.3.rbi +807 -0
  114. data/sorbet/rbi/gems/rbi@0.0.16.rbi +2118 -0
  115. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +1117 -0
  116. data/sorbet/rbi/gems/rexml@3.2.5.rbi +709 -0
  117. data/sorbet/rbi/gems/rspec-core@3.9.3.rbi +2467 -0
  118. data/sorbet/rbi/gems/rspec-expectations@3.9.4.rbi +1569 -0
  119. data/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi +1493 -0
  120. data/sorbet/rbi/gems/rspec-support@3.9.4.rbi +511 -0
  121. data/sorbet/rbi/gems/rspec@3.9.0.rbi +38 -0
  122. data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +1881 -0
  123. data/sorbet/rbi/gems/rubocop@0.93.1.rbi +11497 -0
  124. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  125. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  126. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  127. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.2.rbi +8 -0
  128. data/sorbet/rbi/gems/spoom@1.1.15.rbi +1549 -0
  129. data/sorbet/rbi/gems/tapioca@0.7.3.rbi +1718 -0
  130. data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
  131. data/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +22 -0
  132. data/sorbet/rbi/gems/unparser@0.6.2.rbi +8 -0
  133. data/sorbet/rbi/gems/vcr@5.0.0.rbi +699 -0
  134. data/sorbet/rbi/gems/webmock@3.12.2.rbi +662 -0
  135. data/sorbet/rbi/gems/yard-sorbet@0.8.0.rbi +268 -0
  136. data/sorbet/rbi/gems/yard@0.9.26.rbi +4048 -0
  137. data/sorbet/tapioca/config.yml +13 -0
  138. data/sorbet/tapioca/require.rb +4 -0
  139. data/spec/lib/workos/audit_logs_spec.rb +151 -0
  140. data/spec/lib/workos/audit_trail_spec.rb +146 -0
  141. data/spec/lib/workos/configuration_spec.rb +61 -0
  142. data/spec/lib/workos/directory_sync_spec.rb +492 -0
  143. data/spec/lib/workos/directory_user_spec.rb +36 -0
  144. data/spec/lib/workos/event_spec.rb +88 -0
  145. data/spec/lib/workos/mfa_spec.rb +281 -0
  146. data/spec/lib/workos/organizations_spec.rb +257 -0
  147. data/spec/lib/workos/passwordless_spec.rb +77 -0
  148. data/spec/lib/workos/portal_spec.rb +87 -0
  149. data/spec/lib/workos/sso_spec.rb +650 -0
  150. data/spec/lib/workos/webhooks_spec.rb +236 -0
  151. data/spec/spec_helper.rb +56 -0
  152. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event.yml +59 -0
  153. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_custom_idempotency_key.yml +60 -0
  154. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_event_invalid.yml +59 -0
  155. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export.yml +76 -0
  156. data/spec/support/fixtures/vcr_cassettes/audit_logs/create_export_with_filters.yml +77 -0
  157. data/spec/support/fixtures/vcr_cassettes/audit_logs/get_export.yml +73 -0
  158. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_event.yml +65 -0
  159. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_event_custom_idempotency_key.yml +67 -0
  160. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_event_invalid.yml +68 -0
  161. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_events_duplicate_idempotency_key_and_payload.yml +131 -0
  162. data/spec/support/fixtures/vcr_cassettes/audit_trail/create_events_duplicate_idempotency_key_different_payload.yml +134 -0
  163. data/spec/support/fixtures/vcr_cassettes/audit_trail/get_events.yml +61 -0
  164. data/spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml +66 -0
  165. data/spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml +72 -0
  166. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_invalid_id.yml +83 -0
  167. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_directory_with_valid_id.yml +84 -0
  168. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group.yml +80 -0
  169. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_group_with_invalid_id.yml +62 -0
  170. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user.yml +83 -0
  171. data/spec/support/fixtures/vcr_cassettes/directory_sync/get_user_with_invalid_id.yml +62 -0
  172. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_after.yml +87 -0
  173. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_before.yml +89 -0
  174. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_domain.yml +84 -0
  175. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +85 -0
  176. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_no_options.yml +93 -0
  177. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +85 -0
  178. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +90 -0
  179. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +90 -0
  180. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +90 -0
  181. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_limit.yml +84 -0
  182. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_no_options.yml +84 -0
  183. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +82 -0
  184. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_after.yml +186 -0
  185. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_before.yml +88 -0
  186. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_directory.yml +194 -0
  187. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml +186 -0
  188. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml +189 -0
  189. data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_no_options.yml +74 -0
  190. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_after.yml +80 -0
  191. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_event.yml +80 -0
  192. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_no_options.yml +80 -0
  193. data/spec/support/fixtures/vcr_cassettes/events/list_events_with_range.yml +80 -0
  194. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_generic_valid.yml +82 -0
  195. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_sms_valid.yml +82 -0
  196. data/spec/support/fixtures/vcr_cassettes/mfa/challenge_factor_totp_valid.yml +82 -0
  197. data/spec/support/fixtures/vcr_cassettes/mfa/delete_factor.yml +80 -0
  198. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_generic_valid.yml +82 -0
  199. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_sms_valid.yml +82 -0
  200. data/spec/support/fixtures/vcr_cassettes/mfa/enroll_factor_totp_valid.yml +82 -0
  201. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_invalid.yml +82 -0
  202. data/spec/support/fixtures/vcr_cassettes/mfa/get_factor_valid.yml +82 -0
  203. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_expired.yml +84 -0
  204. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_invalid.yml +84 -0
  205. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid.yml +82 -0
  206. data/spec/support/fixtures/vcr_cassettes/mfa/verify_challenge_generic_valid_is_false.yml +82 -0
  207. data/spec/support/fixtures/vcr_cassettes/organization/create.yml +84 -0
  208. data/spec/support/fixtures/vcr_cassettes/organization/create_invalid.yml +72 -0
  209. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_different_payload.yml +155 -0
  210. data/spec/support/fixtures/vcr_cassettes/organization/create_with_duplicate_idempotency_key_and_payload.yml +154 -0
  211. data/spec/support/fixtures/vcr_cassettes/organization/create_with_idempotency_key.yml +79 -0
  212. data/spec/support/fixtures/vcr_cassettes/organization/delete.yml +72 -0
  213. data/spec/support/fixtures/vcr_cassettes/organization/delete_invalid.yml +72 -0
  214. data/spec/support/fixtures/vcr_cassettes/organization/get.yml +84 -0
  215. data/spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml +72 -0
  216. data/spec/support/fixtures/vcr_cassettes/organization/list.yml +87 -0
  217. data/spec/support/fixtures/vcr_cassettes/organization/update.yml +84 -0
  218. data/spec/support/fixtures/vcr_cassettes/passwordless/create_session.yml +72 -0
  219. data/spec/support/fixtures/vcr_cassettes/passwordless/create_session_invalid.yml +73 -0
  220. data/spec/support/fixtures/vcr_cassettes/passwordless/send_session.yml +72 -0
  221. data/spec/support/fixtures/vcr_cassettes/passwordless/send_session_invalid.yml +73 -0
  222. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_audit_logs.yml +72 -0
  223. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_dsync.yml +72 -0
  224. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_invalid.yml +72 -0
  225. data/spec/support/fixtures/vcr_cassettes/portal/generate_link_sso.yml +72 -0
  226. data/spec/support/fixtures/vcr_cassettes/sso/delete_connection_with_invalid_id.yml +72 -0
  227. data/spec/support/fixtures/vcr_cassettes/sso/delete_connection_with_valid_id.yml +70 -0
  228. data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_invalid_id.yml +72 -0
  229. data/spec/support/fixtures/vcr_cassettes/sso/get_connection_with_valid_id.yml +86 -0
  230. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_after.yml +83 -0
  231. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_before.yml +86 -0
  232. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_connection_type.yml +90 -0
  233. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_domain.yml +86 -0
  234. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_limit.yml +83 -0
  235. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_no_options.yml +89 -0
  236. data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_organization_id.yml +86 -0
  237. data/spec/support/fixtures/vcr_cassettes/sso/profile.yml +74 -0
  238. data/spec/support/profile.txt +1 -0
  239. data/spec/support/shared_examples/client_spec.rb +30 -0
  240. data/spec/support/webhook_payload.txt +1 -0
  241. data/workosv2.gemspec +38 -0
  242. metadata +531 -0
@@ -0,0 +1,2118 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rbi` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rbi`.
6
+
7
+ module RBI; end
8
+
9
+ class RBI::ASTVisitor
10
+ abstract!
11
+
12
+ def initialize(*args, **_arg1, &blk); end
13
+
14
+ sig { abstract.params(node: T.nilable(::AST::Node)).void }
15
+ def visit(node); end
16
+
17
+ sig { params(nodes: T::Array[::AST::Node]).void }
18
+ def visit_all(nodes); end
19
+
20
+ private
21
+
22
+ sig { params(node: ::AST::Node).returns(::String) }
23
+ def parse_expr(node); end
24
+
25
+ sig { params(node: ::AST::Node).returns(::String) }
26
+ def parse_name(node); end
27
+ end
28
+
29
+ class RBI::Arg < ::RBI::Node
30
+ sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void }
31
+ def initialize(value, loc: T.unsafe(nil)); end
32
+
33
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
34
+ def ==(other); end
35
+
36
+ sig { override.params(v: ::RBI::Printer).void }
37
+ def accept_printer(v); end
38
+
39
+ sig { returns(::String) }
40
+ def to_s; end
41
+
42
+ sig { returns(::String) }
43
+ def value; end
44
+ end
45
+
46
+ class RBI::Attr < ::RBI::NodeWithComments
47
+ include ::RBI::Indexable
48
+
49
+ abstract!
50
+
51
+ sig do
52
+ params(
53
+ name: ::Symbol,
54
+ names: T::Array[::Symbol],
55
+ visibility: ::RBI::Visibility,
56
+ sigs: T::Array[::RBI::Sig],
57
+ loc: T.nilable(::RBI::Loc),
58
+ comments: T::Array[::RBI::Comment]
59
+ ).void
60
+ end
61
+ def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
62
+
63
+ sig { override.params(v: ::RBI::Printer).void }
64
+ def accept_printer(v); end
65
+
66
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
67
+ def compatible_with?(other); end
68
+
69
+ sig { abstract.returns(T::Array[::String]) }
70
+ def fully_qualified_names; end
71
+
72
+ sig { override.returns(T::Array[::String]) }
73
+ def index_ids; end
74
+
75
+ sig { override.params(other: ::RBI::Node).void }
76
+ def merge_with(other); end
77
+
78
+ sig { returns(T::Array[::Symbol]) }
79
+ def names; end
80
+
81
+ sig { params(names: T::Array[::Symbol]).returns(T::Array[::Symbol]) }
82
+ def names=(names); end
83
+
84
+ sig { override.returns(T::Boolean) }
85
+ def oneline?; end
86
+
87
+ sig { returns(T::Array[::RBI::Sig]) }
88
+ def sigs; end
89
+
90
+ sig { returns(::RBI::Visibility) }
91
+ def visibility; end
92
+
93
+ sig { params(visibility: ::RBI::Visibility).returns(::RBI::Visibility) }
94
+ def visibility=(visibility); end
95
+ end
96
+
97
+ class RBI::AttrAccessor < ::RBI::Attr
98
+ sig do
99
+ params(
100
+ name: ::Symbol,
101
+ names: ::Symbol,
102
+ visibility: ::RBI::Visibility,
103
+ sigs: T::Array[::RBI::Sig],
104
+ loc: T.nilable(::RBI::Loc),
105
+ comments: T::Array[::RBI::Comment],
106
+ block: T.nilable(T.proc.params(node: ::RBI::AttrAccessor).void)
107
+ ).void
108
+ end
109
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
110
+
111
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
112
+ def compatible_with?(other); end
113
+
114
+ sig { override.returns(T::Array[::String]) }
115
+ def fully_qualified_names; end
116
+
117
+ sig { override.returns(::String) }
118
+ def to_s; end
119
+ end
120
+
121
+ class RBI::AttrReader < ::RBI::Attr
122
+ sig do
123
+ params(
124
+ name: ::Symbol,
125
+ names: ::Symbol,
126
+ visibility: ::RBI::Visibility,
127
+ sigs: T::Array[::RBI::Sig],
128
+ loc: T.nilable(::RBI::Loc),
129
+ comments: T::Array[::RBI::Comment],
130
+ block: T.nilable(T.proc.params(node: ::RBI::AttrReader).void)
131
+ ).void
132
+ end
133
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
134
+
135
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
136
+ def compatible_with?(other); end
137
+
138
+ sig { override.returns(T::Array[::String]) }
139
+ def fully_qualified_names; end
140
+
141
+ sig { override.returns(::String) }
142
+ def to_s; end
143
+ end
144
+
145
+ class RBI::AttrWriter < ::RBI::Attr
146
+ sig do
147
+ params(
148
+ name: ::Symbol,
149
+ names: ::Symbol,
150
+ visibility: ::RBI::Visibility,
151
+ sigs: T::Array[::RBI::Sig],
152
+ loc: T.nilable(::RBI::Loc),
153
+ comments: T::Array[::RBI::Comment],
154
+ block: T.nilable(T.proc.params(node: ::RBI::AttrWriter).void)
155
+ ).void
156
+ end
157
+ def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
158
+
159
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
160
+ def compatible_with?(other); end
161
+
162
+ sig { override.returns(T::Array[::String]) }
163
+ def fully_qualified_names; end
164
+
165
+ sig { override.returns(::String) }
166
+ def to_s; end
167
+ end
168
+
169
+ class RBI::BlankLine < ::RBI::Comment
170
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
171
+ def initialize(loc: T.unsafe(nil)); end
172
+
173
+ sig { override.params(v: ::RBI::Printer).void }
174
+ def accept_printer(v); end
175
+ end
176
+
177
+ class RBI::BlockParam < ::RBI::Param
178
+ sig do
179
+ params(
180
+ name: ::String,
181
+ loc: T.nilable(::RBI::Loc),
182
+ comments: T::Array[::RBI::Comment],
183
+ block: T.nilable(T.proc.params(node: ::RBI::BlockParam).void)
184
+ ).void
185
+ end
186
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
187
+
188
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
189
+ def ==(other); end
190
+
191
+ sig { override.params(v: ::RBI::Printer).void }
192
+ def accept_printer(v); end
193
+
194
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
195
+ def print_comment_leading_space(v, last:); end
196
+
197
+ sig { override.returns(::String) }
198
+ def to_s; end
199
+ end
200
+
201
+ class RBI::Class < ::RBI::Scope
202
+ sig do
203
+ params(
204
+ name: ::String,
205
+ superclass_name: T.nilable(::String),
206
+ loc: T.nilable(::RBI::Loc),
207
+ comments: T::Array[::RBI::Comment],
208
+ block: T.nilable(T.proc.params(node: ::RBI::Class).void)
209
+ ).void
210
+ end
211
+ def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
212
+
213
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
214
+ def compatible_with?(other); end
215
+
216
+ sig { override.returns(::String) }
217
+ def fully_qualified_name; end
218
+
219
+ sig { returns(::String) }
220
+ def name; end
221
+
222
+ sig { params(name: ::String).returns(::String) }
223
+ def name=(name); end
224
+
225
+ sig { override.params(v: ::RBI::Printer).void }
226
+ def print_header(v); end
227
+
228
+ sig { returns(T.nilable(::String)) }
229
+ def superclass_name; end
230
+
231
+ sig { params(superclass_name: T.nilable(::String)).returns(T.nilable(::String)) }
232
+ def superclass_name=(superclass_name); end
233
+ end
234
+
235
+ class RBI::Comment < ::RBI::Node
236
+ sig { params(text: ::String, loc: T.nilable(::RBI::Loc)).void }
237
+ def initialize(text, loc: T.unsafe(nil)); end
238
+
239
+ sig { params(other: ::Object).returns(T::Boolean) }
240
+ def ==(other); end
241
+
242
+ sig { override.params(v: ::RBI::Printer).void }
243
+ def accept_printer(v); end
244
+
245
+ sig { returns(::String) }
246
+ def text; end
247
+
248
+ sig { params(text: ::String).returns(::String) }
249
+ def text=(text); end
250
+ end
251
+
252
+ class RBI::ConflictTree < ::RBI::Tree
253
+ sig { params(left_name: ::String, right_name: ::String).void }
254
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
255
+
256
+ sig { override.params(v: ::RBI::Printer).void }
257
+ def accept_printer(v); end
258
+
259
+ sig { returns(::RBI::Tree) }
260
+ def left; end
261
+
262
+ def right; end
263
+ end
264
+
265
+ class RBI::Const < ::RBI::NodeWithComments
266
+ include ::RBI::Indexable
267
+
268
+ sig do
269
+ params(
270
+ name: ::String,
271
+ value: ::String,
272
+ loc: T.nilable(::RBI::Loc),
273
+ comments: T::Array[::RBI::Comment],
274
+ block: T.nilable(T.proc.params(node: ::RBI::Const).void)
275
+ ).void
276
+ end
277
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
278
+
279
+ sig { override.params(v: ::RBI::Printer).void }
280
+ def accept_printer(v); end
281
+
282
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
283
+ def compatible_with?(other); end
284
+
285
+ sig { returns(::String) }
286
+ def fully_qualified_name; end
287
+
288
+ sig { override.returns(T::Array[::String]) }
289
+ def index_ids; end
290
+
291
+ sig { returns(::String) }
292
+ def name; end
293
+
294
+ sig { override.returns(::String) }
295
+ def to_s; end
296
+
297
+ def value; end
298
+ end
299
+
300
+ class RBI::ConstBuilder < ::RBI::ASTVisitor
301
+ sig { void }
302
+ def initialize; end
303
+
304
+ sig { returns(T::Array[::String]) }
305
+ def names; end
306
+
307
+ sig { params(names: T::Array[::String]).returns(T::Array[::String]) }
308
+ def names=(names); end
309
+
310
+ sig { override.params(node: T.nilable(::AST::Node)).void }
311
+ def visit(node); end
312
+
313
+ class << self
314
+ sig { params(node: T.nilable(::AST::Node)).returns(T.nilable(::String)) }
315
+ def visit(node); end
316
+ end
317
+ end
318
+
319
+ class RBI::Error < ::StandardError; end
320
+
321
+ class RBI::Extend < ::RBI::Mixin
322
+ include ::RBI::Indexable
323
+
324
+ sig do
325
+ params(
326
+ name: ::String,
327
+ names: ::String,
328
+ loc: T.nilable(::RBI::Loc),
329
+ comments: T::Array[::RBI::Comment],
330
+ block: T.nilable(T.proc.params(node: ::RBI::Extend).void)
331
+ ).void
332
+ end
333
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
334
+
335
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
336
+ def compatible_with?(other); end
337
+
338
+ sig { override.returns(T::Array[::String]) }
339
+ def index_ids; end
340
+
341
+ sig { override.returns(::String) }
342
+ def to_s; end
343
+ end
344
+
345
+ class RBI::File
346
+ sig do
347
+ params(
348
+ strictness: T.nilable(::String),
349
+ comments: T::Array[::RBI::Comment],
350
+ block: T.nilable(T.proc.params(file: ::RBI::File).void)
351
+ ).void
352
+ end
353
+ def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end
354
+
355
+ sig { params(node: ::RBI::Node).void }
356
+ def <<(node); end
357
+
358
+ sig { params(v: ::RBI::Printer).void }
359
+ def accept_printer(v); end
360
+
361
+ sig { returns(T::Array[::RBI::Comment]) }
362
+ def comments; end
363
+
364
+ sig { params(comments: T::Array[::RBI::Comment]).returns(T::Array[::RBI::Comment]) }
365
+ def comments=(comments); end
366
+
367
+ sig { returns(T::Boolean) }
368
+ def empty?; end
369
+
370
+ sig do
371
+ params(
372
+ out: T.any(::IO, ::StringIO),
373
+ indent: ::Integer,
374
+ print_locs: T::Boolean,
375
+ max_line_length: T.nilable(::Integer)
376
+ ).void
377
+ end
378
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
379
+
380
+ sig { returns(::RBI::Tree) }
381
+ def root; end
382
+
383
+ sig { params(root: ::RBI::Tree).returns(::RBI::Tree) }
384
+ def root=(root); end
385
+
386
+ sig { returns(T.nilable(::String)) }
387
+ def strictness; end
388
+
389
+ sig { params(strictness: T.nilable(::String)).returns(T.nilable(::String)) }
390
+ def strictness=(strictness); end
391
+
392
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
393
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
394
+ end
395
+
396
+ class RBI::Formatter
397
+ sig do
398
+ params(
399
+ add_sig_templates: T::Boolean,
400
+ group_nodes: T::Boolean,
401
+ max_line_length: T.nilable(::Integer),
402
+ nest_singleton_methods: T::Boolean,
403
+ nest_non_public_methods: T::Boolean,
404
+ sort_nodes: T::Boolean
405
+ ).void
406
+ end
407
+ def initialize(add_sig_templates: T.unsafe(nil), group_nodes: T.unsafe(nil), max_line_length: T.unsafe(nil), nest_singleton_methods: T.unsafe(nil), nest_non_public_methods: T.unsafe(nil), sort_nodes: T.unsafe(nil)); end
408
+
409
+ sig { returns(T::Boolean) }
410
+ def add_sig_templates; end
411
+
412
+ sig { params(add_sig_templates: T::Boolean).returns(T::Boolean) }
413
+ def add_sig_templates=(add_sig_templates); end
414
+
415
+ sig { params(file: ::RBI::File).void }
416
+ def format_file(file); end
417
+
418
+ sig { params(tree: ::RBI::Tree).void }
419
+ def format_tree(tree); end
420
+
421
+ def group_nodes; end
422
+ def group_nodes=(_arg0); end
423
+
424
+ sig { returns(T.nilable(::Integer)) }
425
+ def max_line_length; end
426
+
427
+ sig { params(max_line_length: T.nilable(::Integer)).returns(T.nilable(::Integer)) }
428
+ def max_line_length=(max_line_length); end
429
+
430
+ def nest_non_public_methods; end
431
+ def nest_non_public_methods=(_arg0); end
432
+ def nest_singleton_methods; end
433
+ def nest_singleton_methods=(_arg0); end
434
+
435
+ sig { params(file: ::RBI::File).returns(::String) }
436
+ def print_file(file); end
437
+
438
+ sig { params(tree: ::RBI::Tree).returns(::String) }
439
+ def print_tree(tree); end
440
+
441
+ def sort_nodes; end
442
+ def sort_nodes=(_arg0); end
443
+ end
444
+
445
+ class RBI::Group < ::RBI::Tree
446
+ sig { params(kind: ::RBI::Group::Kind).void }
447
+ def initialize(kind); end
448
+
449
+ sig { override.params(v: ::RBI::Printer).void }
450
+ def accept_printer(v); end
451
+
452
+ sig { returns(::RBI::Group::Kind) }
453
+ def kind; end
454
+ end
455
+
456
+ class RBI::Group::Kind < ::T::Enum
457
+ enums do
458
+ Mixins = new
459
+ RequiredAncestors = new
460
+ Helpers = new
461
+ TypeMembers = new
462
+ MixesInClassMethods = new
463
+ Sends = new
464
+ Attrs = new
465
+ TStructFields = new
466
+ TEnums = new
467
+ Inits = new
468
+ Methods = new
469
+ SingletonClasses = new
470
+ Consts = new
471
+ end
472
+ end
473
+
474
+ class RBI::Helper < ::RBI::NodeWithComments
475
+ include ::RBI::Indexable
476
+
477
+ sig do
478
+ params(
479
+ name: ::String,
480
+ loc: T.nilable(::RBI::Loc),
481
+ comments: T::Array[::RBI::Comment],
482
+ block: T.nilable(T.proc.params(node: ::RBI::Helper).void)
483
+ ).void
484
+ end
485
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
486
+
487
+ sig { override.params(v: ::RBI::Printer).void }
488
+ def accept_printer(v); end
489
+
490
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
491
+ def compatible_with?(other); end
492
+
493
+ sig { override.returns(T::Array[::String]) }
494
+ def index_ids; end
495
+
496
+ sig { returns(::String) }
497
+ def name; end
498
+
499
+ sig { override.returns(::String) }
500
+ def to_s; end
501
+ end
502
+
503
+ class RBI::Include < ::RBI::Mixin
504
+ include ::RBI::Indexable
505
+
506
+ sig do
507
+ params(
508
+ name: ::String,
509
+ names: ::String,
510
+ loc: T.nilable(::RBI::Loc),
511
+ comments: T::Array[::RBI::Comment],
512
+ block: T.nilable(T.proc.params(node: ::RBI::Include).void)
513
+ ).void
514
+ end
515
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
516
+
517
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
518
+ def compatible_with?(other); end
519
+
520
+ sig { override.returns(T::Array[::String]) }
521
+ def index_ids; end
522
+
523
+ sig { override.returns(::String) }
524
+ def to_s; end
525
+ end
526
+
527
+ class RBI::Index < ::RBI::Visitor
528
+ sig { void }
529
+ def initialize; end
530
+
531
+ sig { params(id: ::String).returns(T::Array[::RBI::Node]) }
532
+ def [](id); end
533
+
534
+ sig { params(nodes: ::RBI::Node).void }
535
+ def index(*nodes); end
536
+
537
+ sig { returns(T::Array[::String]) }
538
+ def keys; end
539
+
540
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
541
+ def visit(node); end
542
+
543
+ private
544
+
545
+ sig { params(node: T.all(::RBI::Indexable, ::RBI::Node)).void }
546
+ def index_node(node); end
547
+
548
+ class << self
549
+ sig { params(node: ::RBI::Node).returns(::RBI::Index) }
550
+ def index(*node); end
551
+ end
552
+ end
553
+
554
+ module RBI::Indexable
555
+ interface!
556
+
557
+ sig { abstract.returns(T::Array[::String]) }
558
+ def index_ids; end
559
+ end
560
+
561
+ class RBI::KwArg < ::RBI::Arg
562
+ sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void }
563
+ def initialize(keyword, value, loc: T.unsafe(nil)); end
564
+
565
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
566
+ def ==(other); end
567
+
568
+ sig { override.params(v: ::RBI::Printer).void }
569
+ def accept_printer(v); end
570
+
571
+ sig { returns(::String) }
572
+ def keyword; end
573
+
574
+ sig { returns(::String) }
575
+ def to_s; end
576
+ end
577
+
578
+ class RBI::KwOptParam < ::RBI::Param
579
+ sig do
580
+ params(
581
+ name: ::String,
582
+ value: ::String,
583
+ loc: T.nilable(::RBI::Loc),
584
+ comments: T::Array[::RBI::Comment],
585
+ block: T.nilable(T.proc.params(node: ::RBI::KwOptParam).void)
586
+ ).void
587
+ end
588
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
589
+
590
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
591
+ def ==(other); end
592
+
593
+ sig { override.params(v: ::RBI::Printer).void }
594
+ def accept_printer(v); end
595
+
596
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
597
+ def print_comment_leading_space(v, last:); end
598
+
599
+ sig { override.returns(::String) }
600
+ def to_s; end
601
+
602
+ sig { returns(::String) }
603
+ def value; end
604
+ end
605
+
606
+ class RBI::KwParam < ::RBI::Param
607
+ sig do
608
+ params(
609
+ name: ::String,
610
+ loc: T.nilable(::RBI::Loc),
611
+ comments: T::Array[::RBI::Comment],
612
+ block: T.nilable(T.proc.params(node: ::RBI::KwParam).void)
613
+ ).void
614
+ end
615
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
616
+
617
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
618
+ def ==(other); end
619
+
620
+ sig { override.params(v: ::RBI::Printer).void }
621
+ def accept_printer(v); end
622
+
623
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
624
+ def print_comment_leading_space(v, last:); end
625
+
626
+ sig { override.returns(::String) }
627
+ def to_s; end
628
+ end
629
+
630
+ class RBI::KwRestParam < ::RBI::Param
631
+ sig do
632
+ params(
633
+ name: ::String,
634
+ loc: T.nilable(::RBI::Loc),
635
+ comments: T::Array[::RBI::Comment],
636
+ block: T.nilable(T.proc.params(node: ::RBI::KwRestParam).void)
637
+ ).void
638
+ end
639
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
640
+
641
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
642
+ def ==(other); end
643
+
644
+ sig { override.params(v: ::RBI::Printer).void }
645
+ def accept_printer(v); end
646
+
647
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
648
+ def print_comment_leading_space(v, last:); end
649
+
650
+ sig { override.returns(::String) }
651
+ def to_s; end
652
+ end
653
+
654
+ class RBI::Loc
655
+ sig do
656
+ params(
657
+ file: T.nilable(::String),
658
+ begin_line: T.nilable(::Integer),
659
+ end_line: T.nilable(::Integer),
660
+ begin_column: T.nilable(::Integer),
661
+ end_column: T.nilable(::Integer)
662
+ ).void
663
+ end
664
+ def initialize(file: T.unsafe(nil), begin_line: T.unsafe(nil), end_line: T.unsafe(nil), begin_column: T.unsafe(nil), end_column: T.unsafe(nil)); end
665
+
666
+ def begin_column; end
667
+
668
+ sig { returns(T.nilable(::Integer)) }
669
+ def begin_line; end
670
+
671
+ def end_column; end
672
+ def end_line; end
673
+
674
+ sig { returns(T.nilable(::String)) }
675
+ def file; end
676
+
677
+ sig { returns(T.nilable(::String)) }
678
+ def source; end
679
+
680
+ sig { returns(::String) }
681
+ def to_s; end
682
+
683
+ class << self
684
+ sig { params(file: ::String, ast_loc: T.any(::Parser::Source::Map, ::Parser::Source::Range)).returns(::RBI::Loc) }
685
+ def from_ast_loc(file, ast_loc); end
686
+ end
687
+ end
688
+
689
+ class RBI::MergeTree < ::RBI::Tree
690
+ sig do
691
+ params(
692
+ loc: T.nilable(::RBI::Loc),
693
+ comments: T::Array[::RBI::Comment],
694
+ conflicts: T::Array[::RBI::Rewriters::Merge::Conflict],
695
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
696
+ ).void
697
+ end
698
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end
699
+
700
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
701
+ def conflicts; end
702
+ end
703
+
704
+ class RBI::Method < ::RBI::NodeWithComments
705
+ include ::RBI::Indexable
706
+
707
+ sig do
708
+ params(
709
+ name: ::String,
710
+ params: T::Array[::RBI::Param],
711
+ is_singleton: T::Boolean,
712
+ visibility: ::RBI::Visibility,
713
+ sigs: T::Array[::RBI::Sig],
714
+ loc: T.nilable(::RBI::Loc),
715
+ comments: T::Array[::RBI::Comment],
716
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
717
+ ).void
718
+ end
719
+ def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
720
+
721
+ sig { params(param: ::RBI::Param).void }
722
+ def <<(param); end
723
+
724
+ sig { override.params(v: ::RBI::Printer).void }
725
+ def accept_printer(v); end
726
+
727
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
728
+ def compatible_with?(other); end
729
+
730
+ sig { returns(::String) }
731
+ def fully_qualified_name; end
732
+
733
+ sig { override.returns(T::Array[::String]) }
734
+ def index_ids; end
735
+
736
+ sig { returns(T::Boolean) }
737
+ def inline_params?; end
738
+
739
+ sig { returns(T::Boolean) }
740
+ def is_singleton; end
741
+
742
+ sig { params(is_singleton: T::Boolean).returns(T::Boolean) }
743
+ def is_singleton=(is_singleton); end
744
+
745
+ sig { override.params(other: ::RBI::Node).void }
746
+ def merge_with(other); end
747
+
748
+ sig { returns(::String) }
749
+ def name; end
750
+
751
+ sig { params(name: ::String).returns(::String) }
752
+ def name=(name); end
753
+
754
+ sig { override.returns(T::Boolean) }
755
+ def oneline?; end
756
+
757
+ sig { returns(T::Array[::RBI::Param]) }
758
+ def params; end
759
+
760
+ sig { returns(T::Array[::RBI::Sig]) }
761
+ def sigs; end
762
+
763
+ sig { params(sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Sig]) }
764
+ def sigs=(sigs); end
765
+
766
+ sig { override.returns(::String) }
767
+ def to_s; end
768
+
769
+ sig { returns(::RBI::Visibility) }
770
+ def visibility; end
771
+
772
+ sig { params(visibility: ::RBI::Visibility).returns(::RBI::Visibility) }
773
+ def visibility=(visibility); end
774
+ end
775
+
776
+ class RBI::MixesInClassMethods < ::RBI::Mixin
777
+ include ::RBI::Indexable
778
+
779
+ sig do
780
+ params(
781
+ name: ::String,
782
+ names: ::String,
783
+ loc: T.nilable(::RBI::Loc),
784
+ comments: T::Array[::RBI::Comment],
785
+ block: T.nilable(T.proc.params(node: ::RBI::MixesInClassMethods).void)
786
+ ).void
787
+ end
788
+ def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
789
+
790
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
791
+ def compatible_with?(other); end
792
+
793
+ sig { override.returns(T::Array[::String]) }
794
+ def index_ids; end
795
+
796
+ sig { override.returns(::String) }
797
+ def to_s; end
798
+ end
799
+
800
+ class RBI::Mixin < ::RBI::NodeWithComments
801
+ abstract!
802
+
803
+ sig do
804
+ params(
805
+ name: ::String,
806
+ names: T::Array[::String],
807
+ loc: T.nilable(::RBI::Loc),
808
+ comments: T::Array[::RBI::Comment]
809
+ ).void
810
+ end
811
+ def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
812
+
813
+ sig { override.params(v: ::RBI::Printer).void }
814
+ def accept_printer(v); end
815
+
816
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
817
+ def compatible_with?(other); end
818
+
819
+ sig { returns(T::Array[::String]) }
820
+ def names; end
821
+
822
+ sig { params(names: T::Array[::String]).returns(T::Array[::String]) }
823
+ def names=(names); end
824
+ end
825
+
826
+ class RBI::Module < ::RBI::Scope
827
+ sig do
828
+ params(
829
+ name: ::String,
830
+ loc: T.nilable(::RBI::Loc),
831
+ comments: T::Array[::RBI::Comment],
832
+ block: T.nilable(T.proc.params(node: ::RBI::Module).void)
833
+ ).void
834
+ end
835
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
836
+
837
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
838
+ def compatible_with?(other); end
839
+
840
+ sig { override.returns(::String) }
841
+ def fully_qualified_name; end
842
+
843
+ sig { returns(::String) }
844
+ def name; end
845
+
846
+ sig { params(name: ::String).returns(::String) }
847
+ def name=(name); end
848
+
849
+ sig { override.params(v: ::RBI::Printer).void }
850
+ def print_header(v); end
851
+ end
852
+
853
+ class RBI::Node
854
+ abstract!
855
+
856
+ sig { params(loc: T.nilable(::RBI::Loc)).void }
857
+ def initialize(loc: T.unsafe(nil)); end
858
+
859
+ sig { abstract.params(v: ::RBI::Printer).void }
860
+ def accept_printer(v); end
861
+
862
+ sig { params(_other: ::RBI::Node).returns(T::Boolean) }
863
+ def compatible_with?(_other); end
864
+
865
+ sig { void }
866
+ def detach; end
867
+
868
+ sig { returns(::RBI::Group::Kind) }
869
+ def group_kind; end
870
+
871
+ sig { returns(T.nilable(::RBI::Loc)) }
872
+ def loc; end
873
+
874
+ sig { params(loc: T.nilable(::RBI::Loc)).returns(T.nilable(::RBI::Loc)) }
875
+ def loc=(loc); end
876
+
877
+ sig { params(other: ::RBI::Node).void }
878
+ def merge_with(other); end
879
+
880
+ sig { returns(T::Boolean) }
881
+ def oneline?; end
882
+
883
+ sig { returns(T.nilable(::RBI::ConflictTree)) }
884
+ def parent_conflict_tree; end
885
+
886
+ sig { returns(T.nilable(::RBI::Scope)) }
887
+ def parent_scope; end
888
+
889
+ sig { returns(T.nilable(::RBI::Tree)) }
890
+ def parent_tree; end
891
+
892
+ sig { params(parent_tree: T.nilable(::RBI::Tree)).returns(T.nilable(::RBI::Tree)) }
893
+ def parent_tree=(parent_tree); end
894
+
895
+ sig do
896
+ params(
897
+ out: T.any(::IO, ::StringIO),
898
+ indent: ::Integer,
899
+ print_locs: T::Boolean,
900
+ max_line_length: T.nilable(::Integer)
901
+ ).void
902
+ end
903
+ def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
904
+
905
+ sig { params(v: ::RBI::Printer).void }
906
+ def print_blank_line_before(v); end
907
+
908
+ sig { params(node: ::RBI::Node).void }
909
+ def replace(node); end
910
+
911
+ sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) }
912
+ def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
913
+ end
914
+
915
+ class RBI::NodeWithComments < ::RBI::Node
916
+ abstract!
917
+
918
+ sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
919
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end
920
+
921
+ sig { returns(T::Array[::String]) }
922
+ def annotations; end
923
+
924
+ sig { returns(T::Array[::RBI::Comment]) }
925
+ def comments; end
926
+
927
+ sig { params(comments: T::Array[::RBI::Comment]).returns(T::Array[::RBI::Comment]) }
928
+ def comments=(comments); end
929
+
930
+ sig { override.params(other: ::RBI::Node).void }
931
+ def merge_with(other); end
932
+
933
+ sig { override.returns(T::Boolean) }
934
+ def oneline?; end
935
+ end
936
+
937
+ class RBI::OptParam < ::RBI::Param
938
+ sig do
939
+ params(
940
+ name: ::String,
941
+ value: ::String,
942
+ loc: T.nilable(::RBI::Loc),
943
+ comments: T::Array[::RBI::Comment],
944
+ block: T.nilable(T.proc.params(node: ::RBI::OptParam).void)
945
+ ).void
946
+ end
947
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
948
+
949
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
950
+ def ==(other); end
951
+
952
+ sig { override.params(v: ::RBI::Printer).void }
953
+ def accept_printer(v); end
954
+
955
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
956
+ def print_comment_leading_space(v, last:); end
957
+
958
+ sig { returns(::String) }
959
+ def value; end
960
+ end
961
+
962
+ class RBI::Param < ::RBI::NodeWithComments
963
+ abstract!
964
+
965
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
966
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
967
+
968
+ sig { override.params(v: ::RBI::Printer).void }
969
+ def accept_printer(v); end
970
+
971
+ sig { returns(T::Array[::String]) }
972
+ def comments_lines; end
973
+
974
+ sig { returns(::String) }
975
+ def name; end
976
+
977
+ sig { params(v: ::RBI::Printer, last: T::Boolean).void }
978
+ def print_comment_leading_space(v, last:); end
979
+
980
+ sig { override.returns(::String) }
981
+ def to_s; end
982
+ end
983
+
984
+ class RBI::ParseError < ::StandardError
985
+ sig { params(message: ::String, location: ::RBI::Loc).void }
986
+ def initialize(message, location); end
987
+
988
+ sig { returns(::RBI::Loc) }
989
+ def location; end
990
+ end
991
+
992
+ class RBI::Parser
993
+ sig { void }
994
+ def initialize; end
995
+
996
+ sig { params(path: ::String).returns(::RBI::Tree) }
997
+ def parse_file(path); end
998
+
999
+ sig { params(string: ::String).returns(::RBI::Tree) }
1000
+ def parse_string(string); end
1001
+
1002
+ private
1003
+
1004
+ sig { params(content: ::String, file: ::String).returns(::RBI::Tree) }
1005
+ def parse(content, file:); end
1006
+
1007
+ class << self
1008
+ sig { params(path: ::String).returns(::RBI::Tree) }
1009
+ def parse_file(path); end
1010
+
1011
+ sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1012
+ def parse_files(paths); end
1013
+
1014
+ sig { params(string: ::String).returns(::RBI::Tree) }
1015
+ def parse_string(string); end
1016
+
1017
+ sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
1018
+ def parse_strings(strings); end
1019
+ end
1020
+ end
1021
+
1022
+ class RBI::Printer < ::RBI::Visitor
1023
+ sig do
1024
+ params(
1025
+ out: T.any(::IO, ::StringIO),
1026
+ indent: ::Integer,
1027
+ print_locs: T::Boolean,
1028
+ max_line_length: T.nilable(::Integer)
1029
+ ).void
1030
+ end
1031
+ def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end
1032
+
1033
+ sig { returns(::Integer) }
1034
+ def current_indent; end
1035
+
1036
+ sig { void }
1037
+ def dedent; end
1038
+
1039
+ def in_visibility_group; end
1040
+ def in_visibility_group=(_arg0); end
1041
+
1042
+ sig { void }
1043
+ def indent; end
1044
+
1045
+ sig { returns(T.nilable(::Integer)) }
1046
+ def max_line_length; end
1047
+
1048
+ sig { returns(T.nilable(::RBI::Node)) }
1049
+ def previous_node; end
1050
+
1051
+ sig { params(string: ::String).void }
1052
+ def print(string); end
1053
+
1054
+ sig { returns(T::Boolean) }
1055
+ def print_locs; end
1056
+
1057
+ sig { params(print_locs: T::Boolean).returns(T::Boolean) }
1058
+ def print_locs=(print_locs); end
1059
+
1060
+ sig { params(string: ::String).void }
1061
+ def printl(string); end
1062
+
1063
+ sig { params(string: T.nilable(::String)).void }
1064
+ def printn(string = T.unsafe(nil)); end
1065
+
1066
+ sig { params(string: T.nilable(::String)).void }
1067
+ def printt(string = T.unsafe(nil)); end
1068
+
1069
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1070
+ def visit(node); end
1071
+
1072
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1073
+ def visit_all(nodes); end
1074
+
1075
+ sig { params(file: ::RBI::File).void }
1076
+ def visit_file(file); end
1077
+ end
1078
+
1079
+ class RBI::Private < ::RBI::Visibility
1080
+ sig do
1081
+ params(
1082
+ loc: T.nilable(::RBI::Loc),
1083
+ comments: T::Array[::RBI::Comment],
1084
+ block: T.nilable(T.proc.params(node: ::RBI::Private).void)
1085
+ ).void
1086
+ end
1087
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1088
+ end
1089
+
1090
+ class RBI::Protected < ::RBI::Visibility
1091
+ sig do
1092
+ params(
1093
+ loc: T.nilable(::RBI::Loc),
1094
+ comments: T::Array[::RBI::Comment],
1095
+ block: T.nilable(T.proc.params(node: ::RBI::Protected).void)
1096
+ ).void
1097
+ end
1098
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1099
+ end
1100
+
1101
+ class RBI::Public < ::RBI::Visibility
1102
+ sig do
1103
+ params(
1104
+ loc: T.nilable(::RBI::Loc),
1105
+ comments: T::Array[::RBI::Comment],
1106
+ block: T.nilable(T.proc.params(node: ::RBI::Public).void)
1107
+ ).void
1108
+ end
1109
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1110
+ end
1111
+
1112
+ class RBI::ReqParam < ::RBI::Param
1113
+ sig do
1114
+ params(
1115
+ name: ::String,
1116
+ loc: T.nilable(::RBI::Loc),
1117
+ comments: T::Array[::RBI::Comment],
1118
+ block: T.nilable(T.proc.params(node: ::RBI::ReqParam).void)
1119
+ ).void
1120
+ end
1121
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1122
+
1123
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1124
+ def ==(other); end
1125
+ end
1126
+
1127
+ class RBI::RequiresAncestor < ::RBI::NodeWithComments
1128
+ include ::RBI::Indexable
1129
+
1130
+ sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
1131
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1132
+
1133
+ sig { override.params(v: ::RBI::Printer).void }
1134
+ def accept_printer(v); end
1135
+
1136
+ sig { override.returns(T::Array[::String]) }
1137
+ def index_ids; end
1138
+
1139
+ sig { returns(::String) }
1140
+ def name; end
1141
+
1142
+ sig { override.returns(::String) }
1143
+ def to_s; end
1144
+ end
1145
+
1146
+ class RBI::RestParam < ::RBI::Param
1147
+ sig do
1148
+ params(
1149
+ name: ::String,
1150
+ loc: T.nilable(::RBI::Loc),
1151
+ comments: T::Array[::RBI::Comment],
1152
+ block: T.nilable(T.proc.params(node: ::RBI::RestParam).void)
1153
+ ).void
1154
+ end
1155
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1156
+
1157
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1158
+ def ==(other); end
1159
+
1160
+ sig { override.params(v: ::RBI::Printer).void }
1161
+ def accept_printer(v); end
1162
+
1163
+ sig { override.params(v: ::RBI::Printer, last: T::Boolean).void }
1164
+ def print_comment_leading_space(v, last:); end
1165
+
1166
+ sig { override.returns(::String) }
1167
+ def to_s; end
1168
+ end
1169
+
1170
+ module RBI::Rewriters; end
1171
+
1172
+ class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor
1173
+ sig { params(with_todo_comment: T::Boolean).void }
1174
+ def initialize(with_todo_comment: T.unsafe(nil)); end
1175
+
1176
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1177
+ def visit(node); end
1178
+
1179
+ private
1180
+
1181
+ sig { params(attr: ::RBI::Attr).void }
1182
+ def add_attr_sig(attr); end
1183
+
1184
+ sig { params(method: ::RBI::Method).void }
1185
+ def add_method_sig(method); end
1186
+
1187
+ sig { params(node: ::RBI::NodeWithComments).void }
1188
+ def add_todo_comment(node); end
1189
+ end
1190
+
1191
+ class RBI::Rewriters::Annotate < ::RBI::Visitor
1192
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
1193
+ def initialize(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
1194
+
1195
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1196
+ def visit(node); end
1197
+
1198
+ private
1199
+
1200
+ sig { params(node: ::RBI::NodeWithComments).void }
1201
+ def annotate_node(node); end
1202
+
1203
+ sig { params(node: ::RBI::Node).returns(T::Boolean) }
1204
+ def root?(node); end
1205
+ end
1206
+
1207
+ class RBI::Rewriters::Deannotate < ::RBI::Visitor
1208
+ sig { params(annotation: ::String).void }
1209
+ def initialize(annotation); end
1210
+
1211
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1212
+ def visit(node); end
1213
+
1214
+ private
1215
+
1216
+ sig { params(node: ::RBI::NodeWithComments).void }
1217
+ def deannotate_node(node); end
1218
+ end
1219
+
1220
+ class RBI::Rewriters::GroupNodes < ::RBI::Visitor
1221
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1222
+ def visit(node); end
1223
+ end
1224
+
1225
+ class RBI::Rewriters::Merge
1226
+ sig { params(left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void }
1227
+ def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1228
+
1229
+ sig { params(tree: ::RBI::Tree).void }
1230
+ def merge(tree); end
1231
+
1232
+ sig { returns(::RBI::MergeTree) }
1233
+ def tree; end
1234
+
1235
+ class << self
1236
+ sig do
1237
+ params(
1238
+ left: ::RBI::Tree,
1239
+ right: ::RBI::Tree,
1240
+ left_name: ::String,
1241
+ right_name: ::String,
1242
+ keep: ::RBI::Rewriters::Merge::Keep
1243
+ ).returns(::RBI::MergeTree)
1244
+ end
1245
+ def merge_trees(left, right, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1246
+ end
1247
+ end
1248
+
1249
+ class RBI::Rewriters::Merge::Conflict < ::T::Struct
1250
+ const :left, ::RBI::Node
1251
+ const :right, ::RBI::Node
1252
+ const :left_name, ::String
1253
+ const :right_name, ::String
1254
+
1255
+ sig { returns(::String) }
1256
+ def to_s; end
1257
+
1258
+ class << self
1259
+ def inherited(s); end
1260
+ end
1261
+ end
1262
+
1263
+ class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor
1264
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1265
+ def visit(node); end
1266
+
1267
+ sig { override.params(nodes: T::Array[::RBI::Node]).void }
1268
+ def visit_all(nodes); end
1269
+
1270
+ private
1271
+
1272
+ sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void }
1273
+ def merge_conflict_trees(left, right); end
1274
+ end
1275
+
1276
+ class RBI::Rewriters::Merge::Keep < ::T::Enum
1277
+ enums do
1278
+ NONE = new
1279
+ LEFT = new
1280
+ RIGHT = new
1281
+ end
1282
+ end
1283
+
1284
+ class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor
1285
+ sig do
1286
+ params(
1287
+ output: ::RBI::Tree,
1288
+ left_name: ::String,
1289
+ right_name: ::String,
1290
+ keep: ::RBI::Rewriters::Merge::Keep
1291
+ ).void
1292
+ end
1293
+ def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1294
+
1295
+ sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) }
1296
+ def conflicts; end
1297
+
1298
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1299
+ def visit(node); end
1300
+
1301
+ private
1302
+
1303
+ sig { returns(::RBI::Tree) }
1304
+ def current_scope; end
1305
+
1306
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void }
1307
+ def make_conflict_scope(left, right); end
1308
+
1309
+ sig { params(left: ::RBI::Node, right: ::RBI::Node).void }
1310
+ def make_conflict_tree(left, right); end
1311
+
1312
+ sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) }
1313
+ def previous_definition(node); end
1314
+
1315
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) }
1316
+ def replace_scope_header(left, right); end
1317
+ end
1318
+
1319
+ class RBI::Rewriters::NestNonPublicMethods < ::RBI::Visitor
1320
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1321
+ def visit(node); end
1322
+ end
1323
+
1324
+ class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor
1325
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1326
+ def visit(node); end
1327
+ end
1328
+
1329
+ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor
1330
+ sig { params(index: ::RBI::Index).void }
1331
+ def initialize(index); end
1332
+
1333
+ sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) }
1334
+ def operations; end
1335
+
1336
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1337
+ def visit(node); end
1338
+
1339
+ sig { params(nodes: T::Array[::RBI::Node]).void }
1340
+ def visit_all(nodes); end
1341
+
1342
+ private
1343
+
1344
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) }
1345
+ def can_delete_node?(node, previous); end
1346
+
1347
+ sig { params(node: ::RBI::Node, previous: ::RBI::Node).void }
1348
+ def delete_node(node, previous); end
1349
+
1350
+ sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) }
1351
+ def previous_definition_for(node); end
1352
+
1353
+ class << self
1354
+ sig do
1355
+ params(
1356
+ tree: ::RBI::Tree,
1357
+ index: ::RBI::Index
1358
+ ).returns([::RBI::Tree, T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]])
1359
+ end
1360
+ def remove(tree, index); end
1361
+ end
1362
+ end
1363
+
1364
+ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
1365
+ const :deleted_node, ::RBI::Node
1366
+ const :duplicate_of, ::RBI::Node
1367
+
1368
+ sig { returns(::String) }
1369
+ def to_s; end
1370
+
1371
+ class << self
1372
+ def inherited(s); end
1373
+ end
1374
+ end
1375
+
1376
+ class RBI::Rewriters::SortNodes < ::RBI::Visitor
1377
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
1378
+ def visit(node); end
1379
+
1380
+ private
1381
+
1382
+ sig { params(kind: ::RBI::Group::Kind).returns(::Integer) }
1383
+ def group_rank(kind); end
1384
+
1385
+ sig { params(node: ::RBI::Node).returns(T.nilable(::String)) }
1386
+ def node_name(node); end
1387
+
1388
+ sig { params(node: ::RBI::Node).returns(::Integer) }
1389
+ def node_rank(node); end
1390
+
1391
+ sig { params(node: ::RBI::Node).void }
1392
+ def sort_node_names!(node); end
1393
+ end
1394
+
1395
+ class RBI::Scope < ::RBI::Tree
1396
+ include ::RBI::Indexable
1397
+
1398
+ abstract!
1399
+
1400
+ def initialize(*args, **_arg1, &blk); end
1401
+
1402
+ sig { override.params(v: ::RBI::Printer).void }
1403
+ def accept_printer(v); end
1404
+
1405
+ sig { returns(T.self_type) }
1406
+ def dup_empty; end
1407
+
1408
+ sig { abstract.returns(::String) }
1409
+ def fully_qualified_name; end
1410
+
1411
+ sig { override.returns(T::Array[::String]) }
1412
+ def index_ids; end
1413
+
1414
+ sig { params(v: ::RBI::Printer).void }
1415
+ def print_body(v); end
1416
+
1417
+ sig { abstract.params(v: ::RBI::Printer).void }
1418
+ def print_header(v); end
1419
+
1420
+ sig { override.returns(::String) }
1421
+ def to_s; end
1422
+ end
1423
+
1424
+ class RBI::ScopeConflict < ::RBI::Tree
1425
+ sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void }
1426
+ def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end
1427
+
1428
+ sig { override.params(v: ::RBI::Printer).void }
1429
+ def accept_printer(v); end
1430
+
1431
+ sig { returns(::RBI::Scope) }
1432
+ def left; end
1433
+
1434
+ sig { override.returns(T::Boolean) }
1435
+ def oneline?; end
1436
+
1437
+ def right; end
1438
+ end
1439
+
1440
+ class RBI::Send < ::RBI::NodeWithComments
1441
+ include ::RBI::Indexable
1442
+
1443
+ sig do
1444
+ params(
1445
+ method: ::String,
1446
+ args: T::Array[::RBI::Arg],
1447
+ loc: T.nilable(::RBI::Loc),
1448
+ comments: T::Array[::RBI::Comment],
1449
+ block: T.nilable(T.proc.params(node: ::RBI::Send).void)
1450
+ ).void
1451
+ end
1452
+ def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1453
+
1454
+ sig { params(arg: ::RBI::Arg).void }
1455
+ def <<(arg); end
1456
+
1457
+ sig { params(other: T.nilable(::Object)).returns(T::Boolean) }
1458
+ def ==(other); end
1459
+
1460
+ sig { override.params(v: ::RBI::Printer).void }
1461
+ def accept_printer(v); end
1462
+
1463
+ sig { returns(T::Array[::RBI::Arg]) }
1464
+ def args; end
1465
+
1466
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1467
+ def compatible_with?(other); end
1468
+
1469
+ sig { override.returns(T::Array[::String]) }
1470
+ def index_ids; end
1471
+
1472
+ sig { returns(::String) }
1473
+ def method; end
1474
+
1475
+ sig { returns(::String) }
1476
+ def to_s; end
1477
+ end
1478
+
1479
+ class RBI::Sig < ::RBI::Node
1480
+ sig do
1481
+ params(
1482
+ params: T::Array[::RBI::SigParam],
1483
+ return_type: T.nilable(::String),
1484
+ is_abstract: T::Boolean,
1485
+ is_override: T::Boolean,
1486
+ is_overridable: T::Boolean,
1487
+ is_final: T::Boolean,
1488
+ type_params: T::Array[::String],
1489
+ checked: T.nilable(::Symbol),
1490
+ loc: T.nilable(::RBI::Loc),
1491
+ block: T.nilable(T.proc.params(node: ::RBI::Sig).void)
1492
+ ).void
1493
+ end
1494
+ def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), &block); end
1495
+
1496
+ sig { params(param: ::RBI::SigParam).void }
1497
+ def <<(param); end
1498
+
1499
+ sig { params(other: ::Object).returns(T::Boolean) }
1500
+ def ==(other); end
1501
+
1502
+ sig { override.params(v: ::RBI::Printer).void }
1503
+ def accept_printer(v); end
1504
+
1505
+ sig { returns(T.nilable(::Symbol)) }
1506
+ def checked; end
1507
+
1508
+ sig { params(checked: T.nilable(::Symbol)).returns(T.nilable(::Symbol)) }
1509
+ def checked=(checked); end
1510
+
1511
+ sig { returns(T::Boolean) }
1512
+ def inline_params?; end
1513
+
1514
+ sig { returns(T::Boolean) }
1515
+ def is_abstract; end
1516
+
1517
+ sig { params(is_abstract: T::Boolean).returns(T::Boolean) }
1518
+ def is_abstract=(is_abstract); end
1519
+
1520
+ def is_final; end
1521
+ def is_final=(_arg0); end
1522
+ def is_overridable; end
1523
+ def is_overridable=(_arg0); end
1524
+ def is_override; end
1525
+ def is_override=(_arg0); end
1526
+
1527
+ sig { override.returns(T::Boolean) }
1528
+ def oneline?; end
1529
+
1530
+ sig { returns(T::Array[::RBI::SigParam]) }
1531
+ def params; end
1532
+
1533
+ sig { returns(T.nilable(::String)) }
1534
+ def return_type; end
1535
+
1536
+ sig { params(return_type: T.nilable(::String)).returns(T.nilable(::String)) }
1537
+ def return_type=(return_type); end
1538
+
1539
+ sig { returns(T::Array[::String]) }
1540
+ def type_params; end
1541
+
1542
+ private
1543
+
1544
+ sig { params(v: ::RBI::Printer).void }
1545
+ def print_as_block(v); end
1546
+
1547
+ sig { params(v: ::RBI::Printer).void }
1548
+ def print_as_line(v); end
1549
+
1550
+ sig { returns(T::Array[::String]) }
1551
+ def sig_modifiers; end
1552
+ end
1553
+
1554
+ class RBI::SigBuilder < ::RBI::ASTVisitor
1555
+ sig { void }
1556
+ def initialize; end
1557
+
1558
+ sig { returns(::RBI::Sig) }
1559
+ def current; end
1560
+
1561
+ sig { params(current: ::RBI::Sig).returns(::RBI::Sig) }
1562
+ def current=(current); end
1563
+
1564
+ sig { override.params(node: T.nilable(::AST::Node)).void }
1565
+ def visit(node); end
1566
+
1567
+ sig { params(node: ::AST::Node).void }
1568
+ def visit_send(node); end
1569
+
1570
+ class << self
1571
+ sig { params(node: ::AST::Node).returns(::RBI::Sig) }
1572
+ def build(node); end
1573
+ end
1574
+ end
1575
+
1576
+ class RBI::SigParam < ::RBI::NodeWithComments
1577
+ sig do
1578
+ params(
1579
+ name: ::String,
1580
+ type: ::String,
1581
+ loc: T.nilable(::RBI::Loc),
1582
+ comments: T::Array[::RBI::Comment],
1583
+ block: T.nilable(T.proc.params(node: ::RBI::SigParam).void)
1584
+ ).void
1585
+ end
1586
+ def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1587
+
1588
+ sig { params(other: ::Object).returns(T::Boolean) }
1589
+ def ==(other); end
1590
+
1591
+ sig { override.params(v: ::RBI::Printer).void }
1592
+ def accept_printer(v); end
1593
+
1594
+ sig { returns(T::Array[::String]) }
1595
+ def comments_lines; end
1596
+
1597
+ sig { returns(::String) }
1598
+ def name; end
1599
+
1600
+ sig { params(v: ::RBI::Printer, last: T::Boolean).void }
1601
+ def print_comment_leading_space(v, last:); end
1602
+
1603
+ def type; end
1604
+ end
1605
+
1606
+ class RBI::SingletonClass < ::RBI::Scope
1607
+ sig do
1608
+ params(
1609
+ loc: T.nilable(::RBI::Loc),
1610
+ comments: T::Array[::RBI::Comment],
1611
+ block: T.nilable(T.proc.params(node: ::RBI::SingletonClass).void)
1612
+ ).void
1613
+ end
1614
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1615
+
1616
+ sig { override.returns(::String) }
1617
+ def fully_qualified_name; end
1618
+
1619
+ sig { override.params(v: ::RBI::Printer).void }
1620
+ def print_header(v); end
1621
+ end
1622
+
1623
+ class RBI::Struct < ::RBI::Scope
1624
+ sig do
1625
+ params(
1626
+ name: ::String,
1627
+ members: T::Array[::Symbol],
1628
+ keyword_init: T::Boolean,
1629
+ loc: T.nilable(::RBI::Loc),
1630
+ comments: T::Array[::RBI::Comment],
1631
+ block: T.nilable(T.proc.params(struct: ::RBI::Struct).void)
1632
+ ).void
1633
+ end
1634
+ def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1635
+
1636
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1637
+ def compatible_with?(other); end
1638
+
1639
+ sig { override.returns(::String) }
1640
+ def fully_qualified_name; end
1641
+
1642
+ sig { returns(T::Boolean) }
1643
+ def keyword_init; end
1644
+
1645
+ sig { params(keyword_init: T::Boolean).returns(T::Boolean) }
1646
+ def keyword_init=(keyword_init); end
1647
+
1648
+ sig { returns(T::Array[::Symbol]) }
1649
+ def members; end
1650
+
1651
+ sig { params(members: T::Array[::Symbol]).returns(T::Array[::Symbol]) }
1652
+ def members=(members); end
1653
+
1654
+ sig { returns(::String) }
1655
+ def name; end
1656
+
1657
+ sig { params(name: ::String).returns(::String) }
1658
+ def name=(name); end
1659
+
1660
+ sig { override.params(v: ::RBI::Printer).void }
1661
+ def print_header(v); end
1662
+ end
1663
+
1664
+ class RBI::TEnum < ::RBI::Class
1665
+ sig do
1666
+ params(
1667
+ name: ::String,
1668
+ loc: T.nilable(::RBI::Loc),
1669
+ comments: T::Array[::RBI::Comment],
1670
+ block: T.nilable(T.proc.params(klass: ::RBI::TEnum).void)
1671
+ ).void
1672
+ end
1673
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1674
+ end
1675
+
1676
+ class RBI::TEnumBlock < ::RBI::NodeWithComments
1677
+ include ::RBI::Indexable
1678
+
1679
+ sig do
1680
+ params(
1681
+ names: T::Array[::String],
1682
+ loc: T.nilable(::RBI::Loc),
1683
+ comments: T::Array[::RBI::Comment],
1684
+ block: T.nilable(T.proc.params(node: ::RBI::TEnumBlock).void)
1685
+ ).void
1686
+ end
1687
+ def initialize(names = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1688
+
1689
+ sig { params(name: ::String).void }
1690
+ def <<(name); end
1691
+
1692
+ sig { override.params(v: ::RBI::Printer).void }
1693
+ def accept_printer(v); end
1694
+
1695
+ sig { returns(T::Boolean) }
1696
+ def empty?; end
1697
+
1698
+ sig { override.returns(T::Array[::String]) }
1699
+ def index_ids; end
1700
+
1701
+ sig { override.params(other: ::RBI::Node).void }
1702
+ def merge_with(other); end
1703
+
1704
+ sig { returns(T::Array[::String]) }
1705
+ def names; end
1706
+
1707
+ sig { override.returns(::String) }
1708
+ def to_s; end
1709
+ end
1710
+
1711
+ class RBI::TStruct < ::RBI::Class
1712
+ sig do
1713
+ params(
1714
+ name: ::String,
1715
+ loc: T.nilable(::RBI::Loc),
1716
+ comments: T::Array[::RBI::Comment],
1717
+ block: T.nilable(T.proc.params(klass: ::RBI::TStruct).void)
1718
+ ).void
1719
+ end
1720
+ def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1721
+ end
1722
+
1723
+ class RBI::TStructConst < ::RBI::TStructField
1724
+ include ::RBI::Indexable
1725
+
1726
+ sig do
1727
+ params(
1728
+ name: ::String,
1729
+ type: ::String,
1730
+ default: T.nilable(::String),
1731
+ loc: T.nilable(::RBI::Loc),
1732
+ comments: T::Array[::RBI::Comment],
1733
+ block: T.nilable(T.proc.params(node: ::RBI::TStructConst).void)
1734
+ ).void
1735
+ end
1736
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1737
+
1738
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1739
+ def compatible_with?(other); end
1740
+
1741
+ sig { override.returns(T::Array[::String]) }
1742
+ def fully_qualified_names; end
1743
+
1744
+ sig { override.returns(T::Array[::String]) }
1745
+ def index_ids; end
1746
+
1747
+ sig { override.returns(::String) }
1748
+ def to_s; end
1749
+ end
1750
+
1751
+ class RBI::TStructField < ::RBI::NodeWithComments
1752
+ abstract!
1753
+
1754
+ sig do
1755
+ params(
1756
+ name: ::String,
1757
+ type: ::String,
1758
+ default: T.nilable(::String),
1759
+ loc: T.nilable(::RBI::Loc),
1760
+ comments: T::Array[::RBI::Comment]
1761
+ ).void
1762
+ end
1763
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end
1764
+
1765
+ sig { override.params(v: ::RBI::Printer).void }
1766
+ def accept_printer(v); end
1767
+
1768
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1769
+ def compatible_with?(other); end
1770
+
1771
+ sig { returns(T.nilable(::String)) }
1772
+ def default; end
1773
+
1774
+ sig { params(default: T.nilable(::String)).returns(T.nilable(::String)) }
1775
+ def default=(default); end
1776
+
1777
+ sig { abstract.returns(T::Array[::String]) }
1778
+ def fully_qualified_names; end
1779
+
1780
+ sig { returns(::String) }
1781
+ def name; end
1782
+
1783
+ sig { params(name: ::String).returns(::String) }
1784
+ def name=(name); end
1785
+
1786
+ def type; end
1787
+ def type=(_arg0); end
1788
+ end
1789
+
1790
+ class RBI::TStructProp < ::RBI::TStructField
1791
+ include ::RBI::Indexable
1792
+
1793
+ sig do
1794
+ params(
1795
+ name: ::String,
1796
+ type: ::String,
1797
+ default: T.nilable(::String),
1798
+ loc: T.nilable(::RBI::Loc),
1799
+ comments: T::Array[::RBI::Comment],
1800
+ block: T.nilable(T.proc.params(node: ::RBI::TStructProp).void)
1801
+ ).void
1802
+ end
1803
+ def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1804
+
1805
+ sig { override.params(other: ::RBI::Node).returns(T::Boolean) }
1806
+ def compatible_with?(other); end
1807
+
1808
+ sig { override.returns(T::Array[::String]) }
1809
+ def fully_qualified_names; end
1810
+
1811
+ sig { override.returns(T::Array[::String]) }
1812
+ def index_ids; end
1813
+
1814
+ sig { override.returns(::String) }
1815
+ def to_s; end
1816
+ end
1817
+
1818
+ class RBI::Tree < ::RBI::NodeWithComments
1819
+ sig do
1820
+ params(
1821
+ loc: T.nilable(::RBI::Loc),
1822
+ comments: T::Array[::RBI::Comment],
1823
+ block: T.nilable(T.proc.params(node: ::RBI::Tree).void)
1824
+ ).void
1825
+ end
1826
+ def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
1827
+
1828
+ sig { params(node: ::RBI::Node).void }
1829
+ def <<(node); end
1830
+
1831
+ sig { override.params(v: ::RBI::Printer).void }
1832
+ def accept_printer(v); end
1833
+
1834
+ sig { params(with_todo_comment: T::Boolean).void }
1835
+ def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
1836
+
1837
+ sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
1838
+ def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
1839
+
1840
+ sig do
1841
+ params(
1842
+ name: ::String,
1843
+ superclass_name: T.nilable(::String),
1844
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
1845
+ ).returns(::RBI::Scope)
1846
+ end
1847
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
1848
+
1849
+ sig { params(name: ::String, value: ::String).void }
1850
+ def create_constant(name, value:); end
1851
+
1852
+ sig { params(name: ::String).void }
1853
+ def create_extend(name); end
1854
+
1855
+ sig { params(name: ::String).void }
1856
+ def create_include(name); end
1857
+
1858
+ sig do
1859
+ params(
1860
+ name: ::String,
1861
+ parameters: T::Array[::RBI::TypedParam],
1862
+ return_type: ::String,
1863
+ class_method: T::Boolean,
1864
+ visibility: ::RBI::Visibility
1865
+ ).void
1866
+ end
1867
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil)); end
1868
+
1869
+ sig { params(name: ::String).void }
1870
+ def create_mixes_in_class_methods(name); end
1871
+
1872
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
1873
+ def create_module(name, &block); end
1874
+
1875
+ sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).void }
1876
+ def create_path(constant, &block); end
1877
+
1878
+ sig do
1879
+ params(
1880
+ name: ::String,
1881
+ type: ::String,
1882
+ variance: ::Symbol,
1883
+ fixed: T.nilable(::String),
1884
+ upper: T.nilable(::String),
1885
+ lower: T.nilable(::String)
1886
+ ).void
1887
+ end
1888
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
1889
+
1890
+ sig { params(annotation: ::String).void }
1891
+ def deannotate!(annotation); end
1892
+
1893
+ sig { returns(T::Boolean) }
1894
+ def empty?; end
1895
+
1896
+ sig { void }
1897
+ def group_nodes!; end
1898
+
1899
+ sig { returns(::RBI::Index) }
1900
+ def index; end
1901
+
1902
+ sig do
1903
+ params(
1904
+ other: ::RBI::Tree,
1905
+ left_name: ::String,
1906
+ right_name: ::String,
1907
+ keep: ::RBI::Rewriters::Merge::Keep
1908
+ ).returns(::RBI::MergeTree)
1909
+ end
1910
+ def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
1911
+
1912
+ sig { void }
1913
+ def nest_non_public_methods!; end
1914
+
1915
+ sig { void }
1916
+ def nest_singleton_methods!; end
1917
+
1918
+ sig { returns(T::Array[::RBI::Node]) }
1919
+ def nodes; end
1920
+
1921
+ sig { override.returns(T::Boolean) }
1922
+ def oneline?; end
1923
+
1924
+ sig { void }
1925
+ def sort_nodes!; end
1926
+
1927
+ private
1928
+
1929
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
1930
+ def create_node(node); end
1931
+
1932
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
1933
+ def nodes_cache; end
1934
+
1935
+ sig { params(name: ::String).returns(T::Boolean) }
1936
+ def valid_method_name?(name); end
1937
+ end
1938
+
1939
+ RBI::Tree::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array)
1940
+
1941
+ class RBI::TreeBuilder < ::RBI::ASTVisitor
1942
+ sig do
1943
+ params(
1944
+ file: ::String,
1945
+ comments: T::Array[::Parser::Source::Comment],
1946
+ nodes_comments_assoc: T::Hash[::Parser::Source::Map, T::Array[::Parser::Source::Comment]]
1947
+ ).void
1948
+ end
1949
+ def initialize(file:, comments: T.unsafe(nil), nodes_comments_assoc: T.unsafe(nil)); end
1950
+
1951
+ sig { returns(T.nilable(::AST::Node)) }
1952
+ def last_node; end
1953
+
1954
+ sig { void }
1955
+ def post_process; end
1956
+
1957
+ sig { returns(::RBI::Tree) }
1958
+ def tree; end
1959
+
1960
+ sig { override.params(node: T.nilable(::Object)).void }
1961
+ def visit(node); end
1962
+
1963
+ private
1964
+
1965
+ sig { void }
1966
+ def assoc_dangling_comments; end
1967
+
1968
+ sig { returns(::RBI::Tree) }
1969
+ def current_scope; end
1970
+
1971
+ sig { returns(T::Array[::RBI::Sig]) }
1972
+ def current_sigs; end
1973
+
1974
+ sig { returns(T::Array[::RBI::Comment]) }
1975
+ def current_sigs_comments; end
1976
+
1977
+ sig { params(node: ::AST::Node).returns(T::Array[::RBI::Comment]) }
1978
+ def node_comments(node); end
1979
+
1980
+ sig { params(node: ::AST::Node).returns(::RBI::Loc) }
1981
+ def node_loc(node); end
1982
+
1983
+ sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
1984
+ def parse_block(node); end
1985
+
1986
+ sig { params(node: ::AST::Node).returns(::RBI::Node) }
1987
+ def parse_const_assign(node); end
1988
+
1989
+ sig { params(node: ::AST::Node).returns(::RBI::Method) }
1990
+ def parse_def(node); end
1991
+
1992
+ sig { params(node: ::AST::Node).returns(::RBI::TEnumBlock) }
1993
+ def parse_enum(node); end
1994
+
1995
+ sig { params(node: ::AST::Node).returns(::RBI::Param) }
1996
+ def parse_param(node); end
1997
+
1998
+ sig { params(node: ::AST::Node).returns(::RBI::RequiresAncestor) }
1999
+ def parse_requires_ancestor(node); end
2000
+
2001
+ sig { params(node: ::AST::Node).returns(::RBI::Scope) }
2002
+ def parse_scope(node); end
2003
+
2004
+ sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
2005
+ def parse_send(node); end
2006
+
2007
+ sig { params(node: ::AST::Node).returns(T::Array[::RBI::Arg]) }
2008
+ def parse_send_args(node); end
2009
+
2010
+ sig { params(node: ::AST::Node).returns(::RBI::Sig) }
2011
+ def parse_sig(node); end
2012
+
2013
+ sig { params(node: ::AST::Node).returns(::RBI::Struct) }
2014
+ def parse_struct(node); end
2015
+
2016
+ sig { params(node: ::AST::Node).returns([::String, ::String, T.nilable(::String)]) }
2017
+ def parse_tstruct_prop(node); end
2018
+
2019
+ sig { void }
2020
+ def separate_header_comments; end
2021
+
2022
+ sig { void }
2023
+ def set_root_tree_loc; end
2024
+
2025
+ sig { params(node: ::AST::Node).returns(T::Boolean) }
2026
+ def struct_definition?(node); end
2027
+ end
2028
+
2029
+ class RBI::TypeMember < ::RBI::NodeWithComments
2030
+ sig do
2031
+ params(
2032
+ name: ::String,
2033
+ value: ::String,
2034
+ loc: T.nilable(::RBI::Loc),
2035
+ comments: T::Array[::RBI::Comment],
2036
+ block: T.nilable(T.proc.params(node: ::RBI::TypeMember).void)
2037
+ ).void
2038
+ end
2039
+ def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
2040
+
2041
+ sig { override.params(v: ::RBI::Printer).void }
2042
+ def accept_printer(v); end
2043
+
2044
+ sig { returns(::String) }
2045
+ def fully_qualified_name; end
2046
+
2047
+ sig { returns(::String) }
2048
+ def name; end
2049
+
2050
+ sig { override.returns(::String) }
2051
+ def to_s; end
2052
+
2053
+ def value; end
2054
+ end
2055
+
2056
+ class RBI::UnexpectedParserError < ::StandardError
2057
+ sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void }
2058
+ def initialize(parent_exception, last_location); end
2059
+
2060
+ sig { returns(::RBI::Loc) }
2061
+ def last_location; end
2062
+
2063
+ sig { params(io: T.any(::IO, ::StringIO)).void }
2064
+ def print_debug(io: T.unsafe(nil)); end
2065
+ end
2066
+
2067
+ RBI::VERSION = T.let(T.unsafe(nil), String)
2068
+
2069
+ class RBI::Visibility < ::RBI::NodeWithComments
2070
+ abstract!
2071
+
2072
+ sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void }
2073
+ def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end
2074
+
2075
+ sig { params(other: ::RBI::Visibility).returns(T::Boolean) }
2076
+ def ==(other); end
2077
+
2078
+ sig { override.params(v: ::RBI::Printer).void }
2079
+ def accept_printer(v); end
2080
+
2081
+ sig { returns(T::Boolean) }
2082
+ def private?; end
2083
+
2084
+ sig { returns(T::Boolean) }
2085
+ def protected?; end
2086
+
2087
+ sig { returns(T::Boolean) }
2088
+ def public?; end
2089
+
2090
+ sig { returns(::Symbol) }
2091
+ def visibility; end
2092
+ end
2093
+
2094
+ class RBI::VisibilityGroup < ::RBI::Tree
2095
+ sig { params(visibility: ::RBI::Visibility).void }
2096
+ def initialize(visibility); end
2097
+
2098
+ sig { override.params(v: ::RBI::Printer).void }
2099
+ def accept_printer(v); end
2100
+
2101
+ sig { override.returns(T::Boolean) }
2102
+ def oneline?; end
2103
+
2104
+ sig { returns(::RBI::Visibility) }
2105
+ def visibility; end
2106
+ end
2107
+
2108
+ class RBI::Visitor
2109
+ abstract!
2110
+
2111
+ def initialize(*args, **_arg1, &blk); end
2112
+
2113
+ sig { abstract.params(node: T.nilable(::RBI::Node)).void }
2114
+ def visit(node); end
2115
+
2116
+ sig { params(nodes: T::Array[::RBI::Node]).void }
2117
+ def visit_all(nodes); end
2118
+ end