spoom 1.8.7 → 1.8.8

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.
data/rbi/spoom.rbi CHANGED
@@ -85,6 +85,8 @@ module Spoom::Cli::Helper
85
85
  def yellow(string); end
86
86
  end
87
87
 
88
+ Spoom::Cli::Helper::HIGHLIGHT_COLOR = T.let(T.unsafe(nil), Spoom::Color)
89
+
88
90
  class Spoom::Cli::Main < ::Thor
89
91
  include ::Spoom::Colorize
90
92
  include ::Spoom::Cli::Helper
@@ -214,32 +216,33 @@ Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String)
214
216
  Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array)
215
217
  Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String)
216
218
 
217
- class Spoom::Color < ::T::Enum
218
- enums do
219
- BLACK = new
220
- BLUE = new
221
- BOLD = new
222
- CLEAR = new
223
- CYAN = new
224
- GREEN = new
225
- LIGHT_BLACK = new
226
- LIGHT_BLUE = new
227
- LIGHT_CYAN = new
228
- LIGHT_GREEN = new
229
- LIGHT_MAGENTA = new
230
- LIGHT_RED = new
231
- LIGHT_WHITE = new
232
- LIGHT_YELLOW = new
233
- MAGENTA = new
234
- RED = new
235
- WHITE = new
236
- YELLOW = new
237
- end
219
+ class Spoom::Color
220
+ sig { params(ansi_code: ::String).void }
221
+ def initialize(ansi_code); end
238
222
 
239
223
  sig { returns(::String) }
240
224
  def ansi_code; end
241
225
  end
242
226
 
227
+ Spoom::Color::BLACK = T.let(T.unsafe(nil), Spoom::Color)
228
+ Spoom::Color::BLUE = T.let(T.unsafe(nil), Spoom::Color)
229
+ Spoom::Color::BOLD = T.let(T.unsafe(nil), Spoom::Color)
230
+ Spoom::Color::CLEAR = T.let(T.unsafe(nil), Spoom::Color)
231
+ Spoom::Color::CYAN = T.let(T.unsafe(nil), Spoom::Color)
232
+ Spoom::Color::GREEN = T.let(T.unsafe(nil), Spoom::Color)
233
+ Spoom::Color::LIGHT_BLACK = T.let(T.unsafe(nil), Spoom::Color)
234
+ Spoom::Color::LIGHT_BLUE = T.let(T.unsafe(nil), Spoom::Color)
235
+ Spoom::Color::LIGHT_CYAN = T.let(T.unsafe(nil), Spoom::Color)
236
+ Spoom::Color::LIGHT_GREEN = T.let(T.unsafe(nil), Spoom::Color)
237
+ Spoom::Color::LIGHT_MAGENTA = T.let(T.unsafe(nil), Spoom::Color)
238
+ Spoom::Color::LIGHT_RED = T.let(T.unsafe(nil), Spoom::Color)
239
+ Spoom::Color::LIGHT_WHITE = T.let(T.unsafe(nil), Spoom::Color)
240
+ Spoom::Color::LIGHT_YELLOW = T.let(T.unsafe(nil), Spoom::Color)
241
+ Spoom::Color::MAGENTA = T.let(T.unsafe(nil), Spoom::Color)
242
+ Spoom::Color::RED = T.let(T.unsafe(nil), Spoom::Color)
243
+ Spoom::Color::WHITE = T.let(T.unsafe(nil), Spoom::Color)
244
+ Spoom::Color::YELLOW = T.let(T.unsafe(nil), Spoom::Color)
245
+
243
246
  module Spoom::Colorize
244
247
  sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
245
248
  def set_color(string, *color); end
@@ -654,12 +657,42 @@ class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap
654
657
  def tree_node_to_json(node); end
655
658
  end
656
659
 
657
- class Spoom::Coverage::D3::ColorPalette < ::T::Struct
658
- prop :ignore, ::String
659
- prop :false, ::String
660
- prop :true, ::String
661
- prop :strict, ::String
662
- prop :strong, ::String
660
+ class Spoom::Coverage::D3::ColorPalette
661
+ sig do
662
+ params(
663
+ ignore_color: ::String,
664
+ false_color: ::String,
665
+ true_color: ::String,
666
+ strict_color: ::String,
667
+ strong_color: ::String
668
+ ).void
669
+ end
670
+ def initialize(ignore_color:, false_color:, true_color:, strict_color:, strong_color:); end
671
+
672
+ sig { returns(::String) }
673
+ def false_color; end
674
+
675
+ def false_color=(_arg0); end
676
+
677
+ sig { returns(::String) }
678
+ def ignore_color; end
679
+
680
+ def ignore_color=(_arg0); end
681
+
682
+ sig { returns(::String) }
683
+ def strict_color; end
684
+
685
+ def strict_color=(_arg0); end
686
+
687
+ sig { returns(::String) }
688
+ def strong_color; end
689
+
690
+ def strong_color=(_arg0); end
691
+
692
+ sig { returns(::String) }
693
+ def true_color; end
694
+
695
+ def true_color=(_arg0); end
663
696
  end
