alchemrest 3.1.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 (245) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.rubocop_todo.yml +242 -0
  5. data/.ruby-version +1 -0
  6. data/Appraisals +19 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +378 -0
  9. data/Rakefile +29 -0
  10. data/alchemrest.gemspec +71 -0
  11. data/coach.yml +5 -0
  12. data/examples/bank_api/client.rb +31 -0
  13. data/examples/bank_api/data/account.rb +21 -0
  14. data/examples/bank_api/data/ach.rb +16 -0
  15. data/examples/bank_api/data/business_account.rb +22 -0
  16. data/examples/bank_api/data/card.rb +21 -0
  17. data/examples/bank_api/data/check.rb +19 -0
  18. data/examples/bank_api/data/product.rb +20 -0
  19. data/examples/bank_api/data/transaction.rb +49 -0
  20. data/examples/bank_api/data/user.rb +27 -0
  21. data/examples/bank_api/factories.rb +68 -0
  22. data/examples/bank_api/graph_visualization.rb +45 -0
  23. data/examples/bank_api/positive_interest_string.rb +33 -0
  24. data/examples/bank_api/requests/delete_user.rb +17 -0
  25. data/examples/bank_api/requests/get_business_account.rb +24 -0
  26. data/examples/bank_api/requests/get_products.rb +12 -0
  27. data/examples/bank_api/requests/get_transactions.rb +34 -0
  28. data/examples/bank_api/requests/get_user.rb +19 -0
  29. data/examples/bank_api/requests/post_transaction.rb +20 -0
  30. data/examples/bank_api/requests/update_user.rb +28 -0
  31. data/examples/bank_api/root.rb +52 -0
  32. data/examples/bank_api.rb +33 -0
  33. data/gemfiles/faraday_2.gemfile +9 -0
  34. data/gemfiles/faraday_2.gemfile.lock +363 -0
  35. data/gemfiles/rails_7_0.gemfile.lock +341 -0
  36. data/gemfiles/rails_7_2.gemfile +9 -0
  37. data/gemfiles/rails_7_2.gemfile.lock +384 -0
  38. data/gemfiles/rails_8_0.gemfile +9 -0
  39. data/gemfiles/rails_8_0.gemfile.lock +385 -0
  40. data/lib/alchemrest/circuit_breaker.rb +84 -0
  41. data/lib/alchemrest/client/configuration/connection.rb +83 -0
  42. data/lib/alchemrest/client/configuration.rb +89 -0
  43. data/lib/alchemrest/client.rb +48 -0
  44. data/lib/alchemrest/cop.rb +8 -0
  45. data/lib/alchemrest/data/capture_configuration.rb +77 -0
  46. data/lib/alchemrest/data/field.rb +36 -0
  47. data/lib/alchemrest/data/graph.rb +40 -0
  48. data/lib/alchemrest/data/record.rb +60 -0
  49. data/lib/alchemrest/data/schema.rb +80 -0
  50. data/lib/alchemrest/data.rb +9 -0
  51. data/lib/alchemrest/endpoint_definition.rb +47 -0
  52. data/lib/alchemrest/error.rb +122 -0
  53. data/lib/alchemrest/factory_bot.rb +64 -0
  54. data/lib/alchemrest/faraday_middleware/external_api_instrumentation.rb +24 -0
  55. data/lib/alchemrest/faraday_middleware/json_parser.rb +30 -0
  56. data/lib/alchemrest/faraday_middleware/kill_switch.rb +22 -0
  57. data/lib/alchemrest/faraday_middleware/underscore_response.rb +24 -0
  58. data/lib/alchemrest/hash_path.rb +81 -0
  59. data/lib/alchemrest/http_request.rb +75 -0
  60. data/lib/alchemrest/kill_switch/adapters.rb +88 -0
  61. data/lib/alchemrest/kill_switch.rb +31 -0
  62. data/lib/alchemrest/railtie.rb +25 -0
  63. data/lib/alchemrest/request/endpoint.rb +29 -0
  64. data/lib/alchemrest/request/returns.rb +46 -0
  65. data/lib/alchemrest/request.rb +80 -0
  66. data/lib/alchemrest/request_definition/builder.rb +13 -0
  67. data/lib/alchemrest/request_definition.rb +26 -0
  68. data/lib/alchemrest/response/pipeline/extract_payload.rb +64 -0
  69. data/lib/alchemrest/response/pipeline/final.rb +11 -0
  70. data/lib/alchemrest/response/pipeline/omit.rb +46 -0
  71. data/lib/alchemrest/response/pipeline/sanitize.rb +59 -0
  72. data/lib/alchemrest/response/pipeline/transform.rb +26 -0
  73. data/lib/alchemrest/response/pipeline/was_successful.rb +29 -0
  74. data/lib/alchemrest/response/pipeline.rb +71 -0
  75. data/lib/alchemrest/response.rb +73 -0
  76. data/lib/alchemrest/response_captured_handler.rb +68 -0
  77. data/lib/alchemrest/result/halt.rb +15 -0
  78. data/lib/alchemrest/result/try_helpers.rb +16 -0
  79. data/lib/alchemrest/result.rb +128 -0
  80. data/lib/alchemrest/root.rb +77 -0
  81. data/lib/alchemrest/transforms/base_to_type_transform_registry.rb +42 -0
  82. data/lib/alchemrest/transforms/constrainable.rb +41 -0
  83. data/lib/alchemrest/transforms/constraint/block.rb +22 -0
  84. data/lib/alchemrest/transforms/constraint/greater_than.rb +19 -0
  85. data/lib/alchemrest/transforms/constraint/greater_than_or_eq.rb +19 -0
  86. data/lib/alchemrest/transforms/constraint/in_list.rb +19 -0
  87. data/lib/alchemrest/transforms/constraint/is_instance_of.rb +19 -0
  88. data/lib/alchemrest/transforms/constraint/is_uuid.rb +19 -0
  89. data/lib/alchemrest/transforms/constraint/less_than.rb +19 -0
  90. data/lib/alchemrest/transforms/constraint/less_than_or_eq.rb +19 -0
  91. data/lib/alchemrest/transforms/constraint/matches_regex.rb +19 -0
  92. data/lib/alchemrest/transforms/constraint/max_length.rb +19 -0
  93. data/lib/alchemrest/transforms/constraint/min_length.rb +19 -0
  94. data/lib/alchemrest/transforms/constraint.rb +17 -0
  95. data/lib/alchemrest/transforms/constraint_builder/for_number.rb +25 -0
  96. data/lib/alchemrest/transforms/constraint_builder/for_string.rb +21 -0
  97. data/lib/alchemrest/transforms/constraint_builder.rb +15 -0
  98. data/lib/alchemrest/transforms/date_transform.rb +30 -0
  99. data/lib/alchemrest/transforms/enum.rb +52 -0
  100. data/lib/alchemrest/transforms/epoch_time.rb +32 -0
  101. data/lib/alchemrest/transforms/from_chain.rb +15 -0
  102. data/lib/alchemrest/transforms/from_number/to_type_transform_registry.rb +18 -0
  103. data/lib/alchemrest/transforms/from_number.rb +47 -0
  104. data/lib/alchemrest/transforms/from_string/to_type_transform_registry.rb +17 -0
  105. data/lib/alchemrest/transforms/from_string.rb +36 -0
  106. data/lib/alchemrest/transforms/from_type/empty_to_type_transform_registry.rb +14 -0
  107. data/lib/alchemrest/transforms/from_type.rb +64 -0
  108. data/lib/alchemrest/transforms/iso_time.rb +58 -0
  109. data/lib/alchemrest/transforms/json_number.rb +26 -0
  110. data/lib/alchemrest/transforms/loose_hash.rb +96 -0
  111. data/lib/alchemrest/transforms/money_transform.rb +42 -0
  112. data/lib/alchemrest/transforms/number.rb +27 -0
  113. data/lib/alchemrest/transforms/output_type.rb +65 -0
  114. data/lib/alchemrest/transforms/to_decimal.rb +22 -0
  115. data/lib/alchemrest/transforms/to_type/from_string_to_time_selector.rb +29 -0
  116. data/lib/alchemrest/transforms/to_type/transforms_selector.rb +61 -0
  117. data/lib/alchemrest/transforms/to_type.rb +86 -0
  118. data/lib/alchemrest/transforms/typed.rb +32 -0
  119. data/lib/alchemrest/transforms/union.rb +44 -0
  120. data/lib/alchemrest/transforms/with_constraint.rb +26 -0
  121. data/lib/alchemrest/transforms.rb +93 -0
  122. data/lib/alchemrest/url_builder/encoders.rb +39 -0
  123. data/lib/alchemrest/url_builder/options.rb +33 -0
  124. data/lib/alchemrest/url_builder.rb +31 -0
  125. data/lib/alchemrest/version.rb +5 -0
  126. data/lib/alchemrest/webmock_helpers.rb +27 -0
  127. data/lib/alchemrest.rb +159 -0
  128. data/lib/generators/alchemrest/kill_switch_migration_generator.rb +27 -0
  129. data/lib/generators/alchemrest/templates/kill_switch_migration.rb.erb +17 -0
  130. data/lib/rubocop/cop/alchemrest/define_request_using_with_params.rb +53 -0
  131. data/lib/rubocop/cop/alchemrest/endpoint_definition_using_generic_params.rb +55 -0
  132. data/lib/rubocop/cop/alchemrest/request_hash_returning_block.rb +54 -0
  133. data/lib/rubocop/cop/alchemrest/time_transform_with_no_zone.rb +56 -0
  134. data/lib/tapioca/dsl/compilers/alchemrest_data.rb +84 -0
  135. data/lib/tapioca/dsl/compilers/alchemrest_root.rb +68 -0
  136. data/mutant.yml +16 -0
  137. data/rbi/alchemrest/result.rbi +80 -0
  138. data/rbi/alchemrest.rbi +246 -0
  139. data/sorbet/config +5 -0
  140. data/sorbet/rbi/gems/.gitattributes +1 -0
  141. data/sorbet/rbi/gems/abstract_type@0.0.7.rbi +41 -0
  142. data/sorbet/rbi/gems/actionpack@8.0.4.rbi +11733 -0
  143. data/sorbet/rbi/gems/actionview@8.0.4.rbi +6560 -0
  144. data/sorbet/rbi/gems/activemodel@8.0.4.rbi +2891 -0
  145. data/sorbet/rbi/gems/activesupport@8.0.4.rbi +9621 -0
  146. data/sorbet/rbi/gems/adamantium@0.2.0.rbi +144 -0
  147. data/sorbet/rbi/gems/addressable@2.8.7.rbi +779 -0
  148. data/sorbet/rbi/gems/anima@0.3.2.rbi +103 -0
  149. data/sorbet/rbi/gems/ast@2.4.2.rbi +107 -0
  150. data/sorbet/rbi/gems/base64@0.3.0.rbi +52 -0
  151. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +153 -0
  152. data/sorbet/rbi/gems/bigdecimal@3.3.1.rbi +77 -0
  153. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  154. data/sorbet/rbi/gems/circuitbox@2.0.0.rbi +297 -0
  155. data/sorbet/rbi/gems/concord@0.1.6.rbi +51 -0
  156. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +4716 -0
  157. data/sorbet/rbi/gems/connection_pool@2.5.4.rbi +9 -0
  158. data/sorbet/rbi/gems/crack@1.0.0.rbi +110 -0
  159. data/sorbet/rbi/gems/crass@1.0.6.rbi +294 -0
  160. data/sorbet/rbi/gems/date@3.4.1.rbi +58 -0
  161. data/sorbet/rbi/gems/drb@2.2.3.rbi +639 -0
  162. data/sorbet/rbi/gems/equalizer@0.0.11.rbi +38 -0
  163. data/sorbet/rbi/gems/erubi@1.13.1.rbi +85 -0
  164. data/sorbet/rbi/gems/factory_bot@6.5.0.rbi +1529 -0
  165. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +181 -0
  166. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.1.rbi +120 -0
  167. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +128 -0
  168. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +123 -0
  169. data/sorbet/rbi/gems/faraday-multipart@1.2.0.rbi +190 -0
  170. data/sorbet/rbi/gems/faraday-net_http@1.0.2.rbi +140 -0
  171. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +116 -0
  172. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +119 -0
  173. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +113 -0
  174. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +149 -0
  175. data/sorbet/rbi/gems/faraday@1.10.5.rbi +1620 -0
  176. data/sorbet/rbi/gems/hansi@0.2.1.rbi +9 -0
  177. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +174 -0
  178. data/sorbet/rbi/gems/i18n@1.14.7.rbi +1328 -0
  179. data/sorbet/rbi/gems/ice_nine@0.11.2.rbi +145 -0
  180. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  181. data/sorbet/rbi/gems/json@2.9.1.rbi +282 -0
  182. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +8057 -0
  183. data/sorbet/rbi/gems/logger@1.7.0.rbi +260 -0
  184. data/sorbet/rbi/gems/loofah@2.24.0.rbi +571 -0
  185. data/sorbet/rbi/gems/memoizable@0.4.2.rbi +131 -0
  186. data/sorbet/rbi/gems/memosa@0.8.2.rbi +185 -0
  187. data/sorbet/rbi/gems/minitest@5.26.0.rbi +824 -0
  188. data/sorbet/rbi/gems/money@6.19.0.rbi +815 -0
  189. data/sorbet/rbi/gems/morpher@0.4.2.rbi +388 -0
  190. data/sorbet/rbi/gems/mprelude@0.1.0.rbi +140 -0
  191. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +180 -0
  192. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +154 -0
  193. data/sorbet/rbi/gems/mustermann-contrib@3.0.3.rbi +9 -0
  194. data/sorbet/rbi/gems/mustermann@3.0.3.rbi +809 -0
  195. data/sorbet/rbi/gems/netrc@0.11.0.rbi +112 -0
  196. data/sorbet/rbi/gems/nokogiri@1.19.1.rbi +3412 -0
  197. data/sorbet/rbi/gems/parallel@1.26.3.rbi +234 -0
  198. data/sorbet/rbi/gems/parser@3.3.7.0.rbi +4877 -0
  199. data/sorbet/rbi/gems/pp@0.6.2.rbi +176 -0
  200. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +155 -0
  201. data/sorbet/rbi/gems/prism@1.5.1.rbi +26368 -0
  202. data/sorbet/rbi/gems/procto@0.0.3.rbi +9 -0
  203. data/sorbet/rbi/gems/psych@5.2.3.rbi +806 -0
  204. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +267 -0
  205. data/sorbet/rbi/gems/racc@1.8.1.rbi +120 -0
  206. data/sorbet/rbi/gems/rack-session@2.1.1.rbi +458 -0
  207. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +405 -0
  208. data/sorbet/rbi/gems/rack@3.1.14.rbi +2774 -0
  209. data/sorbet/rbi/gems/rackup@2.2.1.rbi +132 -0
  210. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +266 -0
  211. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +545 -0
  212. data/sorbet/rbi/gems/railties@8.0.4.rbi +2150 -0
  213. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +333 -0
  214. data/sorbet/rbi/gems/rake@13.2.1.rbi +2054 -0
  215. data/sorbet/rbi/gems/rbi@0.2.3.rbi +3961 -0
  216. data/sorbet/rbi/gems/rdoc@6.13.1.rbi +6784 -0
  217. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3020 -0
  218. data/sorbet/rbi/gems/reline@0.6.0.rbi +9 -0
  219. data/sorbet/rbi/gems/rexml@3.4.2.rbi +1777 -0
  220. data/sorbet/rbi/gems/rubocop-ast@1.38.0.rbi +5293 -0
  221. data/sorbet/rbi/gems/rubocop@1.71.1.rbi +31846 -0
  222. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +980 -0
  223. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  224. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +33 -0
  225. data/sorbet/rbi/gems/sentry-ruby@5.22.1.rbi +3782 -0
  226. data/sorbet/rbi/gems/spoom@1.5.1.rbi +4321 -0
  227. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  228. data/sorbet/rbi/gems/tapioca@0.16.8.rbi +3399 -0
  229. data/sorbet/rbi/gems/thor@1.3.2.rbi +2012 -0
  230. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +711 -0
  231. data/sorbet/rbi/gems/timeout@0.4.4.rbi +80 -0
  232. data/sorbet/rbi/gems/tsort@0.2.0.rbi +50 -0
  233. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +1677 -0
  234. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +62 -0
  235. data/sorbet/rbi/gems/uri@1.1.0.rbi +760 -0
  236. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  237. data/sorbet/rbi/gems/webmock@3.24.0.rbi +1362 -0
  238. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +345 -0
  239. data/sorbet/rbi/gems/yard@0.9.37.rbi +8795 -0
  240. data/sorbet/rbi/gems/zeitwerk@2.7.1.rbi +589 -0
  241. data/sorbet/tapioca/config.yml +45 -0
  242. data/sorbet/tapioca/require.rb +8 -0
  243. data/sorbet/tapioca/sorbet/rbi/dsl/.gitattributes +1 -0
  244. data/sorbet/tapioca/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  245. metadata +737 -0