664
697
 
665
698
  class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
@@ -877,33 +910,136 @@ class Spoom::Coverage::Report < ::Spoom::Coverage::Page
877
910
  def header_html; end
878
911
  end
879
912
 
880
- class Spoom::Coverage::Snapshot < ::T::Struct
881
- prop :timestamp, ::Integer, default: T.unsafe(nil)
882
- prop :version_static, T.nilable(::String), default: T.unsafe(nil)
883
- prop :version_runtime, T.nilable(::String), default: T.unsafe(nil)
884
- prop :duration, ::Integer, default: T.unsafe(nil)
885
- prop :commit_sha, T.nilable(::String), default: T.unsafe(nil)
886
- prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil)
887
- prop :files, ::Integer, default: T.unsafe(nil)
888
- prop :rbi_files, ::Integer, default: T.unsafe(nil)
889
- prop :modules, ::Integer, default: T.unsafe(nil)
890
- prop :classes, ::Integer, default: T.unsafe(nil)
891
- prop :singleton_classes, ::Integer, default: T.unsafe(nil)
892
- prop :methods_without_sig, ::Integer, default: T.unsafe(nil)
893
- prop :methods_with_sig, ::Integer, default: T.unsafe(nil)
894
- prop :calls_untyped, ::Integer, default: T.unsafe(nil)
895
- prop :calls_typed, ::Integer, default: T.unsafe(nil)
896
- prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil)
897
- prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
898
- prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil)
899
- prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil)
913
+ class Spoom::Coverage::Snapshot
914
+ sig do
915
+ params(
916
+ timestamp: ::Integer,
917
+ version_static: T.nilable(::String),
918
+ version_runtime: T.nilable(::String),
919
+ duration: ::Integer,
920
+ commit_sha: T.nilable(::String),
921
+ commit_timestamp: T.nilable(::Integer),
922
+ files: ::Integer,
923
+ rbi_files: ::Integer,
924
+ modules: ::Integer,
925
+ classes: ::Integer,
926
+ singleton_classes: ::Integer,
927
+ methods_without_sig: ::Integer,
928
+ methods_with_sig: ::Integer,
929
+ calls_untyped: ::Integer,
930
+ calls_typed: ::Integer,
931
+ sigils: T::Hash[::String, ::Integer],
932
+ methods_with_sig_excluding_rbis: ::Integer,
933
+ methods_without_sig_excluding_rbis: ::Integer,
934
+ sigils_excluding_rbis: T::Hash[::String, ::Integer]
935
+ ).void
936
+ end
937
+ def initialize(timestamp: T.unsafe(nil), version_static: T.unsafe(nil), version_runtime: T.unsafe(nil), duration: T.unsafe(nil), commit_sha: T.unsafe(nil), commit_timestamp: T.unsafe(nil), files: T.unsafe(nil), rbi_files: T.unsafe(nil), modules: T.unsafe(nil), classes: T.unsafe(nil), singleton_classes: T.unsafe(nil), methods_without_sig: T.unsafe(nil), methods_with_sig: T.unsafe(nil), calls_untyped: T.unsafe(nil), calls_typed: T.unsafe(nil), sigils: T.unsafe(nil), methods_with_sig_excluding_rbis: T.unsafe(nil), methods_without_sig_excluding_rbis: T.unsafe(nil), sigils_excluding_rbis: T.unsafe(nil)); end
938
+
939
+ sig { returns(::Integer) }
940
+ def calls_typed; end
941
+
942
+ def calls_typed=(_arg0); end
943
+
944
+ sig { returns(::Integer) }
945
+ def calls_untyped; end
946
+
947
+ def calls_untyped=(_arg0); end
948
+
949
+ sig { returns(::Integer) }
950
+ def classes; end
951
+
952
+ def classes=(_arg0); end
953
+
954
+ sig { returns(T.nilable(::String)) }
955
+ def commit_sha; end
956
+
957
+ def commit_sha=(_arg0); end
958
+
959
+ sig { returns(T.nilable(::Integer)) }
960
+ def commit_timestamp; end
961
+
962
+ def commit_timestamp=(_arg0); end
963
+
964
+ sig { returns(::Integer) }
965
+ def duration; end
966
+
967
+ def duration=(_arg0); end
968
+
969
+ sig { returns(::Integer) }
970
+ def files; end
971
+
972
+ def files=(_arg0); end
973
+
974
+ sig { returns(::Integer) }
975
+ def methods_with_sig; end
976
+
977
+ def methods_with_sig=(_arg0); end
978
+
979
+ sig { returns(::Integer) }
980
+ def methods_with_sig_excluding_rbis; end
981
+
982
+ def methods_with_sig_excluding_rbis=(_arg0); end
983
+
984
+ sig { returns(::Integer) }
985
+ def methods_without_sig; end
986
+
987
+ def methods_without_sig=(_arg0); end
988
+
989
+ sig { returns(::Integer) }
990
+ def methods_without_sig_excluding_rbis; end
991
+
992
+ def methods_without_sig_excluding_rbis=(_arg0); end
993
+
994
+ sig { returns(::Integer) }
995
+ def modules; end
996
+
997
+ def modules=(_arg0); end
900
998
 
901
999
  sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
902
1000
  def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
903
1001
 
1002
+ sig { returns(::Integer) }
1003
+ def rbi_files; end
1004
+
1005
+ def rbi_files=(_arg0); end
1006
+
1007
+ sig { returns(T::Hash[::String, ::Integer]) }
1008
+ def sigils; end
1009
+
1010
+ def sigils=(_arg0); end
1011
+
1012
+ sig { returns(T::Hash[::String, ::Integer]) }
1013
+ def sigils_excluding_rbis; end
1014
+
1015
+ def sigils_excluding_rbis=(_arg0); end
1016
+
1017
+ sig { returns(::Integer) }
1018
+ def singleton_classes; end
1019
+
1020
+ def singleton_classes=(_arg0); end
1021
+
1022
+ sig { returns(::Integer) }
1023
+ def timestamp; end
1024
+
1025
+ def timestamp=(_arg0); end
1026
+
1027
+ sig { returns(T::Hash[::String, T.untyped]) }
1028
+ def to_h; end
1029
+
904
1030
  sig { params(arg: T.untyped).returns(::String) }
905
1031
  def to_json(*arg); end
906
1032
 
1033
+ sig { returns(T.nilable(::String)) }
1034
+ def version_runtime; end
1035
+
1036
+ def version_runtime=(_arg0); end
1037
+
1038
+ sig { returns(T.nilable(::String)) }
1039
+ def version_static; end
1040
+
1041
+ def version_static=(_arg0); end
1042
+
907
1043
  class << self
908
1044
  sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) }
909
1045
  def from_json(json); end
@@ -957,12 +1093,17 @@ end
957
1093
  Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String)
958
1094
  Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set)
959
1095
 
960
- class Spoom::Deadcode::Definition < ::T::Struct
961
- const :kind, ::Spoom::Deadcode::Definition::Kind
962
- const :name, ::String
963
- const :full_name, ::String
964
- const :location, ::Spoom::Location
965
- const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil)
1096
+ class Spoom::Deadcode::Definition
1097
+ sig do
1098
+ params(
1099
+ kind: ::Spoom::Deadcode::Definition::Kind,
1100
+ name: ::String,
1101
+ full_name: ::String,
1102
+ location: ::Spoom::Location,
1103
+ status: ::Spoom::Deadcode::Definition::Status
1104
+ ).void
1105
+ end
1106
+ def initialize(kind:, name:, full_name:, location:, status: T.unsafe(nil)); end
966
1107
 
967
1108
  sig { void }
968
1109
  def alive!; end
@@ -985,41 +1126,56 @@ class Spoom::Deadcode::Definition < ::T::Struct
985
1126
  sig { returns(T::Boolean) }
986
1127
  def dead?; end
987
1128
 
1129
+ sig { returns(::String) }
1130
+ def full_name; end
1131
+
988
1132
  sig { void }
989
1133
  def ignored!; end
990
1134
 
991
1135
  sig { returns(T::Boolean) }
992
1136
  def ignored?; end
993
1137
 
1138
+ sig { returns(::Spoom::Deadcode::Definition::Kind) }
1139
+ def kind; end
1140
+
1141
+ sig { returns(::Spoom::Location) }
1142
+ def location; end
1143
+
994
1144
  sig { returns(T::Boolean) }
995
1145
  def method?; end
996
1146
 
997
1147
  sig { returns(T::Boolean) }
998
1148
  def module?; end
999
1149
 
1150
+ sig { returns(::String) }
1151
+ def name; end
1152
+
1153
+ sig { returns(::Spoom::Deadcode::Definition::Status) }
1154
+ def status; end
1155
+
1000
1156
  sig { params(args: T.untyped).returns(::String) }
1001
1157
  def to_json(*args); end
1002
1158
  end
1003
1159
 
1004
- class Spoom::Deadcode::Definition::Kind < ::T::Enum
1005
- enums do
1006
- AttrReader = new
1007
- AttrWriter = new
1008
- Class = new
1009
- Constant = new
1010
- Method = new
1011
- Module = new
1012
- end
1013
- end
1160
+ class Spoom::Deadcode::Definition::Kind
1161
+ sig { params(name: ::String).void }
1162
+ def initialize(name); end
1014
1163
 