@@ -0,0 +1,4321 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `spoom` gem.
5
+ # Please instead update this file by running `bin/tapioca gem spoom`.
6
+
7
+
8
+ # source://spoom//lib/spoom.rb#7
9
+ module Spoom
10
+ class << self
11
+ # source://spoom//lib/spoom/parse.rb#13
12
+ sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) }
13
+ def parse_ruby(ruby, file:); end
14
+ end
15
+ end
16
+
17
+ # source://spoom//lib/spoom/cli/helper.rb#9
18
+ module Spoom::Cli; end
19
+
20
+ # source://spoom//lib/spoom/cli/deadcode.rb#8
21
+ class Spoom::Cli::Deadcode < ::Thor
22
+ include ::Spoom::Colorize
23
+ include ::Spoom::Cli::Helper
24
+
25
+ # source://spoom//lib/spoom/cli/deadcode.rb#52
26
+ sig { params(paths: ::String).void }
27
+ def deadcode(*paths); end
28
+
29
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
30
+
31
+ # source://spoom//lib/spoom/cli/deadcode.rb#154
32
+ def remove(location_string); end
33
+ end
34
+
35
+ # source://spoom//lib/spoom/cli/helper.rb#10
36
+ module Spoom::Cli::Helper
37
+ include ::Spoom::Colorize
38
+
39
+ requires_ancestor { Thor }
40
+
41
+ # source://spoom//lib/spoom/cli/helper.rb#139
42
+ sig { params(string: ::String).returns(::String) }
43
+ def blue(string); end
44
+
45
+ # source://spoom//lib/spoom/cli/helper.rb#103
46
+ sig { returns(T::Boolean) }
47
+ def color?; end
48
+
49
+ # source://spoom//lib/spoom/cli/helper.rb#132
50
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
51
+ def colorize(string, *color); end
52
+
53
+ # source://spoom//lib/spoom/cli/helper.rb#71
54
+ sig { returns(::Spoom::Context) }
55
+ def context; end
56
+
57
+ # source://spoom//lib/spoom/cli/helper.rb#77
58
+ sig { returns(::Spoom::Context) }
59
+ def context_requiring_sorbet!; end
60
+
61
+ # source://spoom//lib/spoom/cli/helper.rb#144
62
+ sig { params(string: ::String).returns(::String) }
63
+ def cyan(string); end
64
+
65
+ # source://spoom//lib/spoom/cli/helper.rb#92
66
+ sig { returns(::String) }
67
+ def exec_path; end
68
+
69
+ # source://spoom//lib/spoom/cli/helper.rb#149
70
+ sig { params(string: ::String).returns(::String) }
71
+ def gray(string); end
72
+
73
+ # source://spoom//lib/spoom/cli/helper.rb#154
74
+ sig { params(string: ::String).returns(::String) }
75
+ def green(string); end
76
+
77
+ # source://spoom//lib/spoom/cli/helper.rb#108
78
+ sig { params(string: ::String).returns(::String) }
79
+ def highlight(string); end
80
+
81
+ # source://spoom//lib/spoom/cli/helper.rb#159
82
+ sig { params(string: ::String).returns(::String) }
83
+ def red(string); end
84
+
85
+ # source://spoom//lib/spoom/cli/helper.rb#20
86
+ sig { params(message: ::String).void }
87
+ def say(message); end
88
+
89
+ # source://spoom//lib/spoom/cli/helper.rb#39
90
+ sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
91
+ def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
92
+
93
+ # source://spoom//lib/spoom/cli/helper.rb#59
94
+ sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
95
+ def say_warning(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
96
+
97
+ # source://spoom//lib/spoom/cli/helper.rb#164
98
+ sig { params(string: ::String).returns(::String) }
99
+ def yellow(string); end
100
+ end
101
+
102
+ # source://spoom//lib/spoom/cli.rb#12
103
+ class Spoom::Cli::Main < ::Thor
104
+ include ::Spoom::Colorize
105
+ include ::Spoom::Cli::Helper
106
+
107
+ # source://spoom//lib/spoom/cli.rb#101
108
+ def __print_version; end
109
+
110
+ # source://spoom//lib/spoom/cli.rb#58
111
+ sig { params(directory: ::String).void }
112
+ def bump(directory = T.unsafe(nil)); end
113
+
114
+ # source://spoom//lib/spoom/cli.rb#65
115
+ def coverage(*args); end
116
+
117
+ # source://thor/1.3.2/lib/thor.rb#334
118
+ def deadcode(*args); end
119
+
120
+ # source://spoom//lib/spoom/cli.rb#75
121
+ def lsp(*args); end
122
+
123
+ # source://thor/1.3.2/lib/thor.rb#334
124
+ def srb(*args); end
125
+
126
+ # source://spoom//lib/spoom/cli.rb#94
127
+ def tc(*paths_to_select); end
128
+
129
+ class << self
130
+ # source://spoom//lib/spoom/cli.rb#108
131
+ def exit_on_failure?; end
132
+ end
133
+ end
134
+
135
+ # source://spoom//lib/spoom/cli.rb#81
136
+ Spoom::Cli::Main::SORT_CODE = T.let(T.unsafe(nil), String)
137
+
138
+ # source://spoom//lib/spoom/cli.rb#83
139
+ Spoom::Cli::Main::SORT_ENUM = T.let(T.unsafe(nil), Array)
140
+
141
+ # source://spoom//lib/spoom/cli.rb#82
142
+ Spoom::Cli::Main::SORT_LOC = T.let(T.unsafe(nil), String)
143
+
144
+ # source://spoom//lib/spoom/cli/srb/bump.rb#9
145
+ module Spoom::Cli::Srb; end
146
+
147
+ # source://spoom//lib/spoom/cli/srb/bump.rb#10
148
+ class Spoom::Cli::Srb::Bump < ::Thor
149
+ include ::Spoom::Colorize
150
+ include ::Spoom::Cli::Helper
151
+
152
+ # source://spoom//lib/spoom/cli/srb/bump.rb#50
153
+ sig { params(directory: ::String).void }
154
+ def bump(directory = T.unsafe(nil)); end
155
+
156
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
157
+
158
+ # source://spoom//lib/spoom/cli/srb/bump.rb#171
159
+ def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
160
+
161
+ # source://spoom//lib/spoom/cli/srb/bump.rb#193
162
+ def undo_changes(files, from_strictness); end
163
+ end
164
+
165
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#10
166
+ class Spoom::Cli::Srb::Coverage < ::Thor
167
+ include ::Spoom::Colorize
168
+ include ::Spoom::Cli::Helper
169
+
170
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#199
171
+ def bundle_install(path, sha); end
172
+
173
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
174
+
175
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#211
176
+ def message_no_data(file); end
177
+
178
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#174
179
+ def open(file = T.unsafe(nil)); end
180
+
181
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#190
182
+ def parse_time(string, option); end
183
+
184
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#143
185
+ def report; end
186
+
187
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#21
188
+ def snapshot; end
189
+
190
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#43
191
+ def timeline; end
192
+ end
193
+
194
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#13
195
+ Spoom::Cli::Srb::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
196
+
197
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#11
198
+ class Spoom::Cli::Srb::LSP < ::Thor
199
+ include ::Spoom::Colorize
200
+ include ::Spoom::Cli::Helper
201
+
202
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#45
203
+ def defs(file, line, col); end
204
+
205
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#55
206
+ def find(query); end
207
+
208
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
209
+
210
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#31
211
+ def hover(file, line, col); end
212
+
213
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#16
214
+ def list; end
215
+
216
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#104
217
+ def lsp_client; end
218
+
219
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#75
220
+ def refs(file, line, col); end
221
+
222
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#127
223
+ def run(&block); end
224
+
225
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#85
226
+ def sigs(file, line, col); end
227
+
228
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#119
229
+ def symbol_printer; end
230
+
231
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#65
232
+ def symbols(file); end
233
+
234
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#152
235
+ def to_uri(path); end
236
+
237
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#95
238
+ def types(file, line, col); end
239
+ end
240
+
241
+ # source://spoom//lib/spoom/cli/srb.rb#13
242
+ class Spoom::Cli::Srb::Main < ::Thor
243
+ # source://thor/1.3.2/lib/thor.rb#334
244
+ def bump(*args); end
245
+
246
+ # source://thor/1.3.2/lib/thor.rb#334
247
+ def coverage(*args); end
248
+
249
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
250
+
251
+ # source://thor/1.3.2/lib/thor.rb#334
252
+ def lsp(*args); end
253
+
254
+ # source://thor/1.3.2/lib/thor.rb#334
255
+ def sigs(*args); end
256
+
257
+ # source://thor/1.3.2/lib/thor.rb#334
258
+ def tc(*args); end
259
+ end
260
+
261
+ # source://spoom//lib/spoom/cli/srb/sigs.rb#9
262
+ class Spoom::Cli::Srb::Sigs < ::Thor
263
+ include ::Spoom::Colorize
264
+ include ::Spoom::Cli::Helper
265
+
266
+ # source://spoom//lib/spoom/cli/srb/sigs.rb#45
267
+ def collect_files(paths); end
268
+
269
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
270
+
271
+ # source://spoom//lib/spoom/cli/srb/sigs.rb#32
272
+ def strip(*paths); end
273
+
274
+ # source://spoom//lib/spoom/cli/srb/sigs.rb#64
275
+ def transform_files(files, &block); end
276
+
277
+ # source://spoom//lib/spoom/cli/srb/sigs.rb#16
278
+ def translate(*paths); end
279
+ end
280
+
281
+ # source://spoom//lib/spoom/cli/srb/tc.rb#7
282
+ class Spoom::Cli::Srb::Tc < ::Thor
283
+ include ::Spoom::Colorize
284
+ include ::Spoom::Cli::Helper
285
+
286
+ # source://spoom//lib/spoom/cli/srb/tc.rb#132
287
+ def colorize_message(message); end
288
+
289
+ # source://spoom//lib/spoom/cli/srb/tc.rb#123
290
+ def format_error(error, format); end
291
+
292
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
293
+
294
+ # source://spoom//lib/spoom/cli/srb/tc.rb#27
295
+ def tc(*paths_to_select); end
296
+ end
297
+
298
+ # source://spoom//lib/spoom/cli/srb/tc.rb#16
299
+ Spoom::Cli::Srb::Tc::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
300
+
301
+ # source://spoom//lib/spoom/cli/srb/tc.rb#12
302
+ Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String)
303
+
304
+ # source://spoom//lib/spoom/cli/srb/tc.rb#14
305
+ Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array)
306
+
307
+ # source://spoom//lib/spoom/cli/srb/tc.rb#13
308
+ Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String)
309
+
310
+ # source://spoom//lib/spoom/colors.rb#5
311
+ class Spoom::Color < ::T::Enum
312
+ enums do
313
+ BLACK = new
314
+ BLUE = new
315
+ BOLD = new
316
+ CLEAR = new
317
+ CYAN = new
318
+ GREEN = new
319
+ LIGHT_BLACK = new
320
+ LIGHT_BLUE = new
321
+ LIGHT_CYAN = new
322
+ LIGHT_GREEN = new
323
+ LIGHT_MAGENTA = new
324
+ LIGHT_RED = new
325
+ LIGHT_WHITE = new
326
+ LIGHT_YELLOW = new
327
+ MAGENTA = new
328
+ RED = new
329
+ WHITE = new
330
+ YELLOW = new
331
+ end
332
+
333
+ # source://spoom//lib/spoom/colors.rb#32
334
+ sig { returns(::String) }
335
+ def ansi_code; end
336
+ end
337
+
338
+ # source://spoom//lib/spoom/colors.rb#37
339
+ module Spoom::Colorize
340
+ # source://spoom//lib/spoom/colors.rb#41
341
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
342
+ def set_color(string, *color); end
343
+ end
344
+
345
+ # source://spoom//lib/spoom/context/bundle.rb#5
346
+ class Spoom::Context
347
+ include ::Spoom::Context::Bundle
348
+ include ::Spoom::Context::Exec
349
+ include ::Spoom::Context::FileSystem
350
+ include ::Spoom::Context::Git
351
+ include ::Spoom::Context::Sorbet
352
+
353
+ # source://spoom//lib/spoom/context.rb#51
354
+ sig { params(absolute_path: ::String).void }
355
+ def initialize(absolute_path); end
356
+
357
+ # source://spoom//lib/spoom/context.rb#44
358
+ sig { returns(::String) }
359
+ def absolute_path; end
360
+
361
+ class << self
362
+ # source://spoom//lib/spoom/context.rb#37
363
+ sig { params(name: T.nilable(::String)).returns(T.attached_class) }
364
+ def mktmp!(name = T.unsafe(nil)); end
365
+ end
366
+ end
367
+
368
+ # source://spoom//lib/spoom/context/bundle.rb#7
369
+ module Spoom::Context::Bundle
370
+ requires_ancestor { Spoom::Context }
371
+
372
+ # source://spoom//lib/spoom/context/bundle.rb#33
373
+ sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
374
+ def bundle(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
375
+
376
+ # source://spoom//lib/spoom/context/bundle.rb#46
377
+ sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
378
+ def bundle_exec(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
379
+
380
+ # source://spoom//lib/spoom/context/bundle.rb#40
381
+ sig { params(version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
382
+ def bundle_install!(version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
383
+
384
+ # source://spoom//lib/spoom/context/bundle.rb#62
385
+ sig { params(gem: ::String).returns(T.nilable(::Gem::Version)) }
386
+ def gem_version_from_gemfile_lock(gem); end
387
+
388
+ # source://spoom//lib/spoom/context/bundle.rb#51
389
+ sig { returns(T::Hash[::String, ::Bundler::LazySpecification]) }
390
+ def gemfile_lock_specs; end
391
+
392
+ # source://spoom//lib/spoom/context/bundle.rb#15
393
+ sig { returns(T.nilable(::String)) }
394
+ def read_gemfile; end
395
+
396
+ # source://spoom//lib/spoom/context/bundle.rb#21
397
+ sig { returns(T.nilable(::String)) }
398
+ def read_gemfile_lock; end
399
+
400
+ # source://spoom//lib/spoom/context/bundle.rb#27
401
+ sig { params(contents: ::String, append: T::Boolean).void }
402
+ def write_gemfile!(contents, append: T.unsafe(nil)); end
403
+ end
404
+
405
+ # source://spoom//lib/spoom/context/exec.rb#27
406
+ module Spoom::Context::Exec
407
+ requires_ancestor { Spoom::Context }
408
+
409
+ # source://spoom//lib/spoom/context/exec.rb#35
410
+ sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) }
411
+ def exec(command, capture_err: T.unsafe(nil)); end
412
+ end
413
+
414
+ # source://spoom//lib/spoom/context/file_system.rb#7
415
+ module Spoom::Context::FileSystem
416
+ requires_ancestor { Spoom::Context }
417
+
418
+ # source://spoom//lib/spoom/context/file_system.rb#15
419
+ sig { params(relative_path: ::String).returns(::String) }
420
+ def absolute_path_to(relative_path); end
421
+
422
+ # source://spoom//lib/spoom/context/file_system.rb#53
423
+ sig do
424
+ params(
425
+ allow_extensions: T::Array[::String],
426
+ allow_mime_types: T::Array[::String],
427
+ exclude_patterns: T::Array[::String]
428
+ ).returns(T::Array[::String])
429
+ end
430
+ def collect_files(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
431
+
432
+ # source://spoom//lib/spoom/context/file_system.rb#105
433
+ sig { void }
434
+ def destroy!; end
435
+
436
+ # source://spoom//lib/spoom/context/file_system.rb#21
437
+ sig { returns(T::Boolean) }
438
+ def exist?; end
439
+
440
+ # source://spoom//lib/spoom/context/file_system.rb#65
441
+ sig { params(relative_path: ::String).returns(T::Boolean) }
442
+ def file?(relative_path); end
443
+
444
+ # source://spoom//lib/spoom/context/file_system.rb#34
445
+ sig { params(pattern: ::String).returns(T::Array[::String]) }
446
+ def glob(pattern = T.unsafe(nil)); end
447
+
448
+ # source://spoom//lib/spoom/context/file_system.rb#42
449
+ sig { returns(T::Array[::String]) }
450
+ def list; end
451
+
452
+ # source://spoom//lib/spoom/context/file_system.rb#27
453
+ sig { void }
454
+ def mkdir!; end
455
+
456
+ # source://spoom//lib/spoom/context/file_system.rb#95
457
+ sig { params(from_relative_path: ::String, to_relative_path: ::String).void }
458
+ def move!(from_relative_path, to_relative_path); end
459
+
460
+ # source://spoom//lib/spoom/context/file_system.rb#73
461
+ sig { params(relative_path: ::String).returns(::String) }
462
+ def read(relative_path); end
463
+
464
+ # source://spoom//lib/spoom/context/file_system.rb#89
465
+ sig { params(relative_path: ::String).void }
466
+ def remove!(relative_path); end
467
+
468
+ # source://spoom//lib/spoom/context/file_system.rb#81
469
+ sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void }
470
+ def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil)); end
471
+ end
472
+
473
+ # source://spoom//lib/spoom/context/git.rb#35
474
+ module Spoom::Context::Git
475
+ requires_ancestor { Spoom::Context }
476
+
477
+ # source://spoom//lib/spoom/context/git.rb#43
478
+ sig { params(command: ::String).returns(::Spoom::ExecResult) }
479
+ def git(command); end
480
+
481
+ # source://spoom//lib/spoom/context/git.rb#62
482
+ sig { params(ref: ::String).returns(::Spoom::ExecResult) }
483
+ def git_checkout!(ref: T.unsafe(nil)); end
484
+
485
+ # source://spoom//lib/spoom/context/git.rb#68
486
+ sig { params(branch_name: ::String, ref: T.nilable(::String)).returns(::Spoom::ExecResult) }
487
+ def git_checkout_new_branch!(branch_name, ref: T.unsafe(nil)); end
488
+
489
+ # source://spoom//lib/spoom/context/git.rb#78
490
+ sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).returns(::Spoom::ExecResult) }
491
+ def git_commit!(message: T.unsafe(nil), time: T.unsafe(nil), allow_empty: T.unsafe(nil)); end
492
+
493
+ # source://spoom//lib/spoom/context/git.rb#89
494
+ sig { returns(T.nilable(::String)) }
495
+ def git_current_branch; end
496
+
497
+ # source://spoom//lib/spoom/context/git.rb#98
498
+ sig { params(arg: ::String).returns(::Spoom::ExecResult) }
499
+ def git_diff(*arg); end
500
+
501
+ # source://spoom//lib/spoom/context/git.rb#52
502
+ sig { params(branch: T.nilable(::String)).returns(::Spoom::ExecResult) }
503
+ def git_init!(branch: T.unsafe(nil)); end
504
+
505
+ # source://spoom//lib/spoom/context/git.rb#104
506
+ sig { params(short_sha: T::Boolean).returns(T.nilable(::Spoom::Git::Commit)) }
507
+ def git_last_commit(short_sha: T.unsafe(nil)); end
508
+
509
+ # source://spoom//lib/spoom/context/git.rb#115
510
+ sig { params(arg: ::String).returns(::Spoom::ExecResult) }
511
+ def git_log(*arg); end
512
+
513
+ # source://spoom//lib/spoom/context/git.rb#121
514
+ sig { params(remote: ::String, ref: ::String, force: T::Boolean).returns(::Spoom::ExecResult) }
515
+ def git_push!(remote, ref, force: T.unsafe(nil)); end
516
+
517
+ # source://spoom//lib/spoom/context/git.rb#126
518
+ sig { params(arg: ::String).returns(::Spoom::ExecResult) }
519
+ def git_show(*arg); end
520
+
521
+ # source://spoom//lib/spoom/context/git.rb#132
522
+ sig { params(path: ::String).returns(T::Boolean) }
523
+ def git_workdir_clean?(path: T.unsafe(nil)); end
524
+ end
525
+
526
+ # source://spoom//lib/spoom/context/sorbet.rb#7
527
+ module Spoom::Context::Sorbet
528
+ requires_ancestor { Spoom::Context }
529
+
530
+ # source://spoom//lib/spoom/context/sorbet.rb#119
531
+ sig { returns(T::Boolean) }
532
+ def has_sorbet_config?; end
533
+
534
+ # source://spoom//lib/spoom/context/sorbet.rb#142
535
+ sig { params(relative_path: ::String).returns(T.nilable(::String)) }
536
+ def read_file_strictness(relative_path); end
537
+
538
+ # source://spoom//lib/spoom/context/sorbet.rb#130
539
+ sig { returns(::String) }
540
+ def read_sorbet_config; end
541
+
542
+ # source://spoom//lib/spoom/context/sorbet.rb#124
543
+ sig { returns(::Spoom::Sorbet::Config) }
544
+ def sorbet_config; end
545
+
546
+ # source://spoom//lib/spoom/context/sorbet.rb#148
547
+ sig { returns(T.nilable(::Spoom::Git::Commit)) }
548
+ def sorbet_intro_commit; end
549
+
550
+ # source://spoom//lib/spoom/context/sorbet.rb#160
551
+ sig { returns(T.nilable(::Spoom::Git::Commit)) }
552
+ def sorbet_removal_commit; end
553
+
554
+ # source://spoom//lib/spoom/context/sorbet.rb#15
555
+ sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
556
+ def srb(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
557
+
558
+ # source://spoom//lib/spoom/context/sorbet.rb#65
559
+ sig { params(with_config: T.nilable(::Spoom::Sorbet::Config), include_rbis: T::Boolean).returns(T::Array[::String]) }
560
+ def srb_files(with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end
561
+
562
+ # source://spoom//lib/spoom/context/sorbet.rb#104
563
+ sig do
564
+ params(
565
+ strictness: ::String,
566
+ with_config: T.nilable(::Spoom::Sorbet::Config),
567
+ include_rbis: T::Boolean
568
+ ).returns(T::Array[::String])
569
+ end
570
+ def srb_files_with_strictness(strictness, with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end
571
+
572
+ # source://spoom//lib/spoom/context/sorbet.rb#45
573
+ sig do
574
+ params(
575
+ arg: ::String,
576
+ sorbet_bin: T.nilable(::String),
577
+ capture_err: T::Boolean
578
+ ).returns(T.nilable(T::Hash[::String, ::Integer]))
579
+ end
580
+ def srb_metrics(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
581
+
582
+ # source://spoom//lib/spoom/context/sorbet.rb#33
583
+ sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
584
+ def srb_tc(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
585
+
586
+ # source://spoom//lib/spoom/context/sorbet.rb#110
587
+ sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(T.nilable(::String)) }
588
+ def srb_version(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
589
+
590
+ # source://spoom//lib/spoom/context/sorbet.rb#136
591
+ sig { params(contents: ::String, append: T::Boolean).void }
592
+ def write_sorbet_config!(contents, append: T.unsafe(nil)); end
593
+ end
594
+
595
+ # source://spoom//lib/spoom/coverage/snapshot.rb#5
596
+ module Spoom::Coverage
597
+ class << self
598
+ # source://spoom//lib/spoom/coverage.rb#103
599
+ sig { params(context: ::Spoom::Context).returns(::Spoom::FileTree) }
600
+ def file_tree(context); end
601
+
602
+ # source://spoom//lib/spoom/coverage.rb#83
603
+ sig do
604
+ params(
605
+ context: ::Spoom::Context,
606
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
607
+ palette: ::Spoom::Coverage::D3::ColorPalette
608
+ ).returns(::Spoom::Coverage::Report)
609
+ end
610
+ def report(context, snapshots, palette:); end
611
+
612
+ # source://spoom//lib/spoom/coverage.rb#16
613
+ sig do
614
+ params(
615
+ context: ::Spoom::Context,
616
+ rbi: T::Boolean,
617
+ sorbet_bin: T.nilable(::String)
618
+ ).returns(::Spoom::Coverage::Snapshot)
619
+ end
620
+ def snapshot(context, rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end
621
+ end
622
+ end
623
+
624
+ # source://spoom//lib/spoom/coverage/report.rb#88
625
+ module Spoom::Coverage::Cards; end
626
+
627
+ # source://spoom//lib/spoom/coverage/report.rb#89
628
+ class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template
629
+ # source://spoom//lib/spoom/coverage/report.rb#98
630
+ sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void }
631
+ def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end
632
+
633
+ # source://spoom//lib/spoom/coverage/report.rb#95
634
+ def body; end
635
+
636
+ # source://spoom//lib/spoom/coverage/report.rb#95
637
+ sig { returns(T.nilable(::String)) }
638
+ def title; end
639
+ end
640
+
641
+ # source://spoom//lib/spoom/coverage/report.rb#92
642
+ Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String)
643
+
644
+ # source://spoom//lib/spoom/coverage/report.rb#105
645
+ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
646
+ abstract!
647
+
648
+ # source://spoom//lib/spoom/coverage/report.rb#112
649
+ sig { void }
650
+ def initialize; end
651
+
652
+ # source://spoom//lib/spoom/coverage/report.rb#120
653
+ sig { abstract.returns(::String) }
654
+ def erb; end
655
+
656
+ # source://spoom//lib/spoom/coverage/report.rb#115
657
+ sig { override.returns(::String) }
658
+ def html; end
659
+ end
660
+
661
+ # source://spoom//lib/spoom/coverage/report.rb#153
662
+ class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card
663
+ # source://spoom//lib/spoom/coverage/report.rb#164
664
+ sig do
665
+ params(
666
+ file_tree: ::Spoom::FileTree,
667
+ nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
668
+ nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float],
669
+ title: ::String
670
+ ).void
671
+ end
672
+ def initialize(file_tree:, nodes_strictnesses:, nodes_strictness_scores:, title: T.unsafe(nil)); end
673
+ end
674
+
675
+ # source://spoom//lib/spoom/coverage/report.rb#123
676
+ class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card
677
+ # source://spoom//lib/spoom/coverage/report.rb#132
678
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void }
679
+ def initialize(snapshot:, title: T.unsafe(nil)); end
680
+
681
+ # source://spoom//lib/spoom/coverage/report.rb#143
682
+ sig { returns(::Spoom::Coverage::D3::Pie::Calls) }
683
+ def pie_calls; end
684
+
685
+ # source://spoom//lib/spoom/coverage/report.rb#138
686
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigils) }
687
+ def pie_sigils; end
688
+
689
+ # source://spoom//lib/spoom/coverage/report.rb#148
690
+ sig { returns(::Spoom::Coverage::D3::Pie::Sigs) }
691
+ def pie_sigs; end
692
+
693
+ # source://spoom//lib/spoom/coverage/report.rb#129
694
+ sig { returns(::Spoom::Coverage::Snapshot) }
695
+ def snapshot; end
696
+ end
697
+
698
+ # source://spoom//lib/spoom/coverage/report.rb#126
699
+ Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String)
700
+
701
+ # source://spoom//lib/spoom/coverage/report.rb#240
702
+ class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb
703
+ # source://spoom//lib/spoom/coverage/report.rb#244
704
+ sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void }
705
+ def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
706
+
707
+ # source://spoom//lib/spoom/coverage/report.rb#250
708
+ sig { override.returns(::String) }
709
+ def erb; end
710
+ end
711
+
712
+ # source://spoom//lib/spoom/coverage/report.rb#177
713
+ class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card
714
+ # source://spoom//lib/spoom/coverage/report.rb#181
715
+ sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void }
716
+ def initialize(title:, timeline:); end
717
+ end
718
+
719
+ # source://spoom//lib/spoom/coverage/report.rb#194
720
+ class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline
721
+ # source://spoom//lib/spoom/coverage/report.rb#198
722
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
723
+ def initialize(snapshots:, title: T.unsafe(nil)); end
724
+ end
725
+
726
+ # source://spoom//lib/spoom/coverage/report.rb#212
727
+ class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline
728
+ # source://spoom//lib/spoom/coverage/report.rb#216
729
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
730
+ def initialize(snapshots:, title: T.unsafe(nil)); end
731
+ end
732
+
733
+ # source://spoom//lib/spoom/coverage/report.rb#230
734
+ class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline
735
+ # source://spoom//lib/spoom/coverage/report.rb#234
736
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
737
+ def initialize(snapshots:, title: T.unsafe(nil)); end
738
+ end
739
+
740
+ # source://spoom//lib/spoom/coverage/report.rb#185
741
+ class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline
742
+ # source://spoom//lib/spoom/coverage/report.rb#189
743
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
744
+ def initialize(snapshots:, title: T.unsafe(nil)); end
745
+ end
746
+
747
+ # source://spoom//lib/spoom/coverage/report.rb#203
748
+ class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline
749
+ # source://spoom//lib/spoom/coverage/report.rb#207
750
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
751
+ def initialize(snapshots:, title: T.unsafe(nil)); end
752
+ end
753
+
754
+ # source://spoom//lib/spoom/coverage/report.rb#221
755
+ class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline
756
+ # source://spoom//lib/spoom/coverage/report.rb#225
757
+ sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void }
758
+ def initialize(snapshots:, title: T.unsafe(nil)); end
759
+ end
760
+
761
+ # source://spoom//lib/spoom/coverage/d3/base.rb#6
762
+ module Spoom::Coverage::D3
763
+ class << self
764
+ # source://spoom//lib/spoom/coverage/d3.rb#61
765
+ sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) }
766
+ def header_script(palette); end
767
+
768
+ # source://spoom//lib/spoom/coverage/d3.rb#21
769
+ sig { returns(::String) }
770
+ def header_style; end
771
+ end
772
+ end
773
+
774
+ # source://spoom//lib/spoom/coverage/d3/base.rb#7
775
+ class Spoom::Coverage::D3::Base
776
+ abstract!
777
+
778
+ # source://spoom//lib/spoom/coverage/d3/base.rb#17
779
+ sig { params(id: ::String, data: T.untyped).void }
780
+ def initialize(id, data); end
781
+
782
+ # source://spoom//lib/spoom/coverage/d3/base.rb#37
783
+ sig { returns(::String) }
784
+ def html; end
785
+
786
+ # source://spoom//lib/spoom/coverage/d3/base.rb#14
787
+ sig { returns(::String) }
788
+ def id; end
789
+
790
+ # source://spoom//lib/spoom/coverage/d3/base.rb#50
791
+ sig { abstract.returns(::String) }
792
+ def script; end
793
+
794
+ # source://spoom//lib/spoom/coverage/d3/base.rb#45
795
+ sig { returns(::String) }
796
+ def tooltip; end
797
+
798
+ class << self
799
+ # source://spoom//lib/spoom/coverage/d3/base.rb#31
800
+ sig { returns(::String) }
801
+ def header_script; end
802
+
803
+ # source://spoom//lib/spoom/coverage/d3/base.rb#26
804
+ sig { returns(::String) }
805
+ def header_style; end
806
+ end
807
+ end
808
+
809
+ # source://spoom//lib/spoom/coverage/d3.rb#12
810
+ Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String)
811
+
812
+ # source://spoom//lib/spoom/coverage/d3.rb#11
813
+ Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String)
814
+
815
+ # source://spoom//lib/spoom/coverage/d3.rb#14
816
+ Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String)
817
+
818
+ # source://spoom//lib/spoom/coverage/d3.rb#15
819
+ Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String)
820
+
821
+ # source://spoom//lib/spoom/coverage/d3.rb#13
822
+ Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String)
823
+
824
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#9
825
+ class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base
826
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#59
827
+ sig { override.returns(::String) }
828
+ def script; end
829
+
830
+ class << self
831
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#40
832
+ sig { returns(::String) }
833
+ def header_script; end
834
+
835
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#14
836
+ sig { returns(::String) }
837
+ def header_style; end
838
+ end
839
+ end
840
+
841
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#148
842
+ class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
843
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#159
844
+ sig do
845
+ params(
846
+ id: ::String,
847
+ file_tree: ::Spoom::FileTree,
848
+ nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
849
+ nodes_scores: T::Hash[::Spoom::FileTree::Node, ::Float]
850
+ ).void
851
+ end
852
+ def initialize(id, file_tree, nodes_strictnesses, nodes_scores); end
853
+
854
+ # source://spoom//lib/spoom/coverage/d3/circle_map.rb#166
855
+ sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) }
856
+ def tree_node_to_json(node); end
857
+ end
858
+
859
+ # source://spoom//lib/spoom/coverage/d3.rb#103
860
+ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
861
+ prop :ignore, ::String
862
+ prop :false, ::String
863
+ prop :true, ::String
864
+ prop :strict, ::String
865
+ prop :strong, ::String
866
+
867
+ class << self
868
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
869
+ def inherited(s); end
870
+ end
871
+ end
872
+
873
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#9
874
+ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
875
+ abstract!
876
+
877
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#16
878
+ sig { params(id: ::String, title: ::String, data: T.untyped).void }
879
+ def initialize(id, title, data); end
880
+
881
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#56
882
+ sig { override.returns(::String) }
883
+ def script; end
884
+
885
+ class << self
886
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#43
887
+ sig { returns(::String) }
888
+ def header_script; end
889
+
890
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#25
891
+ sig { returns(::String) }
892
+ def header_style; end
893
+ end
894
+ end
895
+
896
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#141
897
+ class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie
898
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#145
899
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
900
+ def initialize(id, title, snapshot); end
901
+
902
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#150
903
+ sig { override.returns(::String) }
904
+ def tooltip; end
905
+ end
906
+
907
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#123
908
+ class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie
909
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#127
910
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
911
+ def initialize(id, title, snapshot); end
912
+
913
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#132
914
+ sig { override.returns(::String) }
915
+ def tooltip; end
916
+ end
917
+
918
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#159
919
+ class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie
920
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#163
921
+ sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void }
922
+ def initialize(id, title, snapshot); end
923
+
924
+ # source://spoom//lib/spoom/coverage/d3/pie.rb#172
925
+ sig { override.returns(::String) }
926
+ def tooltip; end
927
+ end
928
+
929
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#9
930
+ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
931
+ abstract!
932
+
933
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#16
934
+ sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void }
935
+ def initialize(id, data, keys); end
936
+
937
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#187
938
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
939
+ def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
940
+
941
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#203
942
+ sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) }
943
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
944
+
945
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#126
946
+ sig { abstract.returns(::String) }
947
+ def plot; end
948
+
949
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#217
950
+ sig { params(y: ::String).returns(::String) }
951
+ def points(y:); end
952
+
953
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#101
954
+ sig { override.returns(::String) }
955
+ def script; end
956
+
957
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#129
958
+ sig { returns(::String) }
959
+ def x_scale; end
960
+
961
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#145
962
+ sig { returns(::String) }
963
+ def x_ticks; end
964
+
965
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#158
966
+ sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) }
967
+ def y_scale(min:, max:, ticks:); end
968
+
969
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#174
970
+ sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) }
971
+ def y_ticks(ticks:, format:, padding:); end
972
+
973
+ class << self
974
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#79
975
+ sig { returns(::String) }
976
+ def header_script; end
977
+
978
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#25
979
+ sig { returns(::String) }
980
+ def header_style; end
981
+ end
982
+ end
983
+
984
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#448
985
+ class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked
986
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#452
987
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
988
+ def initialize(id, snapshots); end
989
+
990
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#466
991
+ sig { override.returns(::String) }
992
+ def tooltip; end
993
+ end
994
+
995
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#505
996
+ class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked
997
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#509
998
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
999
+ def initialize(id, snapshots); end
1000
+
1001
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#577
1002
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1003
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1004
+
1005
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#617
1006
+ sig { override.returns(::String) }
1007
+ def plot; end
1008
+
1009
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#537
1010
+ sig { override.returns(::String) }
1011
+ def script; end
1012
+
1013
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#523
1014
+ sig { override.returns(::String) }
1015
+ def tooltip; end
1016
+ end
1017
+
1018
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#282
1019
+ class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline
1020
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#286
1021
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1022
+ def initialize(id, snapshots); end
1023
+
1024
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#311
1025
+ sig { override.returns(::String) }
1026
+ def plot; end
1027
+
1028
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#298
1029
+ sig { override.returns(::String) }
1030
+ def tooltip; end
1031
+ end
1032
+
1033
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#421
1034
+ class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked
1035
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#425
1036
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1037
+ def initialize(id, snapshots); end
1038
+
1039
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#439
1040
+ sig { override.returns(::String) }
1041
+ def tooltip; end
1042
+ end
1043
+
1044
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#475
1045
+ class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked
1046
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#479
1047
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1048
+ def initialize(id, snapshots); end
1049
+
1050
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#496
1051
+ sig { override.returns(::String) }
1052
+ def tooltip; end
1053
+ end
1054
+
1055
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#329
1056
+ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
1057
+ abstract!
1058
+
1059
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#388
1060
+ sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) }
1061
+ def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end
1062
+
1063
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#377
1064
+ sig { override.returns(::String) }
1065
+ def plot; end
1066
+
1067
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#336
1068
+ sig { override.returns(::String) }
1069
+ def script; end
1070
+ end
1071
+
1072
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#232
1073
+ class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline
1074
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#236
1075
+ sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void }
1076
+ def initialize(id, snapshots); end
1077
+
1078
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#263
1079
+ sig { override.returns(::String) }
1080
+ def plot; end
1081
+
1082
+ # source://spoom//lib/spoom/coverage/d3/timeline.rb#249
1083
+ sig { override.returns(::String) }
1084
+ def tooltip; end
1085
+ end
1086
+
1087
+ # source://spoom//lib/spoom/coverage/report.rb#38
1088
+ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
1089
+ abstract!
1090
+
1091
+ # source://spoom//lib/spoom/coverage/report.rb#53
1092
+ sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void }
1093
+ def initialize(title:, palette:, template: T.unsafe(nil)); end
1094
+
1095
+ # source://spoom//lib/spoom/coverage/report.rb#75
1096
+ sig { returns(::String) }
1097
+ def body_html; end
1098
+
1099
+ # source://spoom//lib/spoom/coverage/report.rb#80
1100
+ sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1101
+ def cards; end
1102
+
1103
+ # source://spoom//lib/spoom/coverage/report.rb#83
1104
+ sig { returns(::String) }
1105
+ def footer_html; end
1106
+
1107
+ # source://spoom//lib/spoom/coverage/report.rb#70
1108
+ sig { returns(::String) }
1109
+ def header_html; end
1110
+
1111
+ # source://spoom//lib/spoom/coverage/report.rb#65
1112
+ sig { returns(::String) }
1113
+ def header_script; end
1114
+
1115
+ # source://spoom//lib/spoom/coverage/report.rb#60
1116
+ sig { returns(::String) }
1117
+ def header_style; end
1118
+
1119
+ # source://spoom//lib/spoom/coverage/report.rb#50
1120
+ sig { returns(::Spoom::Coverage::D3::ColorPalette) }
1121
+ def palette; end
1122
+
1123
+ # source://spoom//lib/spoom/coverage/report.rb#47
1124
+ sig { returns(::String) }
1125
+ def title; end
1126
+ end
1127
+
1128
+ # source://spoom//lib/spoom/coverage/report.rb#44
1129
+ Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String)
1130
+
1131
+ # source://spoom//lib/spoom/coverage/report.rb#261
1132
+ class Spoom::Coverage::Report < ::Spoom::Coverage::Page
1133
+ # source://spoom//lib/spoom/coverage/report.rb#276
1134
+ sig do
1135
+ params(
1136
+ project_name: ::String,
1137
+ palette: ::Spoom::Coverage::D3::ColorPalette,
1138
+ snapshots: T::Array[::Spoom::Coverage::Snapshot],
1139
+ file_tree: ::Spoom::FileTree,
1140
+ nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
1141
+ nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float],
1142
+ sorbet_intro_commit: T.nilable(::String),
1143
+ sorbet_intro_date: T.nilable(::Time)
1144
+ ).void
1145
+ end
1146
+ def initialize(project_name:, palette:, snapshots:, file_tree:, nodes_strictnesses:, nodes_strictness_scores:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end
1147
+
1148
+ # source://spoom//lib/spoom/coverage/report.rb#308
1149
+ sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) }
1150
+ def cards; end
1151
+
1152
+ # source://spoom//lib/spoom/coverage/report.rb#297
1153
+ sig { override.returns(::String) }
1154
+ def header_html; end
1155
+ end
1156
+
1157
+ # source://spoom//lib/spoom/coverage/snapshot.rb#6
1158
+ class Spoom::Coverage::Snapshot < ::T::Struct
1159
+ prop :timestamp, ::Integer, default: T.unsafe(nil)
1160
+ prop :version_static, T.nilable(::String), default: T.unsafe(nil)
1161
+ prop :version_runtime, T.nilable(::String), default: T.unsafe(nil)
1162
+ prop :duration, ::Integer, default: T.unsafe(nil)
1163
+ prop :commit_sha, T.nilable(::String), default: T.unsafe(nil)
1164
+ prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil)
1165
+ prop :files, ::Integer, default: T.unsafe(nil)
1166
+ prop :rbi_files, ::Integer, default: T.unsafe(nil)
1167
+ prop :modules, ::Integer, default: T.unsafe(nil)
1168
+ prop :classes, ::Integer, default: T.unsafe(nil)
1169
+ prop :singleton_classes, ::Integer, default: T.unsafe(nil)
1170
+ prop :methods_without_sig, ::Integer, default: T.unsafe(nil)
1171
+ prop :methods_with_sig, ::Integer, default: T.unsafe(nil)
1172
+ prop :calls_untyped, ::Integer, default: T.unsafe(nil)
1173
+ prop :calls_typed, ::Integer, default: T.unsafe(nil)
1174
+ prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1175
+ prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
1176
+ prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
1177
+ prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil)
1178
+
1179
+ # source://spoom//lib/spoom/coverage/snapshot.rb#33
1180
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
1181
+ def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
1182
+
1183
+ # source://spoom//lib/spoom/coverage/snapshot.rb#39
1184
+ sig { params(arg: T.untyped).returns(::String) }
1185
+ def to_json(*arg); end
1186
+
1187
+ class << self
1188
+ # source://spoom//lib/spoom/coverage/snapshot.rb#47
1189
+ sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) }
1190
+ def from_json(json); end
1191
+
1192
+ # source://spoom//lib/spoom/coverage/snapshot.rb#52
1193
+ sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
1194
+ def from_obj(obj); end
1195
+
1196
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
1197
+ def inherited(s); end
1198
+ end
1199
+ end
1200
+
1201
+ # source://spoom//lib/spoom/coverage/snapshot.rb#30
1202
+ Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array)
1203
+
1204
+ # source://spoom//lib/spoom/coverage/snapshot.rb#95
1205
+ class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer
1206
+ # source://spoom//lib/spoom/coverage/snapshot.rb#99
1207
+ sig { params(snapshot: ::Spoom::Coverage::Snapshot).void }
1208
+ def print_snapshot(snapshot); end
1209
+
1210
+ private
1211
+
1212
+ # source://spoom//lib/spoom/coverage/snapshot.rb#158
1213
+ sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) }
1214
+ def percent(value, total); end
1215
+
1216
+ # source://spoom//lib/spoom/coverage/snapshot.rb#147
1217
+ sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void }
1218
+ def print_map(hash, total); end
1219
+ end
1220
+
1221
+ # source://spoom//lib/spoom/coverage/report.rb#10
1222
+ class Spoom::Coverage::Template
1223
+ abstract!
1224
+
1225
+ # source://spoom//lib/spoom/coverage/report.rb#18
1226
+ sig { params(template: ::String).void }
1227
+ def initialize(template:); end
1228
+
1229
+ # source://spoom//lib/spoom/coverage/report.rb#23
1230
+ sig { returns(::String) }
1231
+ def erb; end
1232
+
1233
+ # source://spoom//lib/spoom/coverage/report.rb#33
1234
+ sig { returns(::Binding) }
1235
+ def get_binding; end
1236
+
1237
+ # source://spoom//lib/spoom/coverage/report.rb#28
1238
+ sig { returns(::String) }
1239
+ def html; end
1240
+ end
1241
+
1242
+ # source://spoom//lib/spoom/deadcode/erb.rb#27
1243
+ module Spoom::Deadcode
1244
+ class << self
1245
+ # source://spoom//lib/spoom/deadcode/plugins.rb#75
1246
+ sig { params(context: ::Spoom::Context).returns(T::Array[T.class_of(Spoom::Deadcode::Plugins::Base)]) }
1247
+ def load_custom_plugins(context); end
1248
+
1249
+ # source://spoom//lib/spoom/deadcode/plugins.rb#61
1250
+ sig { params(context: ::Spoom::Context).returns(T::Set[T.class_of(Spoom::Deadcode::Plugins::Base)]) }
1251
+ def plugins_from_gemfile_lock(context); end
1252
+ end
1253
+ end
1254
+
1255
+ # source://spoom//lib/spoom/deadcode/plugins.rb#26
1256
+ Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String)
1257
+
1258
+ # source://spoom//lib/spoom/deadcode/plugins.rb#28
1259
+ Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set)
1260
+
1261
+ # source://spoom//lib/spoom/deadcode/definition.rb#7
1262
+ class Spoom::Deadcode::Definition < ::T::Struct
1263
+ const :kind, ::Spoom::Deadcode::Definition::Kind
1264
+ const :name, ::String
1265
+ const :full_name, ::String
1266
+ const :location, ::Spoom::Location
1267
+ const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil)
1268
+
1269
+ # source://spoom//lib/spoom/deadcode/definition.rb#78
1270
+ sig { void }
1271
+ def alive!; end
1272
+
1273
+ # source://spoom//lib/spoom/deadcode/definition.rb#73
1274
+ sig { returns(T::Boolean) }
1275
+ def alive?; end
1276
+
1277
+ # source://spoom//lib/spoom/deadcode/definition.rb#41
1278
+ sig { returns(T::Boolean) }
1279
+ def attr_reader?; end
1280
+
1281
+ # source://spoom//lib/spoom/deadcode/definition.rb#46
1282
+ sig { returns(T::Boolean) }
1283
+ def attr_writer?; end
1284
+
1285
+ # source://spoom//lib/spoom/deadcode/definition.rb#51
1286
+ sig { returns(T::Boolean) }
1287
+ def class?; end
1288
+
1289
+ # source://spoom//lib/spoom/deadcode/definition.rb#56
1290
+ sig { returns(T::Boolean) }
1291
+ def constant?; end
1292
+
1293
+ # source://spoom//lib/spoom/deadcode/definition.rb#83
1294
+ sig { returns(T::Boolean) }
1295
+ def dead?; end
1296
+
1297
+ # source://spoom//lib/spoom/deadcode/definition.rb#93
1298
+ sig { void }
1299
+ def ignored!; end
1300
+
1301
+ # source://spoom//lib/spoom/deadcode/definition.rb#88
1302
+ sig { returns(T::Boolean) }
1303
+ def ignored?; end
1304
+
1305
+ # source://spoom//lib/spoom/deadcode/definition.rb#61
1306
+ sig { returns(T::Boolean) }
1307
+ def method?; end
1308
+
1309
+ # source://spoom//lib/spoom/deadcode/definition.rb#66
1310
+ sig { returns(T::Boolean) }
1311
+ def module?; end
1312
+
1313
+ # source://spoom//lib/spoom/deadcode/definition.rb#100
1314
+ sig { params(args: T.untyped).returns(::String) }
1315
+ def to_json(*args); end
1316
+
1317
+ class << self
1318
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
1319
+ def inherited(s); end
1320
+ end
1321
+ end
1322
+
1323
+ # source://spoom//lib/spoom/deadcode/definition.rb#10
1324
+ class Spoom::Deadcode::Definition::Kind < ::T::Enum
1325
+ enums do
1326
+ AttrReader = new
1327
+ AttrWriter = new
1328
+ Class = new
1329
+ Constant = new
1330
+ Method = new
1331
+ Module = new
1332
+ end
1333
+ end
1334
+
1335
+ # source://spoom//lib/spoom/deadcode/definition.rb#21
1336
+ class Spoom::Deadcode::Definition::Status < ::T::Enum
1337
+ enums do
1338
+ ALIVE = new
1339
+ DEAD = new
1340
+ IGNORED = new
1341
+ end
1342
+ end
1343
+
1344
+ # source://spoom//lib/spoom/deadcode/erb.rb#29
1345
+ class Spoom::Deadcode::ERB < ::Erubi::Engine
1346
+ # source://spoom//lib/spoom/deadcode/erb.rb#33
1347
+ sig { params(input: T.untyped, properties: T.untyped).void }
1348
+ def initialize(input, properties = T.unsafe(nil)); end
1349
+
1350
+ private
1351
+
1352
+ # source://spoom//lib/spoom/deadcode/erb.rb#83
1353
+ sig { override.params(code: T.untyped).void }
1354
+ def add_code(code); end
1355
+
1356
+ # source://spoom//lib/spoom/deadcode/erb.rb#66
1357
+ sig { override.params(indicator: T.untyped, code: T.untyped).void }
1358
+ def add_expression(indicator, code); end
1359
+
1360
+ # source://spoom//lib/spoom/deadcode/erb.rb#89
1361
+ sig { override.params(_: T.untyped).void }
1362
+ def add_postamble(_); end
1363
+
1364
+ # source://spoom//lib/spoom/deadcode/erb.rb#48
1365
+ sig { override.params(text: T.untyped).void }
1366
+ def add_text(text); end
1367
+
1368
+ # source://spoom//lib/spoom/deadcode/erb.rb#95
1369
+ sig { params(src: T.untyped).void }
1370
+ def flush_newline_if_pending(src); end
1371
+ end
1372
+
1373
+ # source://spoom//lib/spoom/deadcode/erb.rb#63
1374
+ Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp)
1375
+
1376
+ # source://spoom//lib/spoom/deadcode/index.rb#6
1377
+ class Spoom::Deadcode::Index
1378
+ # source://spoom//lib/spoom/deadcode/index.rb#29
1379
+ sig { params(model: ::Spoom::Model).void }
1380
+ def initialize(model); end
1381
+
1382
+ # source://spoom//lib/spoom/deadcode/index.rb#219
1383
+ sig { returns(T::Array[::Spoom::Deadcode::Definition]) }
1384
+ def all_definitions; end
1385
+
1386
+ # source://spoom//lib/spoom/deadcode/index.rb#224
1387
+ sig { returns(T::Array[::Spoom::Model::Reference]) }
1388
+ def all_references; end
1389
+
1390
+ # source://spoom//lib/spoom/deadcode/index.rb#99
1391
+ sig { params(plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1392
+ def apply_plugins!(plugins); end
1393
+
1394
+ # source://spoom//lib/spoom/deadcode/index.rb#79
1395
+ sig { params(definition: ::Spoom::Deadcode::Definition).void }
1396
+ def define(definition); end
1397
+
1398
+ # source://spoom//lib/spoom/deadcode/index.rb#23
1399
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) }
1400
+ def definitions; end
1401
+
1402
+ # source://spoom//lib/spoom/deadcode/index.rb#214
1403
+ sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) }
1404
+ def definitions_for_name(name); end
1405
+
1406
+ # source://spoom//lib/spoom/deadcode/index.rb#122
1407
+ sig { void }
1408
+ def finalize!; end
1409
+
1410
+ # source://spoom//lib/spoom/deadcode/index.rb#94
1411
+ sig { params(symbol_def: ::Spoom::Model::SymbolDef).void }
1412
+ def ignore(symbol_def); end
1413
+
1414
+ # source://spoom//lib/spoom/deadcode/index.rb#50
1415
+ sig { params(erb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1416
+ def index_erb(erb, file:, plugins: T.unsafe(nil)); end
1417
+
1418
+ # source://spoom//lib/spoom/deadcode/index.rb#39
1419
+ sig { params(file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1420
+ def index_file(file, plugins: T.unsafe(nil)); end
1421
+
1422
+ # source://spoom//lib/spoom/deadcode/index.rb#55
1423
+ sig { params(rb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1424
+ def index_ruby(rb, file:, plugins: T.unsafe(nil)); end
1425
+
1426
+ # source://spoom//lib/spoom/deadcode/index.rb#20
1427
+ sig { returns(::Spoom::Model) }
1428
+ def model; end
1429
+
1430
+ # source://spoom//lib/spoom/deadcode/index.rb#84
1431
+ sig { params(name: ::String, location: ::Spoom::Location).void }
1432
+ def reference_constant(name, location); end
1433
+
1434
+ # source://spoom//lib/spoom/deadcode/index.rb#89
1435
+ sig { params(name: ::String, location: ::Spoom::Location).void }
1436
+ def reference_method(name, location); end
1437
+
1438
+ # source://spoom//lib/spoom/deadcode/index.rb#26
1439
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Model::Reference]]) }
1440
+ def references; end
1441
+ end
1442
+
1443
+ # source://spoom//lib/spoom/deadcode/index.rb#9
1444
+ class Spoom::Deadcode::Index::Error < ::Spoom::Error
1445
+ # source://spoom//lib/spoom/deadcode/index.rb#13
1446
+ sig { params(message: ::String, parent: ::Exception).void }
1447
+ def initialize(message, parent:); end
1448
+ end
1449
+
1450
+ # source://spoom//lib/spoom/deadcode/indexer.rb#6
1451
+ class Spoom::Deadcode::Indexer < ::Spoom::Visitor
1452
+ # source://spoom//lib/spoom/deadcode/indexer.rb#16
1453
+ sig do
1454
+ params(
1455
+ path: ::String,
1456
+ index: ::Spoom::Deadcode::Index,
1457
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1458
+ ).void
1459
+ end
1460
+ def initialize(path, index, plugins: T.unsafe(nil)); end
1461
+
1462
+ # source://spoom//lib/spoom/deadcode/indexer.rb#13
1463
+ sig { returns(::Spoom::Deadcode::Index) }
1464
+ def index; end
1465
+
1466
+ # source://spoom//lib/spoom/deadcode/indexer.rb#10
1467
+ sig { returns(::String) }
1468
+ def path; end
1469
+
1470
+ # source://spoom//lib/spoom/deadcode/indexer.rb#27
1471
+ sig { override.params(node: ::Prism::CallNode).void }
1472
+ def visit_call_node(node); end
1473
+ end
1474
+
1475
+ # source://spoom//lib/spoom/deadcode/plugins.rb#36
1476
+ Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
1477
+
1478
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#8
1479
+ module Spoom::Deadcode::Plugins; end
1480
+
1481
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7
1482
+ class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base
1483
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11
1484
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1485
+ def on_send(send); end
1486
+ end
1487
+
1488
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#7
1489
+ class Spoom::Deadcode::Plugins::ActionMailerPreview < ::Spoom::Deadcode::Plugins::Base
1490
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#13
1491
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1492
+ def on_define_method(definition); end
1493
+ end
1494
+
1495
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7
1496
+ class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base
1497
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#31
1498
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1499
+ def on_define_method(definition); end
1500
+
1501
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#39
1502
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1503
+ def on_send(send); end
1504
+ end
1505
+
1506
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#12
1507
+ Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
1508
+
1509
+ # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
1510
+ class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
1511
+
1512
+ # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7
1513
+ class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base
1514
+ # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14
1515
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1516
+ def on_send(send); end
1517
+ end
1518
+
1519
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7
1520
+ class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base
1521
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#74
1522
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1523
+ def on_send(send); end
1524
+ end
1525
+
1526
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
1527
+ Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
1528
+
1529
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
1530
+ Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
1531
+
1532
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49
1533
+ Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
1534
+
1535
+ # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7
1536
+ class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base
1537
+ # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#22
1538
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1539
+ def on_send(send); end
1540
+ end
1541
+
1542
+ # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#19
1543
+ Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
1544
+
1545
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#9
1546
+ class Spoom::Deadcode::Plugins::Base
1547
+ abstract!
1548
+
1549
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#132
1550
+ sig { params(index: ::Spoom::Deadcode::Index).void }
1551
+ def initialize(index); end
1552
+
1553
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#129
1554
+ sig { returns(::Spoom::Deadcode::Index) }
1555
+ def index; end
1556
+
1557
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#158
1558
+ sig { params(definition: ::Spoom::Model::Attr).void }
1559
+ def internal_on_define_accessor(definition); end
1560
+
1561
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#182
1562
+ sig { params(definition: ::Spoom::Model::Class).void }
1563
+ def internal_on_define_class(definition); end
1564
+
1565
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#212
1566
+ sig { params(definition: ::Spoom::Model::Constant).void }
1567
+ def internal_on_define_constant(definition); end
1568
+
1569
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#238
1570
+ sig { params(definition: ::Spoom::Model::Method).void }
1571
+ def internal_on_define_method(definition); end
1572
+
1573
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#264
1574
+ sig { params(definition: ::Spoom::Model::Module).void }
1575
+ def internal_on_define_module(definition); end
1576
+
1577
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#152
1578
+ sig { params(definition: ::Spoom::Model::Attr).void }
1579
+ def on_define_accessor(definition); end
1580
+
1581
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#176
1582
+ sig { params(definition: ::Spoom::Model::Class).void }
1583
+ def on_define_class(definition); end
1584
+
1585
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#206
1586
+ sig { params(definition: ::Spoom::Model::Constant).void }
1587
+ def on_define_constant(definition); end
1588
+
1589
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#232
1590
+ sig { params(definition: ::Spoom::Model::Method).void }
1591
+ def on_define_method(definition); end
1592
+
1593
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#258
1594
+ sig { params(definition: ::Spoom::Model::Module).void }
1595
+ def on_define_module(definition); end
1596
+
1597
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#284
1598
+ sig { params(send: ::Spoom::Deadcode::Send).void }
1599
+ def on_send(send); end
1600
+
1601
+ private
1602
+
1603
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#352
1604
+ sig { params(name: ::String).returns(::String) }
1605
+ def camelize(name); end
1606
+
1607
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#301
1608
+ sig { params(name: T.nilable(::String)).returns(T::Boolean) }
1609
+ def ignored_class_name?(name); end
1610
+
1611
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#320
1612
+ sig { params(name: ::String).returns(T::Boolean) }
1613
+ def ignored_constant_name?(name); end
1614
+
1615
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#325
1616
+ sig { params(name: ::String).returns(T::Boolean) }
1617
+ def ignored_method_name?(name); end
1618
+
1619
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#330
1620
+ sig { params(name: ::String).returns(T::Boolean) }
1621
+ def ignored_module_name?(name); end
1622
+
1623
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#335
1624
+ sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) }
1625
+ def ignored_name?(name, names_variable, patterns_variable); end
1626
+
1627
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#308
1628
+ sig { params(definition: ::Spoom::Model::Class).returns(T::Boolean) }
1629
+ def ignored_subclass?(definition); end
1630
+
1631
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#340
1632
+ sig { params(const: ::Symbol).returns(T::Set[::String]) }
1633
+ def names(const); end
1634
+
1635
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#345
1636
+ sig { params(const: ::Symbol).returns(T::Array[::Regexp]) }
1637
+ def patterns(const); end
1638
+
1639
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#293
1640
+ sig { params(definition: ::Spoom::Model::Namespace, superclass_name: ::String).returns(T::Boolean) }
1641
+ def subclass_of?(definition, superclass_name); end
1642
+
1643
+ class << self
1644
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#52
1645
+ sig { params(names: T.any(::Regexp, ::String)).void }
1646
+ def ignore_classes_inheriting_from(*names); end
1647
+
1648
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#34
1649
+ sig { params(names: T.any(::Regexp, ::String)).void }
1650
+ def ignore_classes_named(*names); end
1651
+
1652
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#70
1653
+ sig { params(names: T.any(::Regexp, ::String)).void }
1654
+ def ignore_constants_named(*names); end
1655
+
1656
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#88
1657
+ sig { params(names: T.any(::Regexp, ::String)).void }
1658
+ def ignore_methods_named(*names); end
1659
+
1660
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#106
1661
+ sig { params(names: T.any(::Regexp, ::String)).void }
1662
+ def ignore_modules_named(*names); end
1663
+
1664
+ private
1665
+
1666
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#113
1667
+ sig do
1668
+ params(
1669
+ names: T::Array[T.any(::Regexp, ::String)],
1670
+ names_variable: ::Symbol,
1671
+ patterns_variable: ::Symbol
1672
+ ).void
1673
+ end
1674
+ def save_names_and_patterns(names, names_variable, patterns_variable); end
1675
+ end
1676
+ end
1677
+
1678
+ # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7
1679
+ class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base
1680
+ # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#28
1681
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1682
+ def on_send(send); end
1683
+ end
1684
+
1685
+ # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7
1686
+ class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base
1687
+ # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#22
1688
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1689
+ def on_define_method(definition); end
1690
+
1691
+ # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#28
1692
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1693
+ def on_send(send); end
1694
+ end
1695
+
1696
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7
1697
+ class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base
1698
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#11
1699
+ sig { override.params(definition: ::Spoom::Model::Class).void }
1700
+ def on_define_class(definition); end
1701
+
1702
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16
1703
+ sig { override.params(definition: ::Spoom::Model::Module).void }
1704
+ def on_define_module(definition); end
1705
+
1706
+ private
1707
+
1708
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23
1709
+ sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) }
1710
+ def used_as_namespace?(symbol_def); end
1711
+ end
1712
+
1713
+ # source://spoom//lib/spoom/deadcode/plugins/rspec.rb#7
1714
+ class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end
1715
+
1716
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#7
1717
+ class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base
1718
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#13
1719
+ sig { override.params(definition: ::Spoom::Model::Class).void }
1720
+ def on_define_class(definition); end
1721
+
1722
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18
1723
+ sig { override.params(definition: ::Spoom::Model::Module).void }
1724
+ def on_define_module(definition); end
1725
+
1726
+ private
1727
+
1728
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25
1729
+ sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) }
1730
+ def file_is_helper?(symbol_def); end
1731
+ end
1732
+
1733
+ # source://spoom//lib/spoom/deadcode/plugins/rake.rb#7
1734
+ class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end
1735
+
1736
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7
1737
+ class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base
1738
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#18
1739
+ sig { override.params(definition: ::Spoom::Model::Constant).void }
1740
+ def on_define_constant(definition); end
1741
+
1742
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#26
1743
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1744
+ def on_define_method(definition); end
1745
+ end
1746
+
1747
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#10
1748
+ Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set)
1749
+
1750
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7
1751
+ class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base
1752
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#24
1753
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1754
+ def on_send(send); end
1755
+
1756
+ private
1757
+
1758
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#46
1759
+ sig { params(send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void }
1760
+ def reference_symbol_as_constant(send, node); end
1761
+ end
1762
+
1763
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7
1764
+ class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base
1765
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#11
1766
+ sig { override.params(definition: ::Spoom::Model::Constant).void }
1767
+ def on_define_constant(definition); end
1768
+
1769
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16
1770
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1771
+ def on_define_method(definition); end
1772
+
1773
+ private
1774
+
1775
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#28
1776
+ sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) }
1777
+ def sorbet_enum_constant?(definition); end
1778
+
1779
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#23
1780
+ sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) }
1781
+ def sorbet_type_member?(definition); end
1782
+ end
1783
+
1784
+ # source://spoom//lib/spoom/deadcode/plugins/thor.rb#7
1785
+ class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base
1786
+ # source://spoom//lib/spoom/deadcode/plugins/thor.rb#13
1787
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1788
+ def on_define_method(definition); end
1789
+ end
1790
+
1791
+ # source://spoom//lib/spoom/deadcode/remover.rb#6
1792
+ class Spoom::Deadcode::Remover
1793
+ # source://spoom//lib/spoom/deadcode/remover.rb#12
1794
+ sig { params(context: ::Spoom::Context).void }
1795
+ def initialize(context); end
1796
+
1797
+ # source://spoom//lib/spoom/deadcode/remover.rb#17
1798
+ sig { params(kind: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location).returns(::String) }
1799
+ def remove_location(kind, location); end
1800
+ end
1801
+
1802
+ # source://spoom//lib/spoom/deadcode/remover.rb#9
1803
+ class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end
1804
+
1805
+ # source://spoom//lib/spoom/deadcode/remover.rb#372
1806
+ class Spoom::Deadcode::Remover::NodeContext
1807
+ # source://spoom//lib/spoom/deadcode/remover.rb#392
1808
+ sig do
1809
+ params(
1810
+ source: ::String,
1811
+ comments: T::Hash[::Integer, ::Prism::Comment],
1812
+ node: ::Prism::Node,
1813
+ nesting: T::Array[::Prism::Node]
1814
+ ).void
1815
+ end
1816
+ def initialize(source, comments, node, nesting); end
1817
+
1818
+ # source://spoom//lib/spoom/deadcode/remover.rb#506
1819
+ sig { params(node: ::Prism::Node).returns(T::Array[::Prism::Comment]) }
1820
+ def attached_comments(node); end
1821
+
1822
+ # source://spoom//lib/spoom/deadcode/remover.rb#534
1823
+ sig { returns(T.nilable(::Prism::CallNode)) }
1824
+ def attached_sig; end
1825
+
1826
+ # source://spoom//lib/spoom/deadcode/remover.rb#521
1827
+ sig { returns(T::Array[::Prism::Node]) }
1828
+ def attached_sigs; end
1829
+
1830
+ # source://spoom//lib/spoom/deadcode/remover.rb#376
1831
+ sig { returns(T::Hash[::Integer, ::Prism::Comment]) }
1832
+ def comments; end
1833
+
1834
+ # source://spoom//lib/spoom/deadcode/remover.rb#494
1835
+ sig { params(start_line: ::Integer, end_line: ::Integer).returns(T::Array[::Prism::Comment]) }
1836
+ def comments_between_lines(start_line, end_line); end
1837
+
1838
+ # source://spoom//lib/spoom/deadcode/remover.rb#382
1839
+ sig { returns(T::Array[::Prism::Node]) }
1840
+ def nesting; end
1841
+
1842
+ # source://spoom//lib/spoom/deadcode/remover.rb#382
1843
+ def nesting=(_arg0); end
1844
+
1845
+ # source://spoom//lib/spoom/deadcode/remover.rb#444
1846
+ sig { returns(T.nilable(::Prism::Node)) }
1847
+ def next_node; end
1848
+
1849
+ # source://spoom//lib/spoom/deadcode/remover.rb#433
1850
+ sig { returns(T::Array[::Prism::Node]) }
1851
+ def next_nodes; end
1852
+
1853
+ # source://spoom//lib/spoom/deadcode/remover.rb#379
1854
+ sig { returns(::Prism::Node) }
1855
+ def node; end
1856
+
1857
+ # source://spoom//lib/spoom/deadcode/remover.rb#408
1858
+ sig { returns(::Spoom::Deadcode::Remover::NodeContext) }
1859
+ def parent_context; end
1860
+
1861
+ # source://spoom//lib/spoom/deadcode/remover.rb#400
1862
+ sig { returns(::Prism::Node) }
1863
+ def parent_node; end
1864
+
1865
+ # source://spoom//lib/spoom/deadcode/remover.rb#428
1866
+ sig { returns(T.nilable(::Prism::Node)) }
1867
+ def previous_node; end
1868
+
1869
+ # source://spoom//lib/spoom/deadcode/remover.rb#417
1870
+ sig { returns(T::Array[::Prism::Node]) }
1871
+ def previous_nodes; end
1872
+
1873
+ # source://spoom//lib/spoom/deadcode/remover.rb#449
1874
+ sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) }
1875
+ def sclass_context; end
1876
+
1877
+ # source://spoom//lib/spoom/deadcode/remover.rb#482
1878
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
1879
+ def sorbet_extend_sig?(node); end
1880
+
1881
+ # source://spoom//lib/spoom/deadcode/remover.rb#477
1882
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
1883
+ def sorbet_signature?(node); end
1884
+ end
1885
+
1886
+ # source://spoom//lib/spoom/deadcode/remover.rb#549
1887
+ class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Visitor
1888
+ # source://spoom//lib/spoom/deadcode/remover.rb#621
1889
+ sig { params(location: ::Spoom::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind)).void }
1890
+ def initialize(location, kind); end
1891
+
1892
+ # source://spoom//lib/spoom/deadcode/remover.rb#615
1893
+ sig { returns(T.nilable(::Prism::Node)) }
1894
+ def node; end
1895
+
1896
+ # source://spoom//lib/spoom/deadcode/remover.rb#618
1897
+ sig { returns(T::Array[::Prism::Node]) }
1898
+ def nodes_nesting; end
1899
+
1900
+ # source://spoom//lib/spoom/deadcode/remover.rb#630
1901
+ sig { override.params(node: T.nilable(::Prism::Node)).void }
1902
+ def visit(node); end
1903
+
1904
+ class << self
1905
+ # source://spoom//lib/spoom/deadcode/remover.rb#556
1906
+ sig do
1907
+ params(
1908
+ source: ::String,
1909
+ location: ::Spoom::Location,
1910
+ kind: T.nilable(::Spoom::Deadcode::Definition::Kind)
1911
+ ).returns(::Spoom::Deadcode::Remover::NodeContext)
1912
+ end
1913
+ def find(source, location, kind); end
1914
+
1915
+ # source://spoom//lib/spoom/deadcode/remover.rb#590
1916
+ sig { params(node: ::Prism::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) }
1917
+ def node_match_kind?(node, kind); end
1918
+ end
1919
+ end
1920
+
1921
+ # source://spoom//lib/spoom/deadcode/remover.rb#29
1922
+ class Spoom::Deadcode::Remover::NodeRemover
1923
+ # source://spoom//lib/spoom/deadcode/remover.rb#36
1924
+ sig do
1925
+ params(
1926
+ source: ::String,
1927
+ kind: T.nilable(::Spoom::Deadcode::Definition::Kind),
1928
+ location: ::Spoom::Location
1929
+ ).void
1930
+ end
1931
+ def initialize(source, kind, location); end
1932
+
1933
+ # source://spoom//lib/spoom/deadcode/remover.rb#46
1934
+ sig { void }
1935
+ def apply_edit; end
1936
+
1937
+ # source://spoom//lib/spoom/deadcode/remover.rb#33
1938
+ sig { returns(::String) }
1939
+ def new_source; end
1940
+
1941
+ private
1942
+
1943
+ # source://spoom//lib/spoom/deadcode/remover.rb#153
1944
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
1945
+ def delete_attr_accessor(context); end
1946
+
1947
+ # source://spoom//lib/spoom/deadcode/remover.rb#331
1948
+ sig { params(start_char: ::Integer, end_char: ::Integer).void }
1949
+ def delete_chars(start_char, end_char); end
1950
+
1951
+ # source://spoom//lib/spoom/deadcode/remover.rb#73
1952
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
1953
+ def delete_constant_assignment(context); end
1954
+
1955
+ # source://spoom//lib/spoom/deadcode/remover.rb#324
1956
+ sig { params(start_line: ::Integer, end_line: ::Integer).void }
1957
+ def delete_lines(start_line, end_line); end
1958
+
1959
+ # source://spoom//lib/spoom/deadcode/remover.rb#261
1960
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
1961
+ def delete_node_and_comments_and_sigs(context); end
1962
+
1963
+ # source://spoom//lib/spoom/deadcode/remover.rb#218
1964
+ sig do
1965
+ params(
1966
+ node: ::Prism::Node,
1967
+ send_context: ::Spoom::Deadcode::Remover::NodeContext,
1968
+ was_removed: T::Boolean
1969
+ ).void
1970
+ end
1971
+ def insert_accessor(node, send_context, was_removed:); end
1972
+
1973
+ # source://spoom//lib/spoom/deadcode/remover.rb#336
1974
+ sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void }
1975
+ def replace_chars(start_char, end_char, replacement); end
1976
+
1977
+ # source://spoom//lib/spoom/deadcode/remover.rb#341
1978
+ sig do
1979
+ params(
1980
+ node: ::Prism::CallNode,
1981
+ name: ::String,
1982
+ kind: T.nilable(::Spoom::Deadcode::Definition::Kind)
1983
+ ).returns(::String)
1984
+ end
1985
+ def transform_sig(node, name:, kind:); end
1986
+ end
1987
+
1988
+ # source://spoom//lib/spoom/deadcode/send.rb#7
1989
+ class Spoom::Deadcode::Send < ::T::Struct
1990
+ const :node, ::Prism::CallNode
1991
+ const :name, ::String
1992
+ const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil)
1993
+ const :args, T::Array[::Prism::Node], default: T.unsafe(nil)
1994
+ const :block, T.nilable(::Prism::Node), default: T.unsafe(nil)
1995
+ const :location, ::Spoom::Location
1996
+
1997
+ # source://spoom//lib/spoom/deadcode/send.rb#22
1998
+ sig do
1999
+ type_parameters(:T)
2000
+ .params(
2001
+ arg_type: T::Class[T.type_parameter(:T)],
2002
+ block: T.proc.params(arg: T.type_parameter(:T)).void
2003
+ ).void
2004
+ end
2005
+ def each_arg(arg_type, &block); end
2006
+
2007
+ # source://spoom//lib/spoom/deadcode/send.rb#29
2008
+ sig { params(block: T.proc.params(key: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void }
2009
+ def each_arg_assoc(&block); end
2010
+
2011
+ class << self
2012
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2013
+ def inherited(s); end
2014
+ end
2015
+ end
2016
+
2017
+ # source://spoom//lib/spoom.rb#12
2018
+ class Spoom::Error < ::StandardError; end
2019
+
2020
+ # source://spoom//lib/spoom/context/exec.rb#5
2021
+ class Spoom::ExecResult < ::T::Struct
2022
+ const :out, ::String
2023
+ const :err, T.nilable(::String)
2024
+ const :status, T::Boolean
2025
+ const :exit_code, ::Integer
2026
+
2027
+ # source://spoom//lib/spoom/context/exec.rb#14
2028
+ sig { returns(::String) }
2029
+ def to_s; end
2030
+
2031
+ class << self
2032
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2033
+ def inherited(s); end
2034
+ end
2035
+ end
2036
+
2037
+ # source://spoom//lib/spoom/file_collector.rb#5
2038
+ class Spoom::FileCollector
2039
+ # source://spoom//lib/spoom/file_collector.rb#26
2040
+ sig do
2041
+ params(
2042
+ allow_extensions: T::Array[::String],
2043
+ allow_mime_types: T::Array[::String],
2044
+ exclude_patterns: T::Array[::String]
2045
+ ).void
2046
+ end
2047
+ def initialize(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
2048
+
2049
+ # source://spoom//lib/spoom/file_collector.rb#9
2050
+ sig { returns(T::Array[::String]) }
2051
+ def files; end
2052
+
2053
+ # source://spoom//lib/spoom/file_collector.rb#39
2054
+ sig { params(path: ::String).void }
2055
+ def visit_path(path); end
2056
+
2057
+ # source://spoom//lib/spoom/file_collector.rb#34
2058
+ sig { params(paths: T::Array[::String]).void }
2059
+ def visit_paths(paths); end
2060
+
2061
+ private
2062
+
2063
+ # source://spoom//lib/spoom/file_collector.rb#56
2064
+ sig { params(path: ::String).returns(::String) }
2065
+ def clean_path(path); end
2066
+
2067
+ # source://spoom//lib/spoom/file_collector.rb#73
2068
+ sig { params(path: ::String).returns(T::Boolean) }
2069
+ def excluded_file?(path); end
2070
+
2071
+ # source://spoom//lib/spoom/file_collector.rb#88
2072
+ sig { params(path: ::String).returns(T::Boolean) }
2073
+ def excluded_path?(path); end
2074
+
2075
+ # source://spoom//lib/spoom/file_collector.rb#97
2076
+ sig { params(path: ::String).returns(T.nilable(::String)) }
2077
+ def mime_type_for(path); end
2078
+
2079
+ # source://spoom//lib/spoom/file_collector.rb#68
2080
+ sig { params(path: ::String).void }
2081
+ def visit_directory(path); end
2082
+
2083
+ # source://spoom//lib/spoom/file_collector.rb#61
2084
+ sig { params(path: ::String).void }
2085
+ def visit_file(path); end
2086
+ end
2087
+
2088
+ # source://spoom//lib/spoom/file_tree.rb#6
2089
+ class Spoom::FileTree
2090
+ # source://spoom//lib/spoom/file_tree.rb#10
2091
+ sig { params(paths: T::Enumerable[::String]).void }
2092
+ def initialize(paths = T.unsafe(nil)); end
2093
+
2094
+ # source://spoom//lib/spoom/file_tree.rb#25
2095
+ sig { params(path: ::String).returns(::Spoom::FileTree::Node) }
2096
+ def add_path(path); end
2097
+
2098
+ # source://spoom//lib/spoom/file_tree.rb#17
2099
+ sig { params(paths: T::Enumerable[::String]).void }
2100
+ def add_paths(paths); end
2101
+
2102
+ # source://spoom//lib/spoom/file_tree.rb#45
2103
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
2104
+ def nodes; end
2105
+
2106
+ # source://spoom//lib/spoom/file_tree.rb#59
2107
+ sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, ::Float]) }
2108
+ def nodes_strictness_scores(context); end
2109
+
2110
+ # source://spoom//lib/spoom/file_tree.rb#53
2111
+ sig { returns(T::Array[::String]) }
2112
+ def paths; end
2113
+
2114
+ # source://spoom//lib/spoom/file_tree.rb#67
2115
+ sig { params(context: ::Spoom::Context).returns(T::Hash[::String, ::Float]) }
2116
+ def paths_strictness_scores(context); end
2117
+
2118
+ # source://spoom//lib/spoom/file_tree.rb#72
2119
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean).void }
2120
+ def print(out: T.unsafe(nil), colors: T.unsafe(nil)); end
2121
+
2122
+ # source://spoom//lib/spoom/file_tree.rb#39
2123
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
2124
+ def roots; end
2125
+ end
2126
+
2127
+ # source://spoom//lib/spoom/file_tree.rb#124
2128
+ class Spoom::FileTree::CollectNodes < ::Spoom::FileTree::Visitor
2129
+ # source://spoom//lib/spoom/file_tree.rb#131
2130
+ sig { void }
2131
+ def initialize; end
2132
+
2133
+ # source://spoom//lib/spoom/file_tree.rb#128
2134
+ sig { returns(T::Array[::Spoom::FileTree::Node]) }
2135
+ def nodes; end
2136
+
2137
+ # source://spoom//lib/spoom/file_tree.rb#137
2138
+ sig { override.params(node: ::Spoom::FileTree::Node).void }
2139
+ def visit_node(node); end
2140
+ end
2141
+
2142
+ # source://spoom//lib/spoom/file_tree.rb#167
2143
+ class Spoom::FileTree::CollectScores < ::Spoom::FileTree::CollectStrictnesses
2144
+ # source://spoom//lib/spoom/file_tree.rb#174
2145
+ sig { params(context: ::Spoom::Context).void }
2146
+ def initialize(context); end
2147
+
2148
+ # source://spoom//lib/spoom/file_tree.rb#171
2149
+ sig { returns(T::Hash[::Spoom::FileTree::Node, ::Float]) }
2150
+ def scores; end
2151
+
2152
+ # source://spoom//lib/spoom/file_tree.rb#181
2153
+ sig { override.params(node: ::Spoom::FileTree::Node).void }
2154
+ def visit_node(node); end
2155
+
2156
+ private
2157
+
2158
+ # source://spoom//lib/spoom/file_tree.rb#190
2159
+ sig { params(node: ::Spoom::FileTree::Node).returns(::Float) }
2160
+ def node_score(node); end
2161
+
2162
+ # source://spoom//lib/spoom/file_tree.rb#199
2163
+ sig { params(strictness: T.nilable(::String)).returns(::Float) }
2164
+ def strictness_score(strictness); end
2165
+ end
2166
+
2167
+ # source://spoom//lib/spoom/file_tree.rb#144
2168
+ class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor
2169
+ # source://spoom//lib/spoom/file_tree.rb#151
2170
+ sig { params(context: ::Spoom::Context).void }
2171
+ def initialize(context); end
2172
+
2173
+ # source://spoom//lib/spoom/file_tree.rb#148
2174
+ sig { returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) }
2175
+ def strictnesses; end
2176
+
2177
+ # source://spoom//lib/spoom/file_tree.rb#158
2178
+ sig { override.params(node: ::Spoom::FileTree::Node).void }
2179
+ def visit_node(node); end
2180
+ end
2181
+
2182
+ # source://spoom//lib/spoom/file_tree.rb#78
2183
+ class Spoom::FileTree::Node < ::T::Struct
2184
+ const :parent, T.nilable(::Spoom::FileTree::Node)
2185
+ const :name, ::String
2186
+ const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil)
2187
+
2188
+ # source://spoom//lib/spoom/file_tree.rb#92
2189
+ sig { returns(::String) }
2190
+ def path; end
2191
+
2192
+ class << self
2193
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2194
+ def inherited(s); end
2195
+ end
2196
+ end
2197
+
2198
+ # source://spoom//lib/spoom/file_tree.rb#212
2199
+ class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor
2200
+ # source://spoom//lib/spoom/file_tree.rb#222
2201
+ sig do
2202
+ params(
2203
+ strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
2204
+ out: T.any(::IO, ::StringIO),
2205
+ colors: T::Boolean
2206
+ ).void
2207
+ end
2208
+ def initialize(strictnesses, out: T.unsafe(nil), colors: T.unsafe(nil)); end
2209
+
2210
+ # source://spoom//lib/spoom/file_tree.rb#230
2211
+ sig { override.params(node: ::Spoom::FileTree::Node).void }
2212
+ def visit_node(node); end
2213
+
2214
+ private
2215
+
2216
+ # source://spoom//lib/spoom/file_tree.rb#255
2217
+ sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) }
2218
+ def strictness_color(strictness); end
2219
+ end
2220
+
2221
+ # source://spoom//lib/spoom/file_tree.rb#101
2222
+ class Spoom::FileTree::Visitor
2223
+ abstract!
2224
+
2225
+ # source://spoom//lib/spoom/file_tree.rb#113
2226
+ sig { params(node: ::Spoom::FileTree::Node).void }
2227
+ def visit_node(node); end
2228
+
2229
+ # source://spoom//lib/spoom/file_tree.rb#118
2230
+ sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void }
2231
+ def visit_nodes(nodes); end
2232
+
2233
+ # source://spoom//lib/spoom/file_tree.rb#108
2234
+ sig { params(tree: ::Spoom::FileTree).void }
2235
+ def visit_tree(tree); end
2236
+ end
2237
+
2238
+ # source://spoom//lib/spoom/context/git.rb#5
2239
+ module Spoom::Git; end
2240
+
2241
+ # source://spoom//lib/spoom/context/git.rb#6
2242
+ class Spoom::Git::Commit < ::T::Struct
2243
+ const :sha, ::String
2244
+ const :time, ::Time
2245
+
2246
+ # source://spoom//lib/spoom/context/git.rb#27
2247
+ sig { returns(::Integer) }
2248
+ def timestamp; end
2249
+
2250
+ class << self
2251
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2252
+ def inherited(s); end
2253
+
2254
+ # source://spoom//lib/spoom/context/git.rb#14
2255
+ sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
2256
+ def parse_line(string); end
2257
+ end
2258
+ end
2259
+
2260
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#5
2261
+ module Spoom::LSP; end
2262
+
2263
+ # source://spoom//lib/spoom/sorbet/lsp.rb#13
2264
+ class Spoom::LSP::Client
2265
+ # source://spoom//lib/spoom/sorbet/lsp.rb#17
2266
+ sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void }
2267
+ def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end
2268
+
2269
+ # source://spoom//lib/spoom/sorbet/lsp.rb#229
2270
+ sig { void }
2271
+ def close; end
2272
+
2273
+ # source://spoom//lib/spoom/sorbet/lsp.rb#131
2274
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
2275
+ def definitions(uri, line, column); end
2276
+
2277
+ # source://spoom//lib/spoom/sorbet/lsp.rb#212
2278
+ sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
2279
+ def document_symbols(uri); end
2280
+
2281
+ # source://spoom//lib/spoom/sorbet/lsp.rb#89
2282
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) }
2283
+ def hover(uri, line, column); end
2284
+
2285
+ # source://spoom//lib/spoom/sorbet/lsp.rb#27
2286
+ sig { returns(::Integer) }
2287
+ def next_id; end
2288
+
2289
+ # source://spoom//lib/spoom/sorbet/lsp.rb#72
2290
+ sig { params(workspace_path: ::String).void }
2291
+ def open(workspace_path); end
2292
+
2293
+ # source://spoom//lib/spoom/sorbet/lsp.rb#54
2294
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
2295
+ def read; end
2296
+
2297
+ # source://spoom//lib/spoom/sorbet/lsp.rb#43
2298
+ sig { returns(T.nilable(::String)) }
2299
+ def read_raw; end
2300
+
2301
+ # source://spoom//lib/spoom/sorbet/lsp.rb#173
2302
+ sig do
2303
+ params(
2304
+ uri: ::String,
2305
+ line: ::Integer,
2306
+ column: ::Integer,
2307
+ include_decl: T::Boolean
2308
+ ).returns(T::Array[::Spoom::LSP::Location])
2309
+ end
2310
+ def references(uri, line, column, include_decl = T.unsafe(nil)); end
2311
+
2312
+ # source://spoom//lib/spoom/sorbet/lsp.rb#37
2313
+ sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
2314
+ def send(message); end
2315
+
2316
+ # source://spoom//lib/spoom/sorbet/lsp.rb#32
2317
+ sig { params(json_string: ::String).void }
2318
+ def send_raw(json_string); end
2319
+
2320
+ # source://spoom//lib/spoom/sorbet/lsp.rb#110
2321
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) }
2322
+ def signatures(uri, line, column); end
2323
+
2324
+ # source://spoom//lib/spoom/sorbet/lsp.rb#197
2325
+ sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
2326
+ def symbols(query); end
2327
+
2328
+ # source://spoom//lib/spoom/sorbet/lsp.rb#152
2329
+ sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) }
2330
+ def type_definitions(uri, line, column); end
2331
+ end
2332
+
2333
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#178
2334
+ class Spoom::LSP::Diagnostic < ::T::Struct
2335
+ include ::Spoom::LSP::PrintableSymbol
2336
+
2337
+ const :range, ::Spoom::LSP::Range
2338
+ const :code, ::Integer
2339
+ const :message, ::String
2340
+ const :information, ::Object
2341
+
2342
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#202
2343
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2344
+ def accept_printer(printer); end
2345
+
2346
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#207
2347
+ sig { returns(::String) }
2348
+ def to_s; end
2349
+
2350
+ class << self
2351
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#191
2352
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
2353
+ def from_json(json); end
2354
+
2355
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2356
+ def inherited(s); end
2357
+ end
2358
+ end
2359
+
2360
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#212
2361
+ class Spoom::LSP::DocumentSymbol < ::T::Struct
2362
+ include ::Spoom::LSP::PrintableSymbol
2363
+
2364
+ const :name, ::String
2365
+ const :detail, T.nilable(::String)
2366
+ const :kind, ::Integer
2367
+ const :location, T.nilable(::Spoom::LSP::Location)
2368
+ const :range, T.nilable(::Spoom::LSP::Range)
2369
+ const :children, T::Array[::Spoom::LSP::DocumentSymbol]
2370
+
2371
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#240
2372
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2373
+ def accept_printer(printer); end
2374
+
2375
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#272
2376
+ sig { returns(::String) }
2377
+ def kind_string; end
2378
+
2379
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#267
2380
+ sig { returns(::String) }
2381
+ def to_s; end
2382
+
2383
+ class << self
2384
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#227
2385
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
2386
+ def from_json(json); end
2387
+
2388
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2389
+ def inherited(s); end
2390
+ end
2391
+ end
2392
+
2393
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#276
2394
+ Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
2395
+
2396
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#6
2397
+ class Spoom::LSP::Error < ::Spoom::Error; end
2398
+
2399
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#7
2400
+ class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
2401
+
2402
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#8
2403
+ class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end
2404
+
2405
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#10
2406
+ class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
2407
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#32
2408
+ sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void }
2409
+ def initialize(uri, diagnostics); end
2410
+
2411
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#17
2412
+ sig { returns(T::Array[::Spoom::LSP::Diagnostic]) }
2413
+ def diagnostics; end
2414
+
2415
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#14
2416
+ sig { returns(::String) }
2417
+ def uri; end
2418
+
2419
+ class << self
2420
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#23
2421
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) }
2422
+ def from_json(json); end
2423
+ end
2424
+ end
2425
+
2426
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#19
2427
+ class Spoom::LSP::Hover < ::T::Struct
2428
+ include ::Spoom::LSP::PrintableSymbol
2429
+
2430
+ const :contents, ::String
2431
+ const :range, T.nilable(T::Range[T.untyped])
2432
+
2433
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#39
2434
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2435
+ def accept_printer(printer); end
2436
+
2437
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#45
2438
+ sig { returns(::String) }
2439
+ def to_s; end
2440
+
2441
+ class << self
2442
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#30
2443
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
2444
+ def from_json(json); end
2445
+
2446
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2447
+ def inherited(s); end
2448
+ end
2449
+ end
2450
+
2451
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#112
2452
+ class Spoom::LSP::Location < ::T::Struct
2453
+ include ::Spoom::LSP::PrintableSymbol
2454
+
2455
+ const :uri, ::String
2456
+ const :range, ::Spoom::LSP::Range
2457
+
2458
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#132
2459
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2460
+ def accept_printer(printer); end
2461
+
2462
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#138
2463
+ sig { returns(::String) }
2464
+ def to_s; end
2465
+
2466
+ class << self
2467
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#123
2468
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
2469
+ def from_json(json); end
2470
+
2471
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2472
+ def inherited(s); end
2473
+ end
2474
+ end
2475
+
2476
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#12
2477
+ class Spoom::LSP::Message
2478
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
2479
+ sig { void }
2480
+ def initialize; end
2481
+
2482
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#21
2483
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2484
+ def as_json; end
2485
+
2486
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#29
2487
+ sig { params(args: T.untyped).returns(::String) }
2488
+ def to_json(*args); end
2489
+ end
2490
+
2491
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#58
2492
+ class Spoom::LSP::Notification < ::Spoom::LSP::Message
2493
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
2494
+ sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
2495
+ def initialize(method, params); end
2496
+
2497
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#62
2498
+ sig { returns(::String) }
2499
+ def method; end
2500
+
2501
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#65
2502
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2503
+ def params; end
2504
+ end
2505
+
2506
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#50
2507
+ class Spoom::LSP::Position < ::T::Struct
2508
+ include ::Spoom::LSP::PrintableSymbol
2509
+
2510
+ const :line, ::Integer
2511
+ const :char, ::Integer
2512
+
2513
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#70
2514
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2515
+ def accept_printer(printer); end
2516
+
2517
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#75
2518
+ sig { returns(::String) }
2519
+ def to_s; end
2520
+
2521
+ class << self
2522
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#61
2523
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
2524
+ def from_json(json); end
2525
+
2526
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2527
+ def inherited(s); end
2528
+ end
2529
+ end
2530
+
2531
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#9
2532
+ module Spoom::LSP::PrintableSymbol
2533
+ interface!
2534
+
2535
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#16
2536
+ sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2537
+ def accept_printer(printer); end
2538
+ end
2539
+
2540
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#80
2541
+ class Spoom::LSP::Range < ::T::Struct
2542
+ include ::Spoom::LSP::PrintableSymbol
2543
+
2544
+ const :start, ::Spoom::LSP::Position
2545
+ const :end, ::Spoom::LSP::Position
2546
+
2547
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#100
2548
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2549
+ def accept_printer(printer); end
2550
+
2551
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#107
2552
+ sig { returns(::String) }
2553
+ def to_s; end
2554
+
2555
+ class << self
2556
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#91
2557
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
2558
+ def from_json(json); end
2559
+
2560
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2561
+ def inherited(s); end
2562
+ end
2563
+ end
2564
+
2565
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#37
2566
+ class Spoom::LSP::Request < ::Spoom::LSP::Message
2567
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
2568
+ sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
2569
+ def initialize(id, method, params); end
2570
+
2571
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#41
2572
+ sig { returns(::Integer) }
2573
+ def id; end
2574
+
2575
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
2576
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2577
+ def params; end
2578
+ end
2579
+
2580
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#40
2581
+ class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
2582
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#63
2583
+ sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void }
2584
+ def initialize(code, message, data); end
2585
+
2586
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#44
2587
+ sig { returns(::Integer) }
2588
+ def code; end
2589
+
2590
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#47
2591
+ sig { returns(T::Hash[T.untyped, T.untyped]) }
2592
+ def data; end
2593
+
2594
+ class << self
2595
+ # source://spoom//lib/spoom/sorbet/lsp/errors.rb#53
2596
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) }
2597
+ def from_json(json); end
2598
+ end
2599
+ end
2600
+
2601
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#143
2602
+ class Spoom::LSP::SignatureHelp < ::T::Struct
2603
+ include ::Spoom::LSP::PrintableSymbol
2604
+
2605
+ const :label, T.nilable(::String)
2606
+ const :doc, ::Object
2607
+ const :params, T::Array[T.untyped]
2608
+
2609
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#165
2610
+ sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2611
+ def accept_printer(printer); end
2612
+
2613
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#173
2614
+ sig { returns(::String) }
2615
+ def to_s; end
2616
+
2617
+ class << self
2618
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#155
2619
+ sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
2620
+ def from_json(json); end
2621
+
2622
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2623
+ def inherited(s); end
2624
+ end
2625
+ end
2626
+
2627
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#309
2628
+ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
2629
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#326
2630
+ sig do
2631
+ params(
2632
+ out: T.any(::IO, ::StringIO),
2633
+ colors: T::Boolean,
2634
+ indent_level: ::Integer,
2635
+ prefix: T.nilable(::String)
2636
+ ).void
2637
+ end
2638
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end
2639
+
2640
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#348
2641
+ sig { params(uri: ::String).returns(::String) }
2642
+ def clean_uri(uri); end
2643
+
2644
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#316
2645
+ sig { returns(T.nilable(::String)) }
2646
+ def prefix; end
2647
+
2648
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#316
2649
+ def prefix=(_arg0); end
2650
+
2651
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#356
2652
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
2653
+ def print_list(objects); end
2654
+
2655
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#336
2656
+ sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void }
2657
+ def print_object(object); end
2658
+
2659
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#343
2660
+ sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
2661
+ def print_objects(objects); end
2662
+
2663
+ # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
2664
+ sig { returns(T::Set[::Integer]) }
2665
+ def seen; end
2666
+ end
2667
+
2668
+ # source://spoom//lib/spoom/location.rb#5
2669
+ class Spoom::Location
2670
+ include ::Comparable
2671
+
2672
+ # source://spoom//lib/spoom/location.rb#73
2673
+ sig do
2674
+ params(
2675
+ file: ::String,
2676
+ start_line: T.nilable(::Integer),
2677
+ start_column: T.nilable(::Integer),
2678
+ end_line: T.nilable(::Integer),
2679
+ end_column: T.nilable(::Integer)
2680
+ ).void
2681
+ end
2682
+ def initialize(file, start_line: T.unsafe(nil), start_column: T.unsafe(nil), end_line: T.unsafe(nil), end_column: T.unsafe(nil)); end
2683
+
2684
+ # source://spoom//lib/spoom/location.rb#106
2685
+ sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) }
2686
+ def <=>(other); end
2687
+
2688
+ # source://spoom//lib/spoom/location.rb#62
2689
+ def end_column; end
2690
+
2691
+ # source://spoom//lib/spoom/location.rb#62
2692
+ def end_line; end
2693
+
2694
+ # source://spoom//lib/spoom/location.rb#59
2695
+ sig { returns(::String) }
2696
+ def file; end
2697
+
2698
+ # source://spoom//lib/spoom/location.rb#93
2699
+ sig { params(other: ::Spoom::Location).returns(T::Boolean) }
2700
+ def include?(other); end
2701
+
2702
+ # source://spoom//lib/spoom/location.rb#62
2703
+ def start_column; end
2704
+
2705
+ # source://spoom//lib/spoom/location.rb#62
2706
+ sig { returns(T.nilable(::Integer)) }
2707
+ def start_line; end
2708
+
2709
+ # source://spoom//lib/spoom/location.rb#129
2710
+ sig { returns(::String) }
2711
+ def to_s; end
2712
+
2713
+ class << self
2714
+ # source://spoom//lib/spoom/location.rb#47
2715
+ sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Location) }
2716
+ def from_prism(file, location); end
2717
+
2718
+ # source://spoom//lib/spoom/location.rb#16
2719
+ sig { params(location_string: ::String).returns(::Spoom::Location) }
2720
+ def from_string(location_string); end
2721
+ end
2722
+ end
2723
+
2724
+ # source://spoom//lib/spoom/location.rb#10
2725
+ class Spoom::Location::LocationError < ::Spoom::Error; end
2726
+
2727
+ # source://spoom//lib/spoom/model/model.rb#5
2728
+ class Spoom::Model
2729
+ # source://spoom//lib/spoom/model/model.rb#238
2730
+ sig { void }
2731
+ def initialize; end
2732
+
2733
+ # source://spoom//lib/spoom/model/model.rb#247
2734
+ sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) }
2735
+ def [](full_name); end
2736
+
2737
+ # source://spoom//lib/spoom/model/model.rb#296
2738
+ sig { void }
2739
+ def finalize!; end
2740
+
2741
+ # source://spoom//lib/spoom/model/model.rb#258
2742
+ sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) }
2743
+ def register_symbol(full_name); end
2744
+
2745
+ # source://spoom//lib/spoom/model/model.rb#263
2746
+ sig { params(full_name: ::String, context: ::Spoom::Model::Symbol).returns(::Spoom::Model::Symbol) }
2747
+ def resolve_symbol(full_name, context:); end
2748
+
2749
+ # source://spoom//lib/spoom/model/model.rb#290
2750
+ sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) }
2751
+ def subtypes(symbol); end
2752
+
2753
+ # source://spoom//lib/spoom/model/model.rb#284
2754
+ sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) }
2755
+ def supertypes(symbol); end
2756
+
2757
+ # source://spoom//lib/spoom/model/model.rb#232
2758
+ sig { returns(T::Hash[::String, ::Spoom::Model::Symbol]) }
2759
+ def symbols; end
2760
+
2761
+ # source://spoom//lib/spoom/model/model.rb#235
2762
+ sig { returns(Spoom::Poset[::Spoom::Model::Symbol]) }
2763
+ def symbols_hierarchy; end
2764
+
2765
+ private
2766
+
2767
+ # source://spoom//lib/spoom/model/model.rb#303
2768
+ sig { void }
2769
+ def compute_symbols_hierarchy!; end
2770
+ end
2771
+
2772
+ # source://spoom//lib/spoom/model/model.rb#179
2773
+ class Spoom::Model::Attr < ::Spoom::Model::Property
2774
+ abstract!
2775
+ end
2776
+
2777
+ # source://spoom//lib/spoom/model/model.rb#185
2778
+ class Spoom::Model::AttrAccessor < ::Spoom::Model::Attr; end
2779
+
2780
+ # source://spoom//lib/spoom/model/model.rb#183
2781
+ class Spoom::Model::AttrReader < ::Spoom::Model::Attr; end
2782
+
2783
+ # source://spoom//lib/spoom/model/model.rb#184
2784
+ class Spoom::Model::AttrWriter < ::Spoom::Model::Attr; end
2785
+
2786
+ # source://spoom//lib/spoom/model/builder.rb#7
2787
+ class Spoom::Model::Builder < ::Spoom::Model::NamespaceVisitor
2788
+ # source://spoom//lib/spoom/model/builder.rb#11
2789
+ sig { params(model: ::Spoom::Model, file: ::String).void }
2790
+ def initialize(model, file); end
2791
+
2792
+ # source://spoom//lib/spoom/model/builder.rb#146
2793
+ sig { override.params(node: ::Prism::CallNode).void }
2794
+ def visit_call_node(node); end
2795
+
2796
+ # source://spoom//lib/spoom/model/builder.rb#24
2797
+ sig { override.params(node: ::Prism::ClassNode).void }
2798
+ def visit_class_node(node); end
2799
+
2800
+ # source://spoom//lib/spoom/model/builder.rb#71
2801
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
2802
+ def visit_constant_path_write_node(node); end
2803
+
2804
+ # source://spoom//lib/spoom/model/builder.rb#92
2805
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
2806
+ def visit_constant_write_node(node); end
2807
+
2808
+ # source://spoom//lib/spoom/model/builder.rb#127
2809
+ sig { override.params(node: ::Prism::DefNode).void }
2810
+ def visit_def_node(node); end
2811
+
2812
+ # source://spoom//lib/spoom/model/builder.rb#55
2813
+ sig { override.params(node: ::Prism::ModuleNode).void }
2814
+ def visit_module_node(node); end
2815
+
2816
+ # source://spoom//lib/spoom/model/builder.rb#106
2817
+ sig { override.params(node: ::Prism::MultiWriteNode).void }
2818
+ def visit_multi_write_node(node); end
2819
+
2820
+ # source://spoom//lib/spoom/model/builder.rb#39
2821
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
2822
+ def visit_singleton_class_node(node); end
2823
+
2824
+ private
2825
+
2826
+ # source://spoom//lib/spoom/model/builder.rb#234
2827
+ sig { returns(T::Array[::Spoom::Model::Sig]) }
2828
+ def collect_sigs; end
2829
+
2830
+ # source://spoom//lib/spoom/model/builder.rb#229
2831
+ sig { returns(::Spoom::Model::Visibility) }
2832
+ def current_visibility; end
2833
+
2834
+ # source://spoom//lib/spoom/model/builder.rb#241
2835
+ sig { params(node: ::Prism::Node).returns(::Spoom::Location) }
2836
+ def node_location(node); end
2837
+ end
2838
+
2839
+ # source://spoom//lib/spoom/model/model.rb#117
2840
+ class Spoom::Model::Class < ::Spoom::Model::Namespace
2841
+ # source://spoom//lib/spoom/model/model.rb#129
2842
+ sig do
2843
+ params(
2844
+ symbol: ::Spoom::Model::Symbol,
2845
+ owner: T.nilable(::Spoom::Model::Namespace),
2846
+ location: ::Spoom::Location,
2847
+ superclass_name: T.nilable(::String)
2848
+ ).void
2849
+ end
2850
+ def initialize(symbol, owner:, location:, superclass_name: T.unsafe(nil)); end
2851
+
2852
+ # source://spoom//lib/spoom/model/model.rb#119
2853
+ sig { returns(T.nilable(::String)) }
2854
+ def superclass_name; end
2855
+
2856
+ # source://spoom//lib/spoom/model/model.rb#119
2857
+ def superclass_name=(_arg0); end
2858
+ end
2859
+
2860
+ # source://spoom//lib/spoom/model/model.rb#138
2861
+ class Spoom::Model::Constant < ::Spoom::Model::SymbolDef
2862
+ # source://spoom//lib/spoom/model/model.rb#143
2863
+ sig do
2864
+ params(
2865
+ symbol: ::Spoom::Model::Symbol,
2866
+ owner: T.nilable(::Spoom::Model::Namespace),
2867
+ location: ::Spoom::Location,
2868
+ value: ::String
2869
+ ).void
2870
+ end
2871
+ def initialize(symbol, owner:, location:, value:); end
2872
+
2873
+ # source://spoom//lib/spoom/model/model.rb#140
2874
+ sig { returns(::String) }
2875
+ def value; end
2876
+ end
2877
+
2878
+ # source://spoom//lib/spoom/model/model.rb#8
2879
+ class Spoom::Model::Error < ::Spoom::Error; end
2880
+
2881
+ # source://spoom//lib/spoom/model/model.rb#213
2882
+ class Spoom::Model::Extend < ::Spoom::Model::Mixin; end
2883
+
2884
+ # source://spoom//lib/spoom/model/model.rb#211
2885
+ class Spoom::Model::Include < ::Spoom::Model::Mixin; end
2886
+
2887
+ # source://spoom//lib/spoom/model/model.rb#177
2888
+ class Spoom::Model::Method < ::Spoom::Model::Property; end
2889
+
2890
+ # source://spoom//lib/spoom/model/model.rb#196
2891
+ class Spoom::Model::Mixin
2892
+ abstract!
2893
+
2894
+ # source://spoom//lib/spoom/model/model.rb#206
2895
+ sig { params(name: ::String).void }
2896
+ def initialize(name); end
2897
+
2898
+ # source://spoom//lib/spoom/model/model.rb#203
2899
+ sig { returns(::String) }
2900
+ def name; end
2901
+ end
2902
+
2903
+ # source://spoom//lib/spoom/model/model.rb#136
2904
+ class Spoom::Model::Module < ::Spoom::Model::Namespace; end
2905
+
2906
+ # source://spoom//lib/spoom/model/model.rb#97
2907
+ class Spoom::Model::Namespace < ::Spoom::Model::SymbolDef
2908
+ abstract!
2909
+
2910
+ # source://spoom//lib/spoom/model/model.rb#107
2911
+ sig do
2912
+ params(
2913
+ symbol: ::Spoom::Model::Symbol,
2914
+ owner: T.nilable(::Spoom::Model::Namespace),
2915
+ location: ::Spoom::Location
2916
+ ).void
2917
+ end
2918
+ def initialize(symbol, owner:, location:); end
2919
+
2920
+ # source://spoom//lib/spoom/model/model.rb#101
2921
+ sig { returns(T::Array[::Spoom::Model::SymbolDef]) }
2922
+ def children; end
2923
+
2924
+ # source://spoom//lib/spoom/model/model.rb#104
2925
+ sig { returns(T::Array[::Spoom::Model::Mixin]) }
2926
+ def mixins; end
2927
+ end
2928
+
2929
+ # source://spoom//lib/spoom/model/namespace_visitor.rb#6
2930
+ class Spoom::Model::NamespaceVisitor < ::Spoom::Visitor
2931
+ abstract!
2932
+
2933
+ # source://spoom//lib/spoom/model/namespace_visitor.rb#12
2934
+ sig { void }
2935
+ def initialize; end
2936
+
2937
+ # source://spoom//lib/spoom/model/namespace_visitor.rb#19
2938
+ sig { override.params(node: T.nilable(::Prism::Node)).void }
2939
+ def visit(node); end
2940
+ end
2941
+
2942
+ # source://spoom//lib/spoom/model/model.rb#212
2943
+ class Spoom::Model::Prepend < ::Spoom::Model::Mixin; end
2944
+
2945
+ # source://spoom//lib/spoom/model/model.rb#151
2946
+ class Spoom::Model::Property < ::Spoom::Model::SymbolDef
2947
+ abstract!
2948
+
2949
+ # source://spoom//lib/spoom/model/model.rb#169
2950
+ sig do
2951
+ params(
2952
+ symbol: ::Spoom::Model::Symbol,
2953
+ owner: T.nilable(::Spoom::Model::Namespace),
2954
+ location: ::Spoom::Location,
2955
+ visibility: ::Spoom::Model::Visibility,
2956
+ sigs: T::Array[::Spoom::Model::Sig]
2957
+ ).void
2958
+ end
2959
+ def initialize(symbol, owner:, location:, visibility:, sigs: T.unsafe(nil)); end
2960
+
2961
+ # source://spoom//lib/spoom/model/model.rb#158
2962
+ sig { returns(T::Array[::Spoom::Model::Sig]) }
2963
+ def sigs; end
2964
+
2965
+ # source://spoom//lib/spoom/model/model.rb#155
2966
+ sig { returns(::Spoom::Model::Visibility) }
2967
+ def visibility; end
2968
+ end
2969
+
2970
+ # source://spoom//lib/spoom/model/reference.rb#10
2971
+ class Spoom::Model::Reference < ::T::Struct
2972
+ const :kind, ::Spoom::Model::Reference::Kind
2973
+ const :name, ::String
2974
+ const :location, ::Spoom::Location
2975
+
2976
+ # source://spoom//lib/spoom/model/reference.rb#39
2977
+ sig { returns(T::Boolean) }
2978
+ def constant?; end
2979
+
2980
+ # source://spoom//lib/spoom/model/reference.rb#44
2981
+ sig { returns(T::Boolean) }
2982
+ def method?; end
2983
+
2984
+ class << self
2985
+ # source://spoom//lib/spoom/model/reference.rb#24
2986
+ sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) }
2987
+ def constant(name, location); end
2988
+
2989
+ # source://sorbet-runtime/0.5.11763/lib/types/struct.rb#13
2990
+ def inherited(s); end
2991
+
2992
+ # source://spoom//lib/spoom/model/reference.rb#29
2993
+ sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) }
2994
+ def method(name, location); end
2995
+ end
2996
+ end
2997
+
2998
+ # source://spoom//lib/spoom/model/reference.rb#13
2999
+ class Spoom::Model::Reference::Kind < ::T::Enum
3000
+ enums do
3001
+ Constant = new
3002
+ Method = new
3003
+ end
3004
+ end
3005
+
3006
+ # source://spoom//lib/spoom/model/references_visitor.rb#7
3007
+ class Spoom::Model::ReferencesVisitor < ::Spoom::Visitor
3008
+ # source://spoom//lib/spoom/model/references_visitor.rb#14
3009
+ sig { params(file: ::String).void }
3010
+ def initialize(file); end
3011
+
3012
+ # source://spoom//lib/spoom/model/references_visitor.rb#11
3013
+ sig { returns(T::Array[::Spoom::Model::Reference]) }
3014
+ def references; end
3015
+
3016
+ # source://spoom//lib/spoom/model/references_visitor.rb#22
3017
+ sig { override.params(node: ::Prism::AliasMethodNode).void }
3018
+ def visit_alias_method_node(node); end
3019
+
3020
+ # source://spoom//lib/spoom/model/references_visitor.rb#27
3021
+ sig { override.params(node: ::Prism::AndNode).void }
3022
+ def visit_and_node(node); end
3023
+
3024
+ # source://spoom//lib/spoom/model/references_visitor.rb#33
3025
+ sig { override.params(node: ::Prism::BlockArgumentNode).void }
3026
+ def visit_block_argument_node(node); end
3027
+
3028
+ # source://spoom//lib/spoom/model/references_visitor.rb#44
3029
+ sig { override.params(node: ::Prism::CallAndWriteNode).void }
3030
+ def visit_call_and_write_node(node); end
3031
+
3032
+ # source://spoom//lib/spoom/model/references_visitor.rb#68
3033
+ sig { override.params(node: ::Prism::CallNode).void }
3034
+ def visit_call_node(node); end
3035
+
3036
+ # source://spoom//lib/spoom/model/references_visitor.rb#52
3037
+ sig { override.params(node: ::Prism::CallOperatorWriteNode).void }
3038
+ def visit_call_operator_write_node(node); end
3039
+
3040
+ # source://spoom//lib/spoom/model/references_visitor.rb#60
3041
+ sig { override.params(node: ::Prism::CallOrWriteNode).void }
3042
+ def visit_call_or_write_node(node); end
3043
+
3044
+ # source://spoom//lib/spoom/model/references_visitor.rb#85
3045
+ sig { override.params(node: ::Prism::ClassNode).void }
3046
+ def visit_class_node(node); end
3047
+
3048
+ # source://spoom//lib/spoom/model/references_visitor.rb#91
3049
+ sig { override.params(node: ::Prism::ConstantAndWriteNode).void }
3050
+ def visit_constant_and_write_node(node); end
3051
+
3052
+ # source://spoom//lib/spoom/model/references_visitor.rb#97
3053
+ sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void }
3054
+ def visit_constant_operator_write_node(node); end
3055
+
3056
+ # source://spoom//lib/spoom/model/references_visitor.rb#103
3057
+ sig { override.params(node: ::Prism::ConstantOrWriteNode).void }
3058
+ def visit_constant_or_write_node(node); end
3059
+
3060
+ # source://spoom//lib/spoom/model/references_visitor.rb#109
3061
+ sig { override.params(node: ::Prism::ConstantPathNode).void }
3062
+ def visit_constant_path_node(node); end
3063
+
3064
+ # source://spoom//lib/spoom/model/references_visitor.rb#115
3065
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
3066
+ def visit_constant_path_write_node(node); end
3067
+
3068
+ # source://spoom//lib/spoom/model/references_visitor.rb#121
3069
+ sig { override.params(node: ::Prism::ConstantReadNode).void }
3070
+ def visit_constant_read_node(node); end
3071
+
3072
+ # source://spoom//lib/spoom/model/references_visitor.rb#126
3073
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
3074
+ def visit_constant_write_node(node); end
3075
+
3076
+ # source://spoom//lib/spoom/model/references_visitor.rb#131
3077
+ sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void }
3078
+ def visit_local_variable_and_write_node(node); end
3079
+
3080
+ # source://spoom//lib/spoom/model/references_visitor.rb#139
3081
+ sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void }
3082
+ def visit_local_variable_operator_write_node(node); end
3083
+
3084
+ # source://spoom//lib/spoom/model/references_visitor.rb#147
3085
+ sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void }
3086
+ def visit_local_variable_or_write_node(node); end
3087
+
3088
+ # source://spoom//lib/spoom/model/references_visitor.rb#155
3089
+ sig { override.params(node: ::Prism::LocalVariableWriteNode).void }
3090
+ def visit_local_variable_write_node(node); end
3091
+
3092
+ # source://spoom//lib/spoom/model/references_visitor.rb#161
3093
+ sig { override.params(node: ::Prism::ModuleNode).void }
3094
+ def visit_module_node(node); end
3095
+
3096
+ # source://spoom//lib/spoom/model/references_visitor.rb#166
3097
+ sig { override.params(node: ::Prism::MultiWriteNode).void }
3098
+ def visit_multi_write_node(node); end
3099
+
3100
+ # source://spoom//lib/spoom/model/references_visitor.rb#177
3101
+ sig { override.params(node: ::Prism::OrNode).void }
3102
+ def visit_or_node(node); end
3103
+
3104
+ private
3105
+
3106
+ # source://spoom//lib/spoom/model/references_visitor.rb#195
3107
+ sig { params(node: ::Prism::Node).returns(::Spoom::Location) }
3108
+ def node_location(node); end
3109
+
3110
+ # source://spoom//lib/spoom/model/references_visitor.rb#185
3111
+ sig { params(name: ::String, node: ::Prism::Node).void }
3112
+ def reference_constant(name, node); end
3113
+
3114
+ # source://spoom//lib/spoom/model/references_visitor.rb#190
3115
+ sig { params(name: ::String, node: ::Prism::Node).void }
3116
+ def reference_method(name, node); end
3117
+ end
3118
+
3119
+ # source://spoom//lib/spoom/model/model.rb#216
3120
+ class Spoom::Model::Sig
3121
+ # source://spoom//lib/spoom/model/model.rb#223
3122
+ sig { params(string: ::String).void }
3123
+ def initialize(string); end
3124
+
3125
+ # source://spoom//lib/spoom/model/model.rb#220
3126
+ sig { returns(::String) }
3127
+ def string; end
3128
+ end
3129
+
3130
+ # source://spoom//lib/spoom/model/model.rb#115
3131
+ class Spoom::Model::SingletonClass < ::Spoom::Model::Namespace; end
3132
+
3133
+ # source://spoom//lib/spoom/model/model.rb#15
3134
+ class Spoom::Model::Symbol
3135
+ # source://spoom//lib/spoom/model/model.rb#27
3136
+ sig { params(full_name: ::String).void }
3137
+ def initialize(full_name); end
3138
+
3139
+ # source://spoom//lib/spoom/model/model.rb#24
3140
+ sig { returns(T::Array[::Spoom::Model::SymbolDef]) }
3141
+ def definitions; end
3142
+
3143
+ # source://spoom//lib/spoom/model/model.rb#20
3144
+ sig { returns(::String) }
3145
+ def full_name; end
3146
+
3147
+ # source://spoom//lib/spoom/model/model.rb#34
3148
+ sig { returns(::String) }
3149
+ def name; end
3150
+
3151
+ # source://spoom//lib/spoom/model/model.rb#39
3152
+ sig { returns(::String) }
3153
+ def to_s; end
3154
+ end
3155
+
3156
+ # source://spoom//lib/spoom/model/model.rb#55
3157
+ class Spoom::Model::SymbolDef
3158
+ abstract!
3159
+
3160
+ # source://spoom//lib/spoom/model/model.rb#74
3161
+ sig do
3162
+ params(
3163
+ symbol: ::Spoom::Model::Symbol,
3164
+ owner: T.nilable(::Spoom::Model::Namespace),
3165
+ location: ::Spoom::Location
3166
+ ).void
3167
+ end
3168
+ def initialize(symbol, owner:, location:); end
3169
+
3170
+ # source://spoom//lib/spoom/model/model.rb#85
3171
+ sig { returns(::String) }
3172
+ def full_name; end
3173
+
3174
+ # source://spoom//lib/spoom/model/model.rb#71
3175
+ sig { returns(::Spoom::Location) }
3176
+ def location; end
3177
+
3178
+ # source://spoom//lib/spoom/model/model.rb#91
3179
+ sig { returns(::String) }
3180
+ def name; end
3181
+
3182
+ # source://spoom//lib/spoom/model/model.rb#67
3183
+ sig { returns(T.nilable(::Spoom::Model::Namespace)) }
3184
+ def owner; end
3185
+
3186
+ # source://spoom//lib/spoom/model/model.rb#63
3187
+ sig { returns(::Spoom::Model::Symbol) }
3188
+ def symbol; end
3189
+ end
3190
+
3191
+ # source://spoom//lib/spoom/model/model.rb#44
3192
+ class Spoom::Model::UnresolvedSymbol < ::Spoom::Model::Symbol
3193
+ # source://spoom//lib/spoom/model/model.rb#46
3194
+ sig { override.returns(::String) }
3195
+ def to_s; end
3196
+ end
3197
+
3198
+ # source://spoom//lib/spoom/model/model.rb#187
3199
+ class Spoom::Model::Visibility < ::T::Enum
3200
+ enums do
3201
+ Private = new
3202
+ Protected = new
3203
+ Public = new
3204
+ end
3205
+ end
3206
+
3207
+ # source://spoom//lib/spoom/parse.rb#7
3208
+ class Spoom::ParseError < ::Spoom::Error; end
3209
+
3210
+ # source://spoom//lib/spoom/poset.rb#9
3211
+ class Spoom::Poset
3212
+ extend T::Generic
3213
+
3214
+ E = type_member { { upper: Object } }
3215
+
3216
+ # source://spoom//lib/spoom/poset.rb#18
3217
+ sig { void }
3218
+ def initialize; end
3219
+
3220
+ # source://spoom//lib/spoom/poset.rb#26
3221
+ sig { params(value: E).returns(Spoom::Poset::Element[E]) }
3222
+ def [](value); end
3223
+
3224
+ # source://spoom//lib/spoom/poset.rb#54
3225
+ sig { params(from: E, to: E).void }
3226
+ def add_direct_edge(from, to); end
3227
+
3228
+ # source://spoom//lib/spoom/poset.rb#35
3229
+ sig { params(value: E).returns(Spoom::Poset::Element[E]) }
3230
+ def add_element(value); end
3231
+
3232
+ # source://spoom//lib/spoom/poset.rb#101
3233
+ sig { params(from: E, to: E).returns(T::Boolean) }
3234
+ def direct_edge?(from, to); end
3235
+
3236
+ # source://spoom//lib/spoom/poset.rb#92
3237
+ sig { params(from: E, to: E).returns(T::Boolean) }
3238
+ def edge?(from, to); end
3239
+
3240
+ # source://spoom//lib/spoom/poset.rb#44
3241
+ sig { params(value: E).returns(T::Boolean) }
3242
+ def element?(value); end
3243
+
3244
+ # source://spoom//lib/spoom/poset.rb#107
3245
+ sig { params(direct: T::Boolean, transitive: T::Boolean).void }
3246
+ def show_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end
3247
+
3248
+ # source://spoom//lib/spoom/poset.rb#116
3249
+ sig { params(direct: T::Boolean, transitive: T::Boolean).returns(::String) }
3250
+ def to_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end
3251
+ end
3252
+
3253
+ # source://spoom//lib/spoom/poset.rb#136
3254
+ class Spoom::Poset::Element
3255
+ extend T::Generic
3256
+ include ::Comparable
3257
+
3258
+ E = type_member { { upper: Object } }
3259
+
3260
+ # source://spoom//lib/spoom/poset.rb#152
3261
+ sig { params(value: E).void }
3262
+ def initialize(value); end
3263
+
3264
+ # source://spoom//lib/spoom/poset.rb#161
3265
+ sig { params(other: T.untyped).returns(T.nilable(::Integer)) }
3266
+ def <=>(other); end
3267
+
3268
+ # source://spoom//lib/spoom/poset.rb#180
3269
+ sig { returns(T::Array[E]) }
3270
+ def ancestors; end
3271
+
3272
+ # source://spoom//lib/spoom/poset.rb#186
3273
+ sig { returns(T::Array[E]) }
3274
+ def children; end
3275
+
3276
+ # source://spoom//lib/spoom/poset.rb#192
3277
+ sig { returns(T::Array[E]) }
3278
+ def descendants; end
3279
+
3280
+ # source://spoom//lib/spoom/poset.rb#149
3281
+ def dfroms; end
3282
+
3283
+ # source://spoom//lib/spoom/poset.rb#149
3284
+ sig { returns(T::Set[Spoom::Poset::Element[E]]) }
3285
+ def dtos; end
3286
+
3287
+ # source://spoom//lib/spoom/poset.rb#149
3288
+ def froms; end
3289
+
3290
+ # source://spoom//lib/spoom/poset.rb#174
3291
+ sig { returns(T::Array[E]) }
3292
+ def parents; end
3293
+
3294
+ # source://spoom//lib/spoom/poset.rb#149
3295
+ def tos; end
3296
+
3297
+ # source://spoom//lib/spoom/poset.rb#145
3298
+ sig { returns(E) }
3299
+ def value; end
3300
+ end
3301
+
3302
+ # source://spoom//lib/spoom/poset.rb#13
3303
+ class Spoom::Poset::Error < ::Spoom::Error; end
3304
+
3305
+ # source://spoom//lib/spoom/printer.rb#7
3306
+ class Spoom::Printer
3307
+ include ::Spoom::Colorize
3308
+
3309
+ # source://spoom//lib/spoom/printer.rb#17
3310
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
3311
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
3312
+
3313
+ # source://spoom//lib/spoom/printer.rb#78
3314
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
3315
+ def colorize(string, *color); end
3316
+
3317
+ # source://spoom//lib/spoom/printer.rb#31
3318
+ sig { void }
3319
+ def dedent; end
3320
+
3321
+ # source://spoom//lib/spoom/printer.rb#25
3322
+ sig { void }
3323
+ def indent; end
3324
+
3325
+ # source://spoom//lib/spoom/printer.rb#14
3326
+ sig { returns(T.any(::IO, ::StringIO)) }
3327
+ def out; end
3328
+
3329
+ # source://spoom//lib/spoom/printer.rb#14
3330
+ def out=(_arg0); end
3331
+
3332
+ # source://spoom//lib/spoom/printer.rb#37
3333
+ sig { params(string: T.nilable(::String)).void }
3334
+ def print(string); end
3335
+
3336
+ # source://spoom//lib/spoom/printer.rb#47
3337
+ sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
3338
+ def print_colored(string, *color); end
3339
+
3340
+ # source://spoom//lib/spoom/printer.rb#62
3341
+ sig { params(string: T.nilable(::String)).void }
3342
+ def printl(string); end
3343
+
3344
+ # source://spoom//lib/spoom/printer.rb#56
3345
+ sig { void }
3346
+ def printn; end
3347
+
3348
+ # source://spoom//lib/spoom/printer.rb#72
3349
+ sig { void }
3350
+ def printt; end
3351
+ end
3352
+
3353
+ # source://spoom//lib/spoom.rb#10
3354
+ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
3355
+
3356
+ # source://spoom//lib/spoom/sorbet/config.rb#5
3357
+ module Spoom::Sorbet; end
3358
+
3359
+ # source://spoom//lib/spoom/sorbet.rb#39
3360
+ Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
3361
+
3362
+ # source://spoom//lib/spoom/sorbet.rb#36
3363
+ Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
3364
+
3365
+ # source://spoom//lib/spoom/sorbet/config.rb#26
3366
+ class Spoom::Sorbet::Config
3367
+ # source://spoom//lib/spoom/sorbet/config.rb#38
3368
+ sig { void }
3369
+ def initialize; end
3370
+
3371
+ # source://spoom//lib/spoom/sorbet/config.rb#32
3372
+ def allowed_extensions; end
3373
+
3374
+ # source://spoom//lib/spoom/sorbet/config.rb#32
3375
+ def allowed_extensions=(_arg0); end
3376
+
3377
+ # source://spoom//lib/spoom/sorbet/config.rb#46
3378
+ sig { returns(::Spoom::Sorbet::Config) }
3379
+ def copy; end
3380
+
3381
+ # source://spoom//lib/spoom/sorbet/config.rb#32
3382
+ def ignore; end
3383
+
3384
+ # source://spoom//lib/spoom/sorbet/config.rb#32
3385
+ def ignore=(_arg0); end
3386
+
3387
+ # source://spoom//lib/spoom/sorbet/config.rb#35
3388
+ sig { returns(T::Boolean) }
3389
+ def no_stdlib; end
3390
+
3391
+ # source://spoom//lib/spoom/sorbet/config.rb#35
3392
+ def no_stdlib=(_arg0); end
3393
+
3394
+ # source://spoom//lib/spoom/sorbet/config.rb#68
3395
+ sig { returns(::String) }
3396
+ def options_string; end
3397
+
3398
+ # source://spoom//lib/spoom/sorbet/config.rb#32
3399
+ sig { returns(T::Array[::String]) }
3400
+ def paths; end
3401
+
3402
+ # source://spoom//lib/spoom/sorbet/config.rb#32
3403
+ def paths=(_arg0); end
3404
+
3405
+ class << self
3406
+ # source://spoom//lib/spoom/sorbet/config.rb#81
3407
+ sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) }
3408
+ def parse_file(sorbet_config_path); end
3409
+
3410
+ # source://spoom//lib/spoom/sorbet/config.rb#86
3411
+ sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) }
3412
+ def parse_string(sorbet_config); end
3413
+
3414
+ private
3415
+
3416
+ # source://spoom//lib/spoom/sorbet/config.rb#150
3417
+ sig { params(line: ::String).returns(::String) }
3418
+ def parse_option(line); end
3419
+ end
3420
+ end
3421
+
3422
+ # source://spoom//lib/spoom/sorbet/config.rb#29
3423
+ Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array)
3424
+
3425
+ # source://spoom//lib/spoom/sorbet.rb#14
3426
+ class Spoom::Sorbet::Error < ::Spoom::Error
3427
+ # source://spoom//lib/spoom/sorbet.rb#29
3428
+ sig { params(message: ::String, result: ::Spoom::ExecResult).void }
3429
+ def initialize(message, result); end
3430
+
3431
+ # source://spoom//lib/spoom/sorbet.rb#21
3432
+ sig { returns(::Spoom::ExecResult) }
3433
+ def result; end
3434
+ end
3435
+
3436
+ # source://spoom//lib/spoom/sorbet.rb#17
3437
+ class Spoom::Sorbet::Error::Killed < ::Spoom::Sorbet::Error; end
3438
+
3439
+ # source://spoom//lib/spoom/sorbet.rb#18
3440
+ class Spoom::Sorbet::Error::Segfault < ::Spoom::Sorbet::Error; end
3441
+
3442
+ # source://spoom//lib/spoom/sorbet/errors.rb#6
3443
+ module Spoom::Sorbet::Errors
3444
+ class << self
3445
+ # source://spoom//lib/spoom/sorbet/errors.rb#13
3446
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
3447
+ def sort_errors_by_code(errors); end
3448
+ end
3449
+ end
3450
+
3451
+ # source://spoom//lib/spoom/sorbet/errors.rb#7
3452
+ Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String)
3453
+
3454
+ # source://spoom//lib/spoom/sorbet/errors.rb#127
3455
+ class Spoom::Sorbet::Errors::Error
3456
+ include ::Comparable
3457
+
3458
+ # source://spoom//lib/spoom/sorbet/errors.rb#153
3459
+ sig do
3460
+ params(
3461
+ file: T.nilable(::String),
3462
+ line: T.nilable(::Integer),
3463
+ message: T.nilable(::String),
3464
+ code: T.nilable(::Integer),
3465
+ more: T::Array[::String]
3466
+ ).void
3467
+ end
3468
+ def initialize(file, line, message, code, more = T.unsafe(nil)); end
3469
+
3470
+ # source://spoom//lib/spoom/sorbet/errors.rb#164
3471
+ sig { params(other: T.untyped).returns(::Integer) }
3472
+ def <=>(other); end
3473
+
3474
+ # source://spoom//lib/spoom/sorbet/errors.rb#135
3475
+ def code; end
3476
+
3477
+ # source://spoom//lib/spoom/sorbet/errors.rb#132
3478
+ sig { returns(T.nilable(::String)) }
3479
+ def file; end
3480
+
3481
+ # source://spoom//lib/spoom/sorbet/errors.rb#142
3482
+ sig { returns(T::Set[::String]) }
3483
+ def files_from_error_sections; end
3484
+
3485
+ # source://spoom//lib/spoom/sorbet/errors.rb#135
3486
+ sig { returns(T.nilable(::Integer)) }
3487
+ def line; end
3488
+
3489
+ # source://spoom//lib/spoom/sorbet/errors.rb#132
3490
+ def message; end
3491
+
3492
+ # source://spoom//lib/spoom/sorbet/errors.rb#138
3493
+ sig { returns(T::Array[::String]) }
3494
+ def more; end
3495
+
3496
+ # source://spoom//lib/spoom/sorbet/errors.rb#171
3497
+ sig { returns(::String) }
3498
+ def to_s; end
3499
+ end
3500
+
3501
+ # source://spoom//lib/spoom/sorbet/errors.rb#18
3502
+ class Spoom::Sorbet::Errors::Parser
3503
+ # source://spoom//lib/spoom/sorbet/errors.rb#45
3504
+ sig { params(error_url_base: ::String).void }
3505
+ def initialize(error_url_base: T.unsafe(nil)); end
3506
+
3507
+ # source://spoom//lib/spoom/sorbet/errors.rb#52
3508
+ sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
3509
+ def parse(output); end
3510
+
3511
+ private
3512
+
3513
+ # source://spoom//lib/spoom/sorbet/errors.rb#116
3514
+ sig { params(line: ::String).void }
3515
+ def append_error(line); end
3516
+
3517
+ # source://spoom//lib/spoom/sorbet/errors.rb#108
3518
+ sig { void }
3519
+ def close_error; end
3520
+
3521
+ # source://spoom//lib/spoom/sorbet/errors.rb#75
3522
+ sig { params(error_url_base: ::String).returns(::Regexp) }
3523
+ def error_line_match_regexp(error_url_base); end
3524
+
3525
+ # source://spoom//lib/spoom/sorbet/errors.rb#92
3526
+ sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) }
3527
+ def match_error_line(line); end
3528
+
3529
+ # source://spoom//lib/spoom/sorbet/errors.rb#101
3530
+ sig { params(error: ::Spoom::Sorbet::Errors::Error).void }
3531
+ def open_error(error); end
3532
+
3533
+ class << self
3534
+ # source://spoom//lib/spoom/sorbet/errors.rb#38
3535
+ sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
3536
+ def parse_string(output, error_url_base: T.unsafe(nil)); end
3537
+ end
3538
+ end
3539
+
3540
+ # source://spoom//lib/spoom/sorbet/errors.rb#23
3541
+ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
3542
+
3543
+ # source://spoom//lib/spoom/sorbet/errors.rb#21
3544
+ class Spoom::Sorbet::Errors::Parser::ParseError < ::Spoom::Error; end
3545
+
3546
+ # source://spoom//lib/spoom/sorbet.rb#37
3547
+ Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
3548
+
3549
+ # source://spoom//lib/spoom/sorbet.rb#38
3550
+ Spoom::Sorbet::GEM_VERSION = T.let(T.unsafe(nil), String)
3551
+
3552
+ # source://spoom//lib/spoom/sorbet.rb#41
3553
+ Spoom::Sorbet::KILLED_CODE = T.let(T.unsafe(nil), Integer)
3554
+
3555
+ # source://spoom//lib/spoom/sorbet/metrics.rb#8
3556
+ module Spoom::Sorbet::MetricsParser
3557
+ class << self
3558
+ # source://spoom//lib/spoom/sorbet/metrics.rb#15
3559
+ sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
3560
+ def parse_file(path, prefix = T.unsafe(nil)); end
3561
+
3562
+ # source://spoom//lib/spoom/sorbet/metrics.rb#25
3563
+ sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) }
3564
+ def parse_hash(obj, prefix = T.unsafe(nil)); end
3565
+
3566
+ # source://spoom//lib/spoom/sorbet/metrics.rb#20
3567
+ sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) }
3568
+ def parse_string(string, prefix = T.unsafe(nil)); end
3569
+ end
3570
+ end
3571
+
3572
+ # source://spoom//lib/spoom/sorbet/metrics.rb#9
3573
+ Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
3574
+
3575
+ # source://spoom//lib/spoom/sorbet.rb#42
3576
+ Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
3577
+
3578
+ # source://spoom//lib/spoom/sorbet/sigils.rb#9
3579
+ module Spoom::Sorbet::Sigils
3580
+ class << self
3581
+ # source://spoom//lib/spoom/sorbet/sigils.rb#72
3582
+ sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) }
3583
+ def change_sigil_in_file(path, new_strictness); end
3584
+
3585
+ # source://spoom//lib/spoom/sorbet/sigils.rb#83
3586
+ sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) }
3587
+ def change_sigil_in_files(path_list, new_strictness); end
3588
+
3589
+ # source://spoom//lib/spoom/sorbet/sigils.rb#63
3590
+ sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) }
3591
+ def file_strictness(path); end
3592
+
3593
+ # source://spoom//lib/spoom/sorbet/sigils.rb#38
3594
+ sig { params(strictness: ::String).returns(::String) }
3595
+ def sigil_string(strictness); end
3596
+
3597
+ # source://spoom//lib/spoom/sorbet/sigils.rb#50
3598
+ sig { params(content: ::String).returns(T.nilable(::String)) }
3599
+ def strictness_in_content(content); end
3600
+
3601
+ # source://spoom//lib/spoom/sorbet/sigils.rb#56
3602
+ sig { params(content: ::String, new_strictness: ::String).returns(::String) }
3603
+ def update_sigil(content, new_strictness); end
3604
+
3605
+ # source://spoom//lib/spoom/sorbet/sigils.rb#44
3606
+ sig { params(strictness: ::String).returns(T::Boolean) }
3607
+ def valid_strictness?(strictness); end
3608
+ end
3609
+ end
3610
+
3611
+ # source://spoom//lib/spoom/sorbet/sigils.rb#31
3612
+ Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp)
3613
+
3614
+ # source://spoom//lib/spoom/sorbet/sigils.rb#13
3615
+ Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String)
3616
+
3617
+ # source://spoom//lib/spoom/sorbet/sigils.rb#12
3618
+ Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String)
3619
+
3620
+ # source://spoom//lib/spoom/sorbet/sigils.rb#17
3621
+ Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String)
3622
+
3623
+ # source://spoom//lib/spoom/sorbet/sigils.rb#15
3624
+ Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String)
3625
+
3626
+ # source://spoom//lib/spoom/sorbet/sigils.rb#16
3627
+ Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
3628
+
3629
+ # source://spoom//lib/spoom/sorbet/sigils.rb#14
3630
+ Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
3631
+
3632
+ # source://spoom//lib/spoom/sorbet/sigils.rb#19
3633
+ Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
3634
+
3635
+ # source://spoom//lib/spoom/sorbet/sigs.rb#8
3636
+ class Spoom::Sorbet::Sigs
3637
+ class << self
3638
+ # source://spoom//lib/spoom/sorbet/sigs.rb#25
3639
+ sig { params(ruby_contents: ::String).returns(::String) }
3640
+ def rbi_to_rbs(ruby_contents); end
3641
+
3642
+ # source://spoom//lib/spoom/sorbet/sigs.rb#13
3643
+ sig { params(ruby_contents: ::String).returns(::String) }
3644
+ def strip(ruby_contents); end
3645
+
3646
+ private
3647
+
3648
+ # source://spoom//lib/spoom/sorbet/sigs.rb#48
3649
+ sig { params(ruby_contents: ::String).returns(T::Array[[::RBI::Sig, T.any(::RBI::Attr, ::RBI::Method)]]) }
3650
+ def collect_sigs(ruby_contents); end
3651
+ end
3652
+ end
3653
+
3654
+ # source://spoom//lib/spoom/sorbet/sigs.rb#145
3655
+ class Spoom::Sorbet::Sigs::Scanner
3656
+ # source://spoom//lib/spoom/sorbet/sigs.rb#151
3657
+ sig { params(source: ::String).void }
3658
+ def initialize(source); end
3659
+
3660
+ # source://spoom//lib/spoom/sorbet/sigs.rb#159
3661
+ sig { params(line: ::Integer, character: ::Integer).returns(::Integer) }
3662
+ def find_char_position(line, character); end
3663
+ end
3664
+
3665
+ # source://spoom//lib/spoom/sorbet/sigs.rb#148
3666
+ Spoom::Sorbet::Sigs::Scanner::LINE_BREAK = T.let(T.unsafe(nil), Integer)
3667
+
3668
+ # source://spoom//lib/spoom/sorbet/sigs.rb#83
3669
+ class Spoom::Sorbet::Sigs::SigTranslator
3670
+ class << self
3671
+ # source://spoom//lib/spoom/sorbet/sigs.rb#88
3672
+ sig { params(sig: ::RBI::Sig, node: T.any(::RBI::Attr, ::RBI::Method)).returns(::String) }
3673
+ def translate(sig, node); end
3674
+
3675
+ private
3676
+
3677
+ # source://spoom//lib/spoom/sorbet/sigs.rb#135
3678
+ sig { params(sig: ::RBI::Sig, node: ::RBI::Attr).returns(::String) }
3679
+ def translate_attr_sig(sig, node); end
3680
+
3681
+ # source://spoom//lib/spoom/sorbet/sigs.rb#100
3682
+ sig { params(sig: ::RBI::Sig, node: ::RBI::Method).returns(::String) }
3683
+ def translate_method_sig(sig, node); end
3684
+ end
3685
+ end
3686
+
3687
+ # source://spoom//lib/spoom/sorbet/sigs.rb#56
3688
+ class Spoom::Sorbet::Sigs::SigsLocator < ::RBI::Visitor
3689
+ # source://spoom//lib/spoom/sorbet/sigs.rb#63
3690
+ sig { void }
3691
+ def initialize; end
3692
+
3693
+ # source://spoom//lib/spoom/sorbet/sigs.rb#60
3694
+ sig { returns(T::Array[[::RBI::Sig, T.any(::RBI::Attr, ::RBI::Method)]]) }
3695
+ def sigs; end
3696
+
3697
+ # source://spoom//lib/spoom/sorbet/sigs.rb#69
3698
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
3699
+ def visit(node); end
3700
+ end
3701
+
3702
+ # source://spoom//lib/spoom/timeline.rb#5
3703
+ class Spoom::Timeline
3704
+ # source://spoom//lib/spoom/timeline.rb#9
3705
+ sig { params(context: ::Spoom::Context, from: ::Time, to: ::Time).void }
3706
+ def initialize(context, from, to); end
3707
+
3708
+ # source://spoom//lib/spoom/timeline.rb#36
3709
+ sig { params(dates: T::Array[::Time]).returns(T::Array[::Spoom::Git::Commit]) }
3710
+ def commits_for_dates(dates); end
3711
+
3712
+ # source://spoom//lib/spoom/timeline.rb#23
3713
+ sig { returns(T::Array[::Time]) }
3714
+ def months; end
3715
+
3716
+ # source://spoom//lib/spoom/timeline.rb#17
3717
+ sig { returns(T::Array[::Spoom::Git::Commit]) }
3718
+ def ticks; end
3719
+ end
3720
+
3721
+ # source://spoom//lib/spoom/version.rb#5
3722
+ Spoom::VERSION = T.let(T.unsafe(nil), String)
3723
+
3724
+ # source://spoom//lib/spoom/visitor.rb#7
3725
+ class Spoom::Visitor < ::Prism::Visitor
3726
+ # source://spoom//lib/spoom/visitor.rb#16
3727
+ sig { override.params(node: ::Prism::AliasGlobalVariableNode).void }
3728
+ def visit_alias_global_variable_node(node); end
3729
+
3730
+ # source://spoom//lib/spoom/visitor.rb#21
3731
+ sig { override.params(node: ::Prism::AliasMethodNode).void }
3732
+ def visit_alias_method_node(node); end
3733
+
3734
+ # source://spoom//lib/spoom/visitor.rb#26
3735
+ sig { override.params(node: ::Prism::AlternationPatternNode).void }
3736
+ def visit_alternation_pattern_node(node); end
3737
+
3738
+ # source://spoom//lib/spoom/visitor.rb#31
3739
+ sig { override.params(node: ::Prism::AndNode).void }
3740
+ def visit_and_node(node); end
3741
+
3742
+ # source://spoom//lib/spoom/visitor.rb#36
3743
+ sig { override.params(node: ::Prism::ArgumentsNode).void }
3744
+ def visit_arguments_node(node); end
3745
+
3746
+ # source://spoom//lib/spoom/visitor.rb#41
3747
+ sig { override.params(node: ::Prism::ArrayNode).void }
3748
+ def visit_array_node(node); end
3749
+
3750
+ # source://spoom//lib/spoom/visitor.rb#46
3751
+ sig { override.params(node: ::Prism::ArrayPatternNode).void }
3752
+ def visit_array_pattern_node(node); end
3753
+
3754
+ # source://spoom//lib/spoom/visitor.rb#51
3755
+ sig { override.params(node: ::Prism::AssocNode).void }
3756
+ def visit_assoc_node(node); end
3757
+
3758
+ # source://spoom//lib/spoom/visitor.rb#56
3759
+ sig { override.params(node: ::Prism::AssocSplatNode).void }
3760
+ def visit_assoc_splat_node(node); end
3761
+
3762
+ # source://spoom//lib/spoom/visitor.rb#61
3763
+ sig { override.params(node: ::Prism::BackReferenceReadNode).void }
3764
+ def visit_back_reference_read_node(node); end
3765
+
3766
+ # source://spoom//lib/spoom/visitor.rb#66
3767
+ sig { override.params(node: ::Prism::BeginNode).void }
3768
+ def visit_begin_node(node); end
3769
+
3770
+ # source://spoom//lib/spoom/visitor.rb#71
3771
+ sig { override.params(node: ::Prism::BlockArgumentNode).void }
3772
+ def visit_block_argument_node(node); end
3773
+
3774
+ # source://spoom//lib/spoom/visitor.rb#76
3775
+ sig { override.params(node: ::Prism::BlockLocalVariableNode).void }
3776
+ def visit_block_local_variable_node(node); end
3777
+
3778
+ # source://spoom//lib/spoom/visitor.rb#81
3779
+ sig { override.params(node: ::Prism::BlockNode).void }
3780
+ def visit_block_node(node); end
3781
+
3782
+ # source://spoom//lib/spoom/visitor.rb#86
3783
+ sig { override.params(node: ::Prism::BlockParameterNode).void }
3784
+ def visit_block_parameter_node(node); end
3785
+
3786
+ # source://spoom//lib/spoom/visitor.rb#91
3787
+ sig { override.params(node: ::Prism::BlockParametersNode).void }
3788
+ def visit_block_parameters_node(node); end
3789
+
3790
+ # source://spoom//lib/spoom/visitor.rb#96
3791
+ sig { override.params(node: ::Prism::BreakNode).void }
3792
+ def visit_break_node(node); end
3793
+
3794
+ # source://spoom//lib/spoom/visitor.rb#101
3795
+ sig { override.params(node: ::Prism::CallAndWriteNode).void }
3796
+ def visit_call_and_write_node(node); end
3797
+
3798
+ # source://spoom//lib/spoom/visitor.rb#106
3799
+ sig { override.params(node: ::Prism::CallNode).void }
3800
+ def visit_call_node(node); end
3801
+
3802
+ # source://spoom//lib/spoom/visitor.rb#111
3803
+ sig { override.params(node: ::Prism::CallOperatorWriteNode).void }
3804
+ def visit_call_operator_write_node(node); end
3805
+
3806
+ # source://spoom//lib/spoom/visitor.rb#116
3807
+ sig { override.params(node: ::Prism::CallOrWriteNode).void }
3808
+ def visit_call_or_write_node(node); end
3809
+
3810
+ # source://spoom//lib/spoom/visitor.rb#121
3811
+ sig { override.params(node: ::Prism::CallTargetNode).void }
3812
+ def visit_call_target_node(node); end
3813
+
3814
+ # source://spoom//lib/spoom/visitor.rb#126
3815
+ sig { override.params(node: ::Prism::CapturePatternNode).void }
3816
+ def visit_capture_pattern_node(node); end
3817
+
3818
+ # source://spoom//lib/spoom/visitor.rb#131
3819
+ sig { override.params(node: ::Prism::CaseMatchNode).void }
3820
+ def visit_case_match_node(node); end
3821
+
3822
+ # source://spoom//lib/spoom/visitor.rb#136
3823
+ sig { override.params(node: ::Prism::CaseNode).void }
3824
+ def visit_case_node(node); end
3825
+
3826
+ # source://spoom//lib/spoom/visitor.rb#11
3827
+ sig { override.params(node: ::Prism::Node).void }
3828
+ def visit_child_nodes(node); end
3829
+
3830
+ # source://spoom//lib/spoom/visitor.rb#141
3831
+ sig { override.params(node: ::Prism::ClassNode).void }
3832
+ def visit_class_node(node); end
3833
+
3834
+ # source://spoom//lib/spoom/visitor.rb#146
3835
+ sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void }
3836
+ def visit_class_variable_and_write_node(node); end
3837
+
3838
+ # source://spoom//lib/spoom/visitor.rb#151
3839
+ sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void }
3840
+ def visit_class_variable_operator_write_node(node); end
3841
+
3842
+ # source://spoom//lib/spoom/visitor.rb#156
3843
+ sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void }
3844
+ def visit_class_variable_or_write_node(node); end
3845
+
3846
+ # source://spoom//lib/spoom/visitor.rb#161
3847
+ sig { override.params(node: ::Prism::ClassVariableReadNode).void }
3848
+ def visit_class_variable_read_node(node); end
3849
+
3850
+ # source://spoom//lib/spoom/visitor.rb#166
3851
+ sig { override.params(node: ::Prism::ClassVariableTargetNode).void }
3852
+ def visit_class_variable_target_node(node); end
3853
+
3854
+ # source://spoom//lib/spoom/visitor.rb#171
3855
+ sig { override.params(node: ::Prism::ClassVariableWriteNode).void }
3856
+ def visit_class_variable_write_node(node); end
3857
+
3858
+ # source://spoom//lib/spoom/visitor.rb#176
3859
+ sig { override.params(node: ::Prism::ConstantAndWriteNode).void }
3860
+ def visit_constant_and_write_node(node); end
3861
+
3862
+ # source://spoom//lib/spoom/visitor.rb#181
3863
+ sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void }
3864
+ def visit_constant_operator_write_node(node); end
3865
+
3866
+ # source://spoom//lib/spoom/visitor.rb#186
3867
+ sig { override.params(node: ::Prism::ConstantOrWriteNode).void }
3868
+ def visit_constant_or_write_node(node); end
3869
+
3870
+ # source://spoom//lib/spoom/visitor.rb#191
3871
+ sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void }
3872
+ def visit_constant_path_and_write_node(node); end
3873
+
3874
+ # source://spoom//lib/spoom/visitor.rb#196
3875
+ sig { override.params(node: ::Prism::ConstantPathNode).void }
3876
+ def visit_constant_path_node(node); end
3877
+
3878
+ # source://spoom//lib/spoom/visitor.rb#201
3879
+ sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void }
3880
+ def visit_constant_path_operator_write_node(node); end
3881
+
3882
+ # source://spoom//lib/spoom/visitor.rb#206
3883
+ sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void }
3884
+ def visit_constant_path_or_write_node(node); end
3885
+
3886
+ # source://spoom//lib/spoom/visitor.rb#211
3887
+ sig { override.params(node: ::Prism::ConstantPathTargetNode).void }
3888
+ def visit_constant_path_target_node(node); end
3889
+
3890
+ # source://spoom//lib/spoom/visitor.rb#216
3891
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
3892
+ def visit_constant_path_write_node(node); end
3893
+
3894
+ # source://spoom//lib/spoom/visitor.rb#221
3895
+ sig { override.params(node: ::Prism::ConstantReadNode).void }
3896
+ def visit_constant_read_node(node); end
3897
+
3898
+ # source://spoom//lib/spoom/visitor.rb#226
3899
+ sig { override.params(node: ::Prism::ConstantTargetNode).void }
3900
+ def visit_constant_target_node(node); end
3901
+
3902
+ # source://spoom//lib/spoom/visitor.rb#231
3903
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
3904
+ def visit_constant_write_node(node); end
3905
+
3906
+ # source://spoom//lib/spoom/visitor.rb#236
3907
+ sig { override.params(node: ::Prism::DefNode).void }
3908
+ def visit_def_node(node); end
3909
+
3910
+ # source://spoom//lib/spoom/visitor.rb#241
3911
+ sig { override.params(node: ::Prism::DefinedNode).void }
3912
+ def visit_defined_node(node); end
3913
+
3914
+ # source://spoom//lib/spoom/visitor.rb#246
3915
+ sig { override.params(node: ::Prism::ElseNode).void }
3916
+ def visit_else_node(node); end
3917
+
3918
+ # source://spoom//lib/spoom/visitor.rb#251
3919
+ sig { override.params(node: ::Prism::EmbeddedStatementsNode).void }
3920
+ def visit_embedded_statements_node(node); end
3921
+
3922
+ # source://spoom//lib/spoom/visitor.rb#256
3923
+ sig { override.params(node: ::Prism::EmbeddedVariableNode).void }
3924
+ def visit_embedded_variable_node(node); end
3925
+
3926
+ # source://spoom//lib/spoom/visitor.rb#261
3927
+ sig { override.params(node: ::Prism::EnsureNode).void }
3928
+ def visit_ensure_node(node); end
3929
+
3930
+ # source://spoom//lib/spoom/visitor.rb#266
3931
+ sig { override.params(node: ::Prism::FalseNode).void }
3932
+ def visit_false_node(node); end
3933
+
3934
+ # source://spoom//lib/spoom/visitor.rb#271
3935
+ sig { override.params(node: ::Prism::FindPatternNode).void }
3936
+ def visit_find_pattern_node(node); end
3937
+
3938
+ # source://spoom//lib/spoom/visitor.rb#276
3939
+ sig { override.params(node: ::Prism::FlipFlopNode).void }
3940
+ def visit_flip_flop_node(node); end
3941
+
3942
+ # source://spoom//lib/spoom/visitor.rb#281
3943
+ sig { override.params(node: ::Prism::FloatNode).void }
3944
+ def visit_float_node(node); end
3945
+
3946
+ # source://spoom//lib/spoom/visitor.rb#286
3947
+ sig { override.params(node: ::Prism::ForNode).void }
3948
+ def visit_for_node(node); end
3949
+
3950
+ # source://spoom//lib/spoom/visitor.rb#291
3951
+ sig { override.params(node: ::Prism::ForwardingArgumentsNode).void }
3952
+ def visit_forwarding_arguments_node(node); end
3953
+
3954
+ # source://spoom//lib/spoom/visitor.rb#296
3955
+ sig { override.params(node: ::Prism::ForwardingParameterNode).void }
3956
+ def visit_forwarding_parameter_node(node); end
3957
+
3958
+ # source://spoom//lib/spoom/visitor.rb#301
3959
+ sig { override.params(node: ::Prism::ForwardingSuperNode).void }
3960
+ def visit_forwarding_super_node(node); end
3961
+
3962
+ # source://spoom//lib/spoom/visitor.rb#306
3963
+ sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void }
3964
+ def visit_global_variable_and_write_node(node); end
3965
+
3966
+ # source://spoom//lib/spoom/visitor.rb#311
3967
+ sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void }
3968
+ def visit_global_variable_operator_write_node(node); end
3969
+
3970
+ # source://spoom//lib/spoom/visitor.rb#316
3971
+ sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void }
3972
+ def visit_global_variable_or_write_node(node); end
3973
+
3974
+ # source://spoom//lib/spoom/visitor.rb#321
3975
+ sig { override.params(node: ::Prism::GlobalVariableReadNode).void }
3976
+ def visit_global_variable_read_node(node); end
3977
+
3978
+ # source://spoom//lib/spoom/visitor.rb#326
3979
+ sig { override.params(node: ::Prism::GlobalVariableTargetNode).void }
3980
+ def visit_global_variable_target_node(node); end
3981
+
3982
+ # source://spoom//lib/spoom/visitor.rb#331
3983
+ sig { override.params(node: ::Prism::GlobalVariableWriteNode).void }
3984
+ def visit_global_variable_write_node(node); end
3985
+
3986
+ # source://spoom//lib/spoom/visitor.rb#336
3987
+ sig { override.params(node: ::Prism::HashNode).void }
3988
+ def visit_hash_node(node); end
3989
+
3990
+ # source://spoom//lib/spoom/visitor.rb#341
3991
+ sig { override.params(node: ::Prism::HashPatternNode).void }
3992
+ def visit_hash_pattern_node(node); end
3993
+
3994
+ # source://spoom//lib/spoom/visitor.rb#346
3995
+ sig { override.params(node: ::Prism::IfNode).void }
3996
+ def visit_if_node(node); end
3997
+
3998
+ # source://spoom//lib/spoom/visitor.rb#351
3999
+ sig { override.params(node: ::Prism::ImaginaryNode).void }
4000
+ def visit_imaginary_node(node); end
4001
+
4002
+ # source://spoom//lib/spoom/visitor.rb#356
4003
+ sig { override.params(node: ::Prism::ImplicitNode).void }
4004
+ def visit_implicit_node(node); end
4005
+
4006
+ # source://spoom//lib/spoom/visitor.rb#361
4007
+ sig { override.params(node: ::Prism::ImplicitRestNode).void }
4008
+ def visit_implicit_rest_node(node); end
4009
+
4010
+ # source://spoom//lib/spoom/visitor.rb#366
4011
+ sig { override.params(node: ::Prism::InNode).void }
4012
+ def visit_in_node(node); end
4013
+
4014
+ # source://spoom//lib/spoom/visitor.rb#371
4015
+ sig { override.params(node: ::Prism::IndexAndWriteNode).void }
4016
+ def visit_index_and_write_node(node); end
4017
+
4018
+ # source://spoom//lib/spoom/visitor.rb#376
4019
+ sig { override.params(node: ::Prism::IndexOperatorWriteNode).void }
4020
+ def visit_index_operator_write_node(node); end
4021
+
4022
+ # source://spoom//lib/spoom/visitor.rb#381
4023
+ sig { override.params(node: ::Prism::IndexOrWriteNode).void }
4024
+ def visit_index_or_write_node(node); end
4025
+
4026
+ # source://spoom//lib/spoom/visitor.rb#386
4027
+ sig { override.params(node: ::Prism::IndexTargetNode).void }
4028
+ def visit_index_target_node(node); end
4029
+
4030
+ # source://spoom//lib/spoom/visitor.rb#391
4031
+ sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void }
4032
+ def visit_instance_variable_and_write_node(node); end
4033
+
4034
+ # source://spoom//lib/spoom/visitor.rb#396
4035
+ sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void }
4036
+ def visit_instance_variable_operator_write_node(node); end
4037
+
4038
+ # source://spoom//lib/spoom/visitor.rb#401
4039
+ sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void }
4040
+ def visit_instance_variable_or_write_node(node); end
4041
+
4042
+ # source://spoom//lib/spoom/visitor.rb#406
4043
+ sig { override.params(node: ::Prism::InstanceVariableReadNode).void }
4044
+ def visit_instance_variable_read_node(node); end
4045
+
4046
+ # source://spoom//lib/spoom/visitor.rb#411
4047
+ sig { override.params(node: ::Prism::InstanceVariableTargetNode).void }
4048
+ def visit_instance_variable_target_node(node); end
4049
+
4050
+ # source://spoom//lib/spoom/visitor.rb#416
4051
+ sig { override.params(node: ::Prism::InstanceVariableWriteNode).void }
4052
+ def visit_instance_variable_write_node(node); end
4053
+
4054
+ # source://spoom//lib/spoom/visitor.rb#421
4055
+ sig { override.params(node: ::Prism::IntegerNode).void }
4056
+ def visit_integer_node(node); end
4057
+
4058
+ # source://spoom//lib/spoom/visitor.rb#426
4059
+ sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void }
4060
+ def visit_interpolated_match_last_line_node(node); end
4061
+
4062
+ # source://spoom//lib/spoom/visitor.rb#431
4063
+ sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void }
4064
+ def visit_interpolated_regular_expression_node(node); end
4065
+
4066
+ # source://spoom//lib/spoom/visitor.rb#436
4067
+ sig { override.params(node: ::Prism::InterpolatedStringNode).void }
4068
+ def visit_interpolated_string_node(node); end
4069
+
4070
+ # source://spoom//lib/spoom/visitor.rb#441
4071
+ sig { override.params(node: ::Prism::InterpolatedSymbolNode).void }
4072
+ def visit_interpolated_symbol_node(node); end
4073
+
4074
+ # source://spoom//lib/spoom/visitor.rb#446
4075
+ sig { override.params(node: ::Prism::InterpolatedXStringNode).void }
4076
+ def visit_interpolated_x_string_node(node); end
4077
+
4078
+ # source://spoom//lib/spoom/visitor.rb#451
4079
+ sig { override.params(node: ::Prism::KeywordHashNode).void }
4080
+ def visit_keyword_hash_node(node); end
4081
+
4082
+ # source://spoom//lib/spoom/visitor.rb#456
4083
+ sig { override.params(node: ::Prism::KeywordRestParameterNode).void }
4084
+ def visit_keyword_rest_parameter_node(node); end
4085
+
4086
+ # source://spoom//lib/spoom/visitor.rb#461
4087
+ sig { override.params(node: ::Prism::LambdaNode).void }
4088
+ def visit_lambda_node(node); end
4089
+
4090
+ # source://spoom//lib/spoom/visitor.rb#466
4091
+ sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void }
4092
+ def visit_local_variable_and_write_node(node); end
4093
+
4094
+ # source://spoom//lib/spoom/visitor.rb#471
4095
+ sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void }
4096
+ def visit_local_variable_operator_write_node(node); end
4097
+
4098
+ # source://spoom//lib/spoom/visitor.rb#476
4099
+ sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void }
4100
+ def visit_local_variable_or_write_node(node); end
4101
+
4102
+ # source://spoom//lib/spoom/visitor.rb#481
4103
+ sig { override.params(node: ::Prism::LocalVariableReadNode).void }
4104
+ def visit_local_variable_read_node(node); end
4105
+
4106
+ # source://spoom//lib/spoom/visitor.rb#486
4107
+ sig { override.params(node: ::Prism::LocalVariableTargetNode).void }
4108
+ def visit_local_variable_target_node(node); end
4109
+
4110
+ # source://spoom//lib/spoom/visitor.rb#491
4111
+ sig { override.params(node: ::Prism::LocalVariableWriteNode).void }
4112
+ def visit_local_variable_write_node(node); end
4113
+
4114
+ # source://spoom//lib/spoom/visitor.rb#496
4115
+ sig { override.params(node: ::Prism::MatchLastLineNode).void }
4116
+ def visit_match_last_line_node(node); end
4117
+
4118
+ # source://spoom//lib/spoom/visitor.rb#501
4119
+ sig { override.params(node: ::Prism::MatchPredicateNode).void }
4120
+ def visit_match_predicate_node(node); end
4121
+
4122
+ # source://spoom//lib/spoom/visitor.rb#506
4123
+ sig { override.params(node: ::Prism::MatchRequiredNode).void }
4124
+ def visit_match_required_node(node); end
4125
+
4126
+ # source://spoom//lib/spoom/visitor.rb#511
4127
+ sig { override.params(node: ::Prism::MatchWriteNode).void }
4128
+ def visit_match_write_node(node); end
4129
+
4130
+ # source://spoom//lib/spoom/visitor.rb#516
4131
+ sig { override.params(node: ::Prism::MissingNode).void }
4132
+ def visit_missing_node(node); end
4133
+
4134
+ # source://spoom//lib/spoom/visitor.rb#521
4135
+ sig { override.params(node: ::Prism::ModuleNode).void }
4136
+ def visit_module_node(node); end
4137
+
4138
+ # source://spoom//lib/spoom/visitor.rb#526
4139
+ sig { override.params(node: ::Prism::MultiTargetNode).void }
4140
+ def visit_multi_target_node(node); end
4141
+
4142
+ # source://spoom//lib/spoom/visitor.rb#531
4143
+ sig { override.params(node: ::Prism::MultiWriteNode).void }
4144
+ def visit_multi_write_node(node); end
4145
+
4146
+ # source://spoom//lib/spoom/visitor.rb#536
4147
+ sig { override.params(node: ::Prism::NextNode).void }
4148
+ def visit_next_node(node); end
4149
+
4150
+ # source://spoom//lib/spoom/visitor.rb#541
4151
+ sig { override.params(node: ::Prism::NilNode).void }
4152
+ def visit_nil_node(node); end
4153
+
4154
+ # source://spoom//lib/spoom/visitor.rb#546
4155
+ sig { override.params(node: ::Prism::NoKeywordsParameterNode).void }
4156
+ def visit_no_keywords_parameter_node(node); end
4157
+
4158
+ # source://spoom//lib/spoom/visitor.rb#551
4159
+ sig { override.params(node: ::Prism::NumberedParametersNode).void }
4160
+ def visit_numbered_parameters_node(node); end
4161
+
4162
+ # source://spoom//lib/spoom/visitor.rb#556
4163
+ sig { override.params(node: ::Prism::NumberedReferenceReadNode).void }
4164
+ def visit_numbered_reference_read_node(node); end
4165
+
4166
+ # source://spoom//lib/spoom/visitor.rb#561
4167
+ sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void }
4168
+ def visit_optional_keyword_parameter_node(node); end
4169
+
4170
+ # source://spoom//lib/spoom/visitor.rb#566
4171
+ sig { override.params(node: ::Prism::OptionalParameterNode).void }
4172
+ def visit_optional_parameter_node(node); end
4173
+
4174
+ # source://spoom//lib/spoom/visitor.rb#571
4175
+ sig { override.params(node: ::Prism::OrNode).void }
4176
+ def visit_or_node(node); end
4177
+
4178
+ # source://spoom//lib/spoom/visitor.rb#576
4179
+ sig { override.params(node: ::Prism::ParametersNode).void }
4180
+ def visit_parameters_node(node); end
4181
+
4182
+ # source://spoom//lib/spoom/visitor.rb#581
4183
+ sig { override.params(node: ::Prism::ParenthesesNode).void }
4184
+ def visit_parentheses_node(node); end
4185
+
4186
+ # source://spoom//lib/spoom/visitor.rb#586
4187
+ sig { override.params(node: ::Prism::PinnedExpressionNode).void }
4188
+ def visit_pinned_expression_node(node); end
4189
+
4190
+ # source://spoom//lib/spoom/visitor.rb#591
4191
+ sig { override.params(node: ::Prism::PinnedVariableNode).void }
4192
+ def visit_pinned_variable_node(node); end
4193
+
4194
+ # source://spoom//lib/spoom/visitor.rb#596
4195
+ sig { override.params(node: ::Prism::PostExecutionNode).void }
4196
+ def visit_post_execution_node(node); end
4197
+
4198
+ # source://spoom//lib/spoom/visitor.rb#601
4199
+ sig { override.params(node: ::Prism::PreExecutionNode).void }
4200
+ def visit_pre_execution_node(node); end
4201
+
4202
+ # source://spoom//lib/spoom/visitor.rb#606
4203
+ sig { override.params(node: ::Prism::ProgramNode).void }
4204
+ def visit_program_node(node); end
4205
+
4206
+ # source://spoom//lib/spoom/visitor.rb#611
4207
+ sig { override.params(node: ::Prism::RangeNode).void }
4208
+ def visit_range_node(node); end
4209
+
4210
+ # source://spoom//lib/spoom/visitor.rb#616
4211
+ sig { override.params(node: ::Prism::RationalNode).void }
4212
+ def visit_rational_node(node); end
4213
+
4214
+ # source://spoom//lib/spoom/visitor.rb#621
4215
+ sig { override.params(node: ::Prism::RedoNode).void }
4216
+ def visit_redo_node(node); end
4217
+
4218
+ # source://spoom//lib/spoom/visitor.rb#626
4219
+ sig { override.params(node: ::Prism::RegularExpressionNode).void }
4220
+ def visit_regular_expression_node(node); end
4221
+
4222
+ # source://spoom//lib/spoom/visitor.rb#631
4223
+ sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void }
4224
+ def visit_required_keyword_parameter_node(node); end
4225
+
4226
+ # source://spoom//lib/spoom/visitor.rb#636
4227
+ sig { override.params(node: ::Prism::RequiredParameterNode).void }
4228
+ def visit_required_parameter_node(node); end
4229
+
4230
+ # source://spoom//lib/spoom/visitor.rb#641
4231
+ sig { override.params(node: ::Prism::RescueModifierNode).void }
4232
+ def visit_rescue_modifier_node(node); end
4233
+
4234
+ # source://spoom//lib/spoom/visitor.rb#646
4235
+ sig { override.params(node: ::Prism::RescueNode).void }
4236
+ def visit_rescue_node(node); end
4237
+
4238
+ # source://spoom//lib/spoom/visitor.rb#651
4239
+ sig { override.params(node: ::Prism::RestParameterNode).void }
4240
+ def visit_rest_parameter_node(node); end
4241
+
4242
+ # source://spoom//lib/spoom/visitor.rb#656
4243
+ sig { override.params(node: ::Prism::RetryNode).void }
4244
+ def visit_retry_node(node); end
4245
+
4246
+ # source://spoom//lib/spoom/visitor.rb#661
4247
+ sig { override.params(node: ::Prism::ReturnNode).void }
4248
+ def visit_return_node(node); end
4249
+
4250
+ # source://spoom//lib/spoom/visitor.rb#666
4251
+ sig { override.params(node: ::Prism::SelfNode).void }
4252
+ def visit_self_node(node); end
4253
+
4254
+ # source://spoom//lib/spoom/visitor.rb#671
4255
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
4256
+ def visit_singleton_class_node(node); end
4257
+
4258
+ # source://spoom//lib/spoom/visitor.rb#676
4259
+ sig { override.params(node: ::Prism::SourceEncodingNode).void }
4260
+ def visit_source_encoding_node(node); end
4261
+
4262
+ # source://spoom//lib/spoom/visitor.rb#681
4263
+ sig { override.params(node: ::Prism::SourceFileNode).void }
4264
+ def visit_source_file_node(node); end
4265
+
4266
+ # source://spoom//lib/spoom/visitor.rb#686
4267
+ sig { override.params(node: ::Prism::SourceLineNode).void }
4268
+ def visit_source_line_node(node); end
4269
+
4270
+ # source://spoom//lib/spoom/visitor.rb#691
4271
+ sig { override.params(node: ::Prism::SplatNode).void }
4272
+ def visit_splat_node(node); end
4273
+
4274
+ # source://spoom//lib/spoom/visitor.rb#696
4275
+ sig { override.params(node: ::Prism::StatementsNode).void }
4276
+ def visit_statements_node(node); end
4277
+
4278
+ # source://spoom//lib/spoom/visitor.rb#701
4279
+ sig { override.params(node: ::Prism::StringNode).void }
4280
+ def visit_string_node(node); end
4281
+
4282
+ # source://spoom//lib/spoom/visitor.rb#706
4283
+ sig { override.params(node: ::Prism::SuperNode).void }
4284
+ def visit_super_node(node); end
4285
+
4286
+ # source://spoom//lib/spoom/visitor.rb#711
4287
+ sig { override.params(node: ::Prism::SymbolNode).void }
4288
+ def visit_symbol_node(node); end
4289
+
4290
+ # source://spoom//lib/spoom/visitor.rb#716
4291
+ sig { override.params(node: ::Prism::TrueNode).void }
4292
+ def visit_true_node(node); end
4293
+
4294
+ # source://spoom//lib/spoom/visitor.rb#721
4295
+ sig { override.params(node: ::Prism::UndefNode).void }
4296
+ def visit_undef_node(node); end
4297
+
4298
+ # source://spoom//lib/spoom/visitor.rb#726
4299
+ sig { override.params(node: ::Prism::UnlessNode).void }
4300
+ def visit_unless_node(node); end
4301
+
4302
+ # source://spoom//lib/spoom/visitor.rb#731
4303
+ sig { override.params(node: ::Prism::UntilNode).void }
4304
+ def visit_until_node(node); end
4305
+
4306
+ # source://spoom//lib/spoom/visitor.rb#736
4307
+ sig { override.params(node: ::Prism::WhenNode).void }
4308
+ def visit_when_node(node); end
4309
+
4310
+ # source://spoom//lib/spoom/visitor.rb#741
4311
+ sig { override.params(node: ::Prism::WhileNode).void }
4312
+ def visit_while_node(node); end
4313
+
4314
+ # source://spoom//lib/spoom/visitor.rb#746
4315
+ sig { override.params(node: ::Prism::XStringNode).void }
4316
+ def visit_x_string_node(node); end
4317
+
4318
+ # source://spoom//lib/spoom/visitor.rb#751
4319
+ sig { override.params(node: ::Prism::YieldNode).void }
4320
+ def visit_yield_node(node); end
4321
+ end