1015
- class Spoom::Deadcode::Definition::Status < ::T::Enum
1016
- enums do
1017
- ALIVE = new
1018
- DEAD = new
1019
- IGNORED = new
1020
- end
1164
+ sig { override.returns(::String) }
1165
+ def to_s; end
1021
1166
  end
1022
1167
 
1168
+ Spoom::Deadcode::Definition::Kind::AttrReader = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Kind)
1169
+ Spoom::Deadcode::Definition::Kind::AttrWriter = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Kind)
1170
+ Spoom::Deadcode::Definition::Kind::Class = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Kind)
1171
+ Spoom::Deadcode::Definition::Kind::Constant = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Kind)
1172
+ Spoom::Deadcode::Definition::Kind::Method = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Kind)
1173
+ Spoom::Deadcode::Definition::Kind::Module = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Kind)
1174
+ class Spoom::Deadcode::Definition::Status; end
1175
+ Spoom::Deadcode::Definition::Status::ALIVE = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Status)
1176
+ Spoom::Deadcode::Definition::Status::DEAD = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Status)
1177
+ Spoom::Deadcode::Definition::Status::IGNORED = T.let(T.unsafe(nil), Spoom::Deadcode::Definition::Status)
1178
+
1023
1179
  class Spoom::Deadcode::ERB < ::Erubi::Engine
1024
1180
  sig { params(input: T.untyped, properties: T.untyped).void }
1025
1181
  def initialize(input, properties = T.unsafe(nil)); end
@@ -1521,6 +1677,9 @@ class Spoom::Deadcode::Remover::NodeRemover
1521
1677
  sig { params(context: ::Spoom::Deadcode::Remover::NodeContext, name: ::Symbol).void }
1522
1678
  def delete_symbol_argument(context, name); end
1523
1679
 
1680
+ sig { params(node: ::Prism::Node).returns(T.nilable(::Integer)) }
1681
+ def heredoc_terminator_line(node); end
1682
+
1524
1683
  sig do
1525
1684
  params(
1526
1685
  node: ::Prism::Node,
@@ -1533,6 +1692,9 @@ class Spoom::Deadcode::Remover::NodeRemover
1533
1692
  sig { params(def_node: ::Prism::DefNode).returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) }
1534
1693
  def modifier_call_context(def_node); end
1535
1694
 
1695
+ sig { params(node: T.any(::Prism::Comment, ::Prism::Node)).returns(::Integer) }
1696
+ def node_end_line(node); end
1697
+
1536
1698
  sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
1537
1699
  def remove_constant_visibility_call(context); end
1538
1700
 
@@ -1549,13 +1711,24 @@ class Spoom::Deadcode::Remover::NodeRemover
1549
1711
  def transform_sig(node, name:, kind:); end
1550
1712
  end
1551
1713
 
1552
- class Spoom::Deadcode::Send < ::T::Struct
1553
- const :node, ::Prism::CallNode
1554
- const :name, ::String
1555
- const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil)
1556
- const :args, T::Array[::Prism::Node], default: T.unsafe(nil)
1557
- const :block, T.nilable(::Prism::Node), default: T.unsafe(nil)
1558
- const :location, ::Spoom::Location
1714
+ class Spoom::Deadcode::Send
1715
+ sig do
1716
+ params(
1717
+ node: ::Prism::CallNode,
1718
+ name: ::String,
1719
+ location: ::Spoom::Location,
1720
+ recv: T.nilable(::Prism::Node),
1721
+ args: T::Array[::Prism::Node],
1722
+ block: T.nilable(::Prism::Node)
1723
+ ).void
1724
+ end
1725
+ def initialize(node:, name:, location:, recv: T.unsafe(nil), args: T.unsafe(nil), block: T.unsafe(nil)); end
1726
+
1727
+ sig { returns(T::Array[::Prism::Node]) }
1728
+ def args; end
1729
+
1730
+ sig { returns(T.nilable(::Prism::Node)) }
1731
+ def block; end
1559
1732
 
1560
1733
  sig do
1561
1734
  type_parameters(:T)
@@ -1568,15 +1741,37 @@ class Spoom::Deadcode::Send < ::T::Struct
1568
1741
 
1569
1742
  sig { params(block: T.proc.params(key: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void }
1570
1743
  def each_arg_assoc(&block); end
1744
+
1745
+ sig { returns(::Spoom::Location) }
1746
+ def location; end
1747
+
1748
+ sig { returns(::String) }
1749
+ def name; end
1750
+
1751
+ sig { returns(::Prism::CallNode) }
1752
+ def node; end
1753
+
1754
+ sig { returns(T.nilable(::Prism::Node)) }
1755
+ def recv; end
1571
1756
  end
1572
1757
 
1573
1758
  class Spoom::Error < ::StandardError; end
1574
1759
 
1575
- class Spoom::ExecResult < ::T::Struct
1576
- const :out, ::String
1577
- const :err, T.nilable(::String)
1578
- const :status, T::Boolean
1579
- const :exit_code, ::Integer
1760
+ class Spoom::ExecResult
1761
+ sig { params(out: ::String, status: T::Boolean, exit_code: ::Integer, err: T.nilable(::String)).void }
1762
+ def initialize(out:, status:, exit_code:, err: T.unsafe(nil)); end
1763
+
1764
+ sig { returns(T.nilable(::String)) }
1765
+ def err; end
1766
+
1767
+ sig { returns(::Integer) }
1768
+ def exit_code; end
1769
+
1770
+ sig { returns(::String) }
1771
+ def out; end
1772
+
1773
+ sig { returns(T::Boolean) }
1774
+ def status; end
1580
1775
 
1581
1776
  sig { returns(::String) }
1582
1777
  def to_s; end
@@ -1692,10 +1887,24 @@ class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor
1692
1887
  def visit_node(node); end
1693
1888
  end
1694
1889
 
1695
- class Spoom::FileTree::Node < ::T::Struct
1696
- const :parent, T.nilable(::Spoom::FileTree::Node)
1697
- const :name, ::String
1698
- const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil)
1890
+ class Spoom::FileTree::Node
1891
+ sig do
1892
+ params(
1893
+ name: ::String,
1894
+ parent: T.nilable(::Spoom::FileTree::Node),
1895
+ children: T::Hash[::String, ::Spoom::FileTree::Node]
1896
+ ).void
1897
+ end
1898
+ def initialize(name:, parent: T.unsafe(nil), children: T.unsafe(nil)); end
1899
+
1900
+ sig { returns(T::Hash[::String, ::Spoom::FileTree::Node]) }
1901
+ def children; end
1902
+
1903
+ sig { returns(::String) }
1904
+ def name; end
1905
+
1906
+ sig { returns(T.nilable(::Spoom::FileTree::Node)) }
1907
+ def parent; end
1699
1908
 
1700
1909
  sig { returns(::String) }
1701
1910
  def path; end
@@ -1735,9 +1944,15 @@ end
1735
1944
 
1736
1945
  module Spoom::Git; end
1737
1946
 
1738
- class Spoom::Git::Commit < ::T::Struct
1739
- const :sha, ::String
1740
- const :time, ::Time
1947
+ class Spoom::Git::Commit
1948
+ sig { params(sha: ::String, time: ::Time).void }
1949
+ def initialize(sha:, time:); end
1950
+
1951
+ sig { returns(::String) }
1952
+ def sha; end
1953
+
1954
+ sig { returns(::Time) }
1955
+ def time; end
1741
1956
 
1742
1957
  sig { returns(::Integer) }
1743
1958
  def timestamp; end
@@ -1804,17 +2019,27 @@ class Spoom::LSP::Client
1804
2019
  def type_definitions(uri, line, column); end
1805
2020
  end
1806
2021
 
1807
- class Spoom::LSP::Diagnostic < ::T::Struct
2022
+ class Spoom::LSP::Diagnostic
1808
2023
  include ::Spoom::LSP::PrintableSymbol
1809
2024
 
1810
- const :range, ::Spoom::LSP::Range
1811
- const :code, ::Integer
1812
- const :message, ::String
1813
- const :information, ::Object
2025
+ sig { params(range: ::Spoom::LSP::Range, code: ::Integer, message: ::String, information: ::Object).void }
2026
+ def initialize(range:, code:, message:, information:); end
1814
2027
 
1815
2028
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1816
2029
  def accept_printer(printer); end
1817
2030
 
2031
+ sig { returns(::Integer) }
2032
+ def code; end
2033
+
2034
+ sig { returns(::Object) }
2035
+ def information; end
2036
+
2037
+ sig { returns(::String) }
2038
+ def message; end
2039
+
2040
+ sig { returns(::Spoom::LSP::Range) }
2041
+ def range; end
2042
+
1818
2043
  sig { returns(::String) }
1819
2044
  def to_s; end
1820
2045
 
@@ -1824,25 +2049,56 @@ class Spoom::LSP::Diagnostic < ::T::Struct
1824
2049
  end
1825
2050
  end
1826
2051
 
1827
- class Spoom::LSP::DocumentSymbol < ::T::Struct
2052
+ class Spoom::LSP::DocumentSymbol
1828
2053
  include ::Spoom::LSP::PrintableSymbol
1829
2054
 
1830
- const :name, ::String
1831
- const :detail, T.nilable(::String)
1832
- const :kind, ::Integer
1833
- const :location, T.nilable(::Spoom::LSP::Location)
1834
- const :range, T.nilable(::Spoom::LSP::Range)
1835
- const :children, T::Array[::Spoom::LSP::DocumentSymbol]
2055
+ sig do
2056
+ params(
2057
+ name: ::String,
2058
+ kind: ::Integer,
2059
+ children: T::Array[::Spoom::LSP::DocumentSymbol],
2060
+ detail: T.nilable(::String),
2061
+ location: T.nilable(::Spoom::LSP::Location),
2062
+ range: T.nilable(::Spoom::LSP::Range)
2063
+ ).void
2064
+ end
2065
+ def initialize(name:, kind:, children:, detail: T.unsafe(nil), location: T.unsafe(nil), range: T.unsafe(nil)); end
1836
2066
 
1837
2067
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1838
2068
  def accept_printer(printer); end
1839
2069
 
2070
+ sig { returns(T::Array[::Spoom::LSP::DocumentSymbol]) }
2071
+ def children; end
2072
+
2073
+ sig { returns(T.nilable(::String)) }
2074
+ def detail; end
2075
+
2076
+ sig { returns(::Integer) }
2077
+ def kind; end
2078
+
1840
2079
  sig { returns(::String) }
1841
2080
  def kind_string; end
1842
2081
 
2082
+ sig { returns(T.nilable(::Spoom::LSP::Location)) }
2083
+ def location; end
2084
+
2085
+ sig { returns(::String) }
2086
+ def name; end
2087
+
2088
+ sig { returns(T.nilable(::Spoom::LSP::Range)) }
2089
+ def range; end
2090
+
1843
2091
  sig { returns(::String) }
1844
2092
  def to_s; end
1845
2093
 
2094
+ protected
2095
+
2096
+ sig { returns(T::Array[T.untyped]) }
2097
+ def deduplication_key; end
2098
+
2099
+ sig { params(range: T.nilable(::Spoom::LSP::Range)).returns(T.nilable(T::Array[::Integer])) }
2100
+ def range_key(range); end
2101
+
1846
2102
  class << self
1847
2103
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
1848
2104
  def from_json(json); end
@@ -1870,15 +2126,21 @@ class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error
1870
2126
  end
1871
2127
  end
1872
2128
 
1873
- class Spoom::LSP::Hover < ::T::Struct
2129
+ class Spoom::LSP::Hover
1874
2130
  include ::Spoom::LSP::PrintableSymbol
1875
2131
 
1876
- const :contents, ::String
1877
- const :range, T.nilable(::Spoom::LSP::Range)
2132
+ sig { params(contents: ::String, range: T.nilable(::Spoom::LSP::Range)).void }
2133
+ def initialize(contents:, range: T.unsafe(nil)); end
1878
2134
 
1879
2135
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1880
2136
  def accept_printer(printer); end
1881
2137
 
2138
+ sig { returns(::String) }
2139
+ def contents; end
2140
+
2141
+ sig { returns(T.nilable(::Spoom::LSP::Range)) }
2142
+ def range; end
2143
+
1882
2144
  sig { returns(::String) }
1883
2145
  def to_s; end
1884
2146
 
@@ -1888,18 +2150,24 @@ class Spoom::LSP::Hover < ::T::Struct
1888
2150
  end
1889
2151
  end
1890
2152
 
1891
- class Spoom::LSP::Location < ::T::Struct
2153
+ class Spoom::LSP::Location
1892
2154
  include ::Spoom::LSP::PrintableSymbol
1893
2155
 
1894
- const :uri, ::String
1895
- const :range, ::Spoom::LSP::Range
2156
+ sig { params(uri: ::String, range: ::Spoom::LSP::Range).void }
2157
+ def initialize(uri:, range:); end
1896
2158
 
1897
2159
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1898
2160
  def accept_printer(printer); end
1899
2161
 
2162
+ sig { returns(::Spoom::LSP::Range) }
2163
+ def range; end
2164
+
1900
2165
  sig { returns(::String) }
1901
2166
  def to_s; end
1902
2167
 
2168
+ sig { returns(::String) }
2169
+ def uri; end
2170
+
1903
2171
  class << self
1904
2172
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
1905
2173
  def from_json(json); end
@@ -1928,15 +2196,21 @@ class Spoom::LSP::Notification < ::Spoom::LSP::Message
1928
2196
  def params; end
1929
2197
  end
1930
2198
 
1931
- class Spoom::LSP::Position < ::T::Struct
2199
+ class Spoom::LSP::Position
1932
2200
  include ::Spoom::LSP::PrintableSymbol
1933
2201
 
1934
- const :line, ::Integer
1935
- const :char, ::Integer
2202
+ sig { params(line: ::Integer, char: ::Integer).void }
2203
+ def initialize(line:, char:); end
1936
2204
 
1937
2205
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1938
2206
  def accept_printer(printer); end
1939
2207
 
2208
+ sig { returns(::Integer) }
2209
+ def char; end
2210
+
2211
+ sig { returns(::Integer) }
2212
+ def line; end
2213
+
1940
2214
  sig { returns(::String) }
1941
2215
  def to_s; end
1942
2216
 
@@ -1953,15 +2227,21 @@ module Spoom::LSP::PrintableSymbol
1953
2227
  def accept_printer(printer); end
1954
2228
  end
1955
2229
 
1956
- class Spoom::LSP::Range < ::T::Struct
2230
+ class Spoom::LSP::Range
1957
2231
  include ::Spoom::LSP::PrintableSymbol
1958
2232
 
1959
- const :start, ::Spoom::LSP::Position
1960
- const :end, ::Spoom::LSP::Position
2233
+ sig { params(start_pos: ::Spoom::LSP::Position, end_pos: ::Spoom::LSP::Position).void }
2234
+ def initialize(start_pos:, end_pos:); end
1961
2235
 
1962
2236
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
1963
2237
  def accept_printer(printer); end
1964
2238
 
2239
+ sig { returns(::Spoom::LSP::Position) }
2240
+ def end_pos; end
2241
+
2242
+ sig { returns(::Spoom::LSP::Position) }
2243
+ def start_pos; end
2244
+
1965
2245
  sig { returns(::String) }
1966
2246
  def to_s; end
1967
2247
 
@@ -1998,16 +2278,24 @@ class Spoom::LSP::ResponseError < ::Spoom::LSP::Error
1998
2278
  end
1999
2279
  end
2000
2280
 
2001
- class Spoom::LSP::SignatureHelp < ::T::Struct
2281
+ class Spoom::LSP::SignatureHelp
2002
2282
  include ::Spoom::LSP::PrintableSymbol
2003
2283
 
2004
- const :label, T.nilable(::String)
2005
- const :doc, ::Object
2006
- const :params, T::Array[T.untyped]
2284
+ sig { params(doc: ::Object, params: T::Array[T.untyped], label: T.nilable(::String)).void }
2285
+ def initialize(doc:, params:, label: T.unsafe(nil)); end
2007
2286
 
2008
2287
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
2009
2288
  def accept_printer(printer); end
2010
2289
 
2290
+ sig { returns(::Object) }
2291
+ def doc; end
2292
+
2293
+ sig { returns(T.nilable(::String)) }
2294
+ def label; end
2295
+
2296
+ sig { returns(T::Array[T.untyped]) }
2297
+ def params; end
2298
+
2011
2299
  sig { returns(::String) }
2012
2300
  def to_s; end
2013
2301
 
@@ -2045,7 +2333,7 @@ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
2045
2333
  sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void }
2046
2334
  def print_objects(objects); end
2047
2335
 
2048
- sig { returns(T::Set[::Integer]) }
2336
+ sig { returns(T::Set[T::Array[T.untyped]]) }
2049
2337
  def seen; end
2050
2338
  end
2051
2339
 
@@ -2295,17 +2583,25 @@ class Spoom::Model::Property < ::Spoom::Model::SymbolDef
2295
2583
  def visibility; end
2296
2584
  end
2297
2585
 
2298
- class Spoom::Model::Reference < ::T::Struct
2299
- const :kind, ::Spoom::Model::Reference::Kind
2300
- const :name, ::String
2301
- const :location, ::Spoom::Location
2586
+ class Spoom::Model::Reference
2587
+ sig { params(kind: ::Spoom::Model::Reference::Kind, name: ::String, location: ::Spoom::Location).void }
2588
+ def initialize(kind:, name:, location:); end
2302
2589
 
2303
2590
  sig { returns(T::Boolean) }
2304
2591
  def constant?; end
2305
2592
 
2593
+ sig { returns(::Spoom::Model::Reference::Kind) }
2594
+ def kind; end
2595
+
2596
+ sig { returns(::Spoom::Location) }
2597
+ def location; end
2598
+
2306
2599
  sig { returns(T::Boolean) }
2307
2600
  def method?; end
2308
2601
 
2602
+ sig { returns(::String) }
2603
+ def name; end
2604
+
2309
2605
  class << self
2310
2606
  sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) }
2311
2607
  def constant(name, location); end
@@ -2315,13 +2611,17 @@ class Spoom::Model::Reference < ::T::Struct
2315
2611
  end
2316
2612
  end
2317
2613
 
2318
- class Spoom::Model::Reference::Kind < ::T::Enum
2319
- enums do
2320
- Constant = new
2321
- Method = new
2322
- end
2614
+ class Spoom::Model::Reference::Kind
2615
+ sig { params(name: ::String).void }
2616
+ def initialize(name); end
2617
+
2618
+ sig { returns(::String) }
2619
+ def to_s; end
2323
2620
  end
2324
2621
 
2622
+ Spoom::Model::Reference::Kind::Constant = T.let(T.unsafe(nil), Spoom::Model::Reference::Kind)
2623
+ Spoom::Model::Reference::Kind::Method = T.let(T.unsafe(nil), Spoom::Model::Reference::Kind)
2624
+
2325
2625
  class Spoom::Model::ReferencesVisitor < ::Spoom::Visitor
2326
2626
  sig { params(file: ::String).void }
2327
2627
  def initialize(file); end
@@ -2471,14 +2771,22 @@ class Spoom::Model::UnresolvedSymbol < ::Spoom::Model::Symbol
2471
2771
  def to_s; end
2472
2772
  end
2473
2773
 
2474
- class Spoom::Model::Visibility < ::T::Enum
2475
- enums do
2476
- Private = new
2477
- Protected = new
2478
- Public = new
2774
+ class Spoom::Model::Visibility
2775
+ sig { params(name: ::String).void }
2776
+ def initialize(name); end
2777
+
2778
+ sig { override.returns(::String) }
2779
+ def to_s; end
2780
+
2781
+ class << self
2782
+ sig { params(name: ::String).returns(::Spoom::Model::Visibility) }
2783
+ def from_string(name); end
2479
2784
  end
2480
2785
  end
2481
2786
 
2787
+ Spoom::Model::Visibility::Private = T.let(T.unsafe(nil), Spoom::Model::Visibility)
2788
+ Spoom::Model::Visibility::Protected = T.let(T.unsafe(nil), Spoom::Model::Visibility)
2789
+ Spoom::Model::Visibility::Public = T.let(T.unsafe(nil), Spoom::Model::Visibility)
2482
2790
  class Spoom::ParseError < ::Spoom::Error; end
2483
2791
 
2484
2792
  class Spoom::Poset
@@ -2939,10 +3247,11 @@ module Spoom::Sorbet::Translate
2939
3247
  file: ::String,
2940
3248
  max_line_length: T.nilable(::Integer),
2941
3249
  overloads_strategy: ::Symbol,
2942
- erase_generic_types: T::Boolean
3250
+ erase_generic_types: T::Boolean,
3251
+ force: T::Boolean
2943
3252
  ).returns(::String)
2944
3253
  end
2945
- def rbs_comments_to_sorbet_sigs(ruby_contents, file:, max_line_length: T.unsafe(nil), overloads_strategy: T.unsafe(nil), erase_generic_types: T.unsafe(nil)); end
3254
+ def rbs_comments_to_sorbet_sigs(ruby_contents, file:, max_line_length: T.unsafe(nil), overloads_strategy: T.unsafe(nil), erase_generic_types: T.unsafe(nil), force: T.unsafe(nil)); end
2946
3255
 
2947
3256
  sig do
2948
3257
  params(
@@ -3013,19 +3322,17 @@ end
3013
3322
 
3014
3323
  module Spoom::Sorbet::Translate::RBSCommentsToSorbetSigs
3015
3324
  class << self
3016
- sig { params(source: ::String).returns(T::Boolean) }
3017
- def contains_rbs_syntax?(source); end
3018
-
3019
3325
  sig do
3020
3326
  params(
3021
3327
  ruby_contents: ::String,
3022
3328
  file: ::String,
3023
3329
  max_line_length: T.nilable(::Integer),
3024
3330
  overloads_strategy: ::Symbol,
3025
- erase_generic_types: T::Boolean
3331
+ erase_generic_types: T::Boolean,
3332
+ force: T::Boolean
3026
3333
  ).returns(::String)
3027
3334
  end
3028
- def rewrite_if_needed(ruby_contents, file:, max_line_length: T.unsafe(nil), overloads_strategy: T.unsafe(nil), erase_generic_types: T.unsafe(nil)); end
3335
+ def rewrite_if_needed(ruby_contents, file:, max_line_length: T.unsafe(nil), overloads_strategy: T.unsafe(nil), erase_generic_types: T.unsafe(nil), force: T.unsafe(nil)); end
3029
3336
  end
3030
3337
  end
3031
3338
 
@@ -3067,14 +3374,6 @@ class Spoom::Sorbet::Translate::RBSCommentsToSorbetSigs::BaseTranslator < ::Spoo
3067
3374
 
3068
3375
  private
3069
3376
 
3070
- sig do
3071
- params(
3072
- node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode),
3073
- constant_regex: ::Regexp
3074
- ).returns(T::Boolean)
3075
- end
3076
- def already_extends?(node, constant_regex); end
3077
-
3078
3377
  sig do
3079
3378
  abstract
3080
3379
  .params(