spoom 1.6.3 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/spoom/cli/srb/assertions.rb +1 -1
- data/lib/spoom/cli/srb/sigs.rb +8 -10
- data/lib/spoom/deadcode/index.rb +2 -2
- data/lib/spoom/deadcode/plugins/active_record.rb +19 -0
- data/lib/spoom/model/builder.rb +10 -15
- data/lib/spoom/model/model.rb +1 -1
- data/lib/spoom/parse.rb +4 -18
- data/lib/spoom/rbs.rb +77 -0
- data/lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb +239 -0
- data/lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb +123 -0
- data/lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb +293 -0
- data/lib/spoom/sorbet/translate/strip_sorbet_sigs.rb +23 -0
- data/lib/spoom/sorbet/translate/translator.rb +71 -0
- data/lib/spoom/sorbet/translate.rb +49 -0
- data/lib/spoom/sorbet.rb +1 -1
- data/lib/spoom/source/rewriter.rb +167 -0
- data/lib/spoom/source.rb +4 -0
- data/lib/spoom/version.rb +1 -1
- data/lib/spoom.rb +2 -0
- data/rbi/spoom.rbi +241 -155
- metadata +25 -4
- data/lib/spoom/sorbet/assertions.rb +0 -278
- data/lib/spoom/sorbet/sigs.rb +0 -281
data/rbi/spoom.rbi
CHANGED
@@ -6,11 +6,8 @@
|
|
6
6
|
|
7
7
|
module Spoom
|
8
8
|
class << self
|
9
|
-
sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) }
|
10
|
-
def parse_ruby(ruby, file:); end
|
11
|
-
|
12
|
-
sig { params(ruby: ::String, file: ::String).returns([::Prism::Node, T::Array[::Prism::Comment]]) }
|
13
|
-
def parse_ruby_with_comments(ruby, file:); end
|
9
|
+
sig { params(ruby: ::String, file: ::String, comments: T::Boolean).returns(::Prism::Node) }
|
10
|
+
def parse_ruby(ruby, file:, comments: T.unsafe(nil)); end
|
14
11
|
end
|
15
12
|
end
|
16
13
|
|
@@ -1133,6 +1130,7 @@ end
|
|
1133
1130
|
|
1134
1131
|
Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
|
1135
1132
|
Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
|
1133
|
+
Spoom::Deadcode::Plugins::ActiveRecord::CALLBACK_CONDITIONS = T.let(T.unsafe(nil), Array)
|
1136
1134
|
Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
|
1137
1135
|
|
1138
1136
|
class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base
|
@@ -2100,8 +2098,8 @@ class Spoom::Model::AttrReader < ::Spoom::Model::Attr; end
|
|
2100
2098
|
class Spoom::Model::AttrWriter < ::Spoom::Model::Attr; end
|
2101
2099
|
|
2102
2100
|
class Spoom::Model::Builder < ::Spoom::Model::NamespaceVisitor
|
2103
|
-
sig { params(model: ::Spoom::Model, file: ::String
|
2104
|
-
def initialize(model, file
|
2101
|
+
sig { params(model: ::Spoom::Model, file: ::String).void }
|
2102
|
+
def initialize(model, file); end
|
2105
2103
|
|
2106
2104
|
sig { override.params(node: ::Prism::CallNode).void }
|
2107
2105
|
def visit_call_node(node); end
|
@@ -2554,117 +2552,42 @@ class Spoom::Printer
|
|
2554
2552
|
def printt; end
|
2555
2553
|
end
|
2556
2554
|
|
2557
|
-
Spoom::
|
2558
|
-
|
2559
|
-
|
2560
|
-
class Spoom::Sorbet::Assertions
|
2561
|
-
class << self
|
2562
|
-
sig { params(ruby_contents: ::String, file: ::String).returns(::String) }
|
2563
|
-
def rbi_to_rbs(ruby_contents, file:); end
|
2564
|
-
|
2565
|
-
private
|
2566
|
-
|
2567
|
-
sig { params(ruby_contents: ::String, file: ::String).returns(T::Array[::Spoom::Sorbet::Assertions::AssignNode]) }
|
2568
|
-
def collect_assigns(ruby_contents, file:); end
|
2569
|
-
|
2570
|
-
sig { params(assign: ::Spoom::Sorbet::Assertions::AssignNode).returns(::String) }
|
2571
|
-
def dedent_value(assign); end
|
2572
|
-
end
|
2573
|
-
end
|
2555
|
+
module Spoom::RBS; end
|
2556
|
+
class Spoom::RBS::Annotations < ::Spoom::RBS::Comment; end
|
2574
2557
|
|
2575
|
-
class Spoom::
|
2576
|
-
sig
|
2577
|
-
|
2578
|
-
node: T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode),
|
2579
|
-
operator_loc: ::Prism::Location,
|
2580
|
-
value: ::Prism::Node,
|
2581
|
-
type: ::Prism::Node
|
2582
|
-
).void
|
2583
|
-
end
|
2584
|
-
def initialize(node, operator_loc, value, type); end
|
2585
|
-
|
2586
|
-
sig do
|
2587
|
-
returns(T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode))
|
2588
|
-
end
|
2589
|
-
def node; end
|
2558
|
+
class Spoom::RBS::Comment
|
2559
|
+
sig { params(string: ::String, location: ::Prism::Location).void }
|
2560
|
+
def initialize(string, location); end
|
2590
2561
|
|
2591
2562
|
sig { returns(::Prism::Location) }
|
2592
|
-
def
|
2563
|
+
def location; end
|
2593
2564
|
|
2594
2565
|
sig { returns(::String) }
|
2595
|
-
def
|
2596
|
-
|
2597
|
-
def type; end
|
2598
|
-
|
2599
|
-
sig { returns(::Prism::Node) }
|
2600
|
-
def value; end
|
2566
|
+
def string; end
|
2601
2567
|
end
|
2602
2568
|
|
2603
|
-
Spoom::
|
2604
|
-
|
2605
|
-
class Spoom::Sorbet::Assertions::Locator < ::Spoom::Visitor
|
2569
|
+
class Spoom::RBS::Comments
|
2606
2570
|
sig { void }
|
2607
2571
|
def initialize; end
|
2608
2572
|
|
2609
|
-
sig { returns(T::Array[::Spoom::
|
2610
|
-
def
|
2611
|
-
|
2612
|
-
sig { params(node: ::Prism::Node).returns(T::Boolean) }
|
2613
|
-
def contains_heredoc?(node); end
|
2614
|
-
|
2615
|
-
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
|
2616
|
-
def t?(node); end
|
2617
|
-
|
2618
|
-
sig { params(node: ::Prism::CallNode).returns(T::Boolean) }
|
2619
|
-
def t_annotation?(node); end
|
2620
|
-
|
2621
|
-
sig do
|
2622
|
-
params(
|
2623
|
-
node: T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode)
|
2624
|
-
).void
|
2625
|
-
end
|
2626
|
-
def visit_assign(node); end
|
2627
|
-
|
2628
|
-
def visit_class_variable_and_write_node(*args, **_arg1, &blk); end
|
2629
|
-
def visit_class_variable_operator_write_node(*args, **_arg1, &blk); end
|
2630
|
-
def visit_class_variable_or_write_node(*args, **_arg1, &blk); end
|
2631
|
-
def visit_class_variable_write_node(*args, **_arg1, &blk); end
|
2632
|
-
def visit_constant_and_write_node(*args, **_arg1, &blk); end
|
2633
|
-
def visit_constant_operator_write_node(*args, **_arg1, &blk); end
|
2634
|
-
def visit_constant_or_write_node(*args, **_arg1, &blk); end
|
2635
|
-
def visit_constant_path_and_write_node(*args, **_arg1, &blk); end
|
2636
|
-
def visit_constant_path_operator_write_node(*args, **_arg1, &blk); end
|
2637
|
-
def visit_constant_path_or_write_node(*args, **_arg1, &blk); end
|
2638
|
-
def visit_constant_path_write_node(*args, **_arg1, &blk); end
|
2639
|
-
def visit_constant_write_node(*args, **_arg1, &blk); end
|
2640
|
-
def visit_global_variable_and_write_node(*args, **_arg1, &blk); end
|
2641
|
-
def visit_global_variable_operator_write_node(*args, **_arg1, &blk); end
|
2642
|
-
def visit_global_variable_or_write_node(*args, **_arg1, &blk); end
|
2643
|
-
def visit_global_variable_write_node(*args, **_arg1, &blk); end
|
2644
|
-
def visit_instance_variable_and_write_node(*args, **_arg1, &blk); end
|
2645
|
-
def visit_instance_variable_operator_write_node(*args, **_arg1, &blk); end
|
2646
|
-
def visit_instance_variable_or_write_node(*args, **_arg1, &blk); end
|
2647
|
-
def visit_instance_variable_write_node(*args, **_arg1, &blk); end
|
2648
|
-
def visit_local_variable_and_write_node(*args, **_arg1, &blk); end
|
2649
|
-
def visit_local_variable_operator_write_node(*args, **_arg1, &blk); end
|
2650
|
-
def visit_local_variable_or_write_node(*args, **_arg1, &blk); end
|
2651
|
-
def visit_local_variable_write_node(*args, **_arg1, &blk); end
|
2652
|
-
def visit_multi_write_node(*args, **_arg1, &blk); end
|
2653
|
-
end
|
2654
|
-
|
2655
|
-
Spoom::Sorbet::Assertions::Locator::ANNOTATION_METHODS = T.let(T.unsafe(nil), Array)
|
2656
|
-
|
2657
|
-
class Spoom::Sorbet::Assertions::Locator::HeredocVisitor < ::Spoom::Visitor
|
2658
|
-
sig { void }
|
2659
|
-
def initialize; end
|
2573
|
+
sig { returns(T::Array[::Spoom::RBS::Annotations]) }
|
2574
|
+
def annotations; end
|
2660
2575
|
|
2661
2576
|
sig { returns(T::Boolean) }
|
2662
|
-
def
|
2577
|
+
def empty?; end
|
2663
2578
|
|
2664
|
-
sig {
|
2665
|
-
def
|
2579
|
+
sig { returns(T::Array[::Spoom::RBS::Signature]) }
|
2580
|
+
def signatures; end
|
2666
2581
|
end
|
2667
2582
|
|
2583
|
+
module Spoom::RBS::ExtractRBSComments
|
2584
|
+
sig { params(node: ::Prism::Node).returns(::Spoom::RBS::Comments) }
|
2585
|
+
def node_rbs_comments(node); end
|
2586
|
+
end
|
2587
|
+
|
2588
|
+
class Spoom::RBS::Signature < ::Spoom::RBS::Comment; end
|
2589
|
+
Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
|
2590
|
+
module Spoom::Sorbet; end
|
2668
2591
|
Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
|
2669
2592
|
Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String)
|
2670
2593
|
|
@@ -2859,87 +2782,250 @@ Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String)
|
|
2859
2782
|
Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String)
|
2860
2783
|
Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array)
|
2861
2784
|
|
2862
|
-
|
2785
|
+
module Spoom::Sorbet::Translate
|
2863
2786
|
class << self
|
2864
|
-
sig { params(ruby_contents: ::String,
|
2865
|
-
def
|
2787
|
+
sig { params(ruby_contents: ::String, file: ::String).returns(::String) }
|
2788
|
+
def rbs_comments_to_sorbet_sigs(ruby_contents, file:); end
|
2789
|
+
|
2790
|
+
sig { params(ruby_contents: ::String, file: ::String).returns(::String) }
|
2791
|
+
def sorbet_assertions_to_rbs_comments(ruby_contents, file:); end
|
2792
|
+
|
2793
|
+
sig { params(ruby_contents: ::String, file: ::String, positional_names: T::Boolean).returns(::String) }
|
2794
|
+
def sorbet_sigs_to_rbs_comments(ruby_contents, file:, positional_names: T.unsafe(nil)); end
|
2866
2795
|
|
2867
|
-
sig { params(ruby_contents: ::String).returns(::String) }
|
2868
|
-
def
|
2796
|
+
sig { params(ruby_contents: ::String, file: ::String).returns(::String) }
|
2797
|
+
def strip_sorbet_sigs(ruby_contents, file:); end
|
2798
|
+
end
|
2799
|
+
end
|
2869
2800
|
|
2870
|
-
|
2871
|
-
def strip(ruby_contents); end
|
2801
|
+
class Spoom::Sorbet::Translate::Error < ::Spoom::Error; end
|
2872
2802
|
|
2873
|
-
|
2803
|
+
class Spoom::Sorbet::Translate::RBSCommentsToSorbetSigs < ::Spoom::Sorbet::Translate::Translator
|
2804
|
+
include ::Spoom::RBS::ExtractRBSComments
|
2874
2805
|
|
2875
|
-
|
2876
|
-
|
2806
|
+
sig { override.params(node: ::Prism::CallNode).void }
|
2807
|
+
def visit_call_node(node); end
|
2808
|
+
|
2809
|
+
sig { override.params(node: ::Prism::ClassNode).void }
|
2810
|
+
def visit_class_node(node); end
|
2811
|
+
|
2812
|
+
sig { override.params(node: ::Prism::DefNode).void }
|
2813
|
+
def visit_def_node(node); end
|
2814
|
+
|
2815
|
+
sig { override.params(node: ::Prism::ModuleNode).void }
|
2816
|
+
def visit_module_node(node); end
|
2877
2817
|
|
2878
|
-
|
2879
|
-
|
2818
|
+
sig { override.params(node: ::Prism::SingletonClassNode).void }
|
2819
|
+
def visit_singleton_class_node(node); end
|
2820
|
+
|
2821
|
+
private
|
2822
|
+
|
2823
|
+
sig do
|
2824
|
+
params(
|
2825
|
+
node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode),
|
2826
|
+
constant_regex: ::Regexp
|
2827
|
+
).returns(T::Boolean)
|
2880
2828
|
end
|
2829
|
+
def already_extends?(node, constant_regex); end
|
2830
|
+
|
2831
|
+
sig { params(node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode)).void }
|
2832
|
+
def apply_class_annotations(node); end
|
2833
|
+
|
2834
|
+
sig { params(annotations: T::Array[::Spoom::RBS::Annotations], sig: ::RBI::Sig).void }
|
2835
|
+
def apply_member_annotations(annotations, sig); end
|
2836
|
+
|
2837
|
+
sig { params(node: ::Prism::CallNode).void }
|
2838
|
+
def visit_attr(node); end
|
2881
2839
|
end
|
2882
2840
|
|
2883
|
-
class Spoom::Sorbet::
|
2841
|
+
class Spoom::Sorbet::Translate::SorbetAssertionsToRBSComments < ::Spoom::Sorbet::Translate::Translator
|
2842
|
+
sig { override.params(node: ::Prism::CallNode).void }
|
2843
|
+
def visit_call_node(node); end
|
2844
|
+
|
2845
|
+
private
|
2884
2846
|
|
2885
|
-
|
2886
|
-
|
2887
|
-
sig do
|
2888
|
-
params(
|
2889
|
-
sig: ::RBI::Sig,
|
2890
|
-
node: T.any(::RBI::Attr, ::RBI::Method),
|
2891
|
-
positional_names: T::Boolean
|
2892
|
-
).returns(::String)
|
2893
|
-
end
|
2894
|
-
def translate(sig, node, positional_names: T.unsafe(nil)); end
|
2847
|
+
sig { params(node: ::Prism::Node).returns(T::Boolean) }
|
2848
|
+
def at_end_of_line?(node); end
|
2895
2849
|
|
2896
|
-
|
2850
|
+
sig { params(call: ::Prism::CallNode).void }
|
2851
|
+
def build_rbs_annotation(call); end
|
2897
2852
|
|
2898
|
-
|
2899
|
-
|
2853
|
+
sig { params(assign: ::Prism::Node, value: ::Prism::Node).returns(::String) }
|
2854
|
+
def dedent_value(assign, value); end
|
2900
2855
|
|
2901
|
-
|
2902
|
-
|
2903
|
-
|
2856
|
+
sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
|
2857
|
+
def t?(node); end
|
2858
|
+
|
2859
|
+
sig { params(node: ::Prism::CallNode).returns(T::Boolean) }
|
2860
|
+
def t_annotation?(node); end
|
2904
2861
|
end
|
2905
2862
|
|
2906
|
-
|
2907
|
-
class << self
|
2908
|
-
sig { params(comment: ::RBI::RBSComment, node: T.any(::RBI::Attr, ::RBI::Method)).returns(T.nilable(::String)) }
|
2909
|
-
def translate(comment, node); end
|
2863
|
+
Spoom::Sorbet::Translate::SorbetAssertionsToRBSComments::LINE_BREAK = T.let(T.unsafe(nil), Integer)
|
2910
2864
|
|
2911
|
-
|
2865
|
+
class Spoom::Sorbet::Translate::SorbetSigsToRBSComments < ::Spoom::Sorbet::Translate::Translator
|
2866
|
+
sig { params(ruby_contents: ::String, file: ::String, positional_names: T::Boolean).void }
|
2867
|
+
def initialize(ruby_contents, file:, positional_names:); end
|
2868
|
+
|
2869
|
+
sig { override.params(node: ::Prism::CallNode).void }
|
2870
|
+
def visit_call_node(node); end
|
2871
|
+
|
2872
|
+
sig { override.params(node: ::Prism::ClassNode).void }
|
2873
|
+
def visit_class_node(node); end
|
2912
2874
|
|
2913
|
-
|
2914
|
-
|
2875
|
+
sig { override.params(node: ::Prism::ConstantWriteNode).void }
|
2876
|
+
def visit_constant_write_node(node); end
|
2877
|
+
|
2878
|
+
sig { override.params(node: ::Prism::DefNode).void }
|
2879
|
+
def visit_def_node(node); end
|
2880
|
+
|
2881
|
+
sig { override.params(node: ::Prism::ModuleNode).void }
|
2882
|
+
def visit_module_node(node); end
|
2883
|
+
|
2884
|
+
sig { override.params(node: ::Prism::SingletonClassNode).void }
|
2885
|
+
def visit_singleton_class_node(node); end
|
2915
2886
|
|
2916
|
-
|
2917
|
-
|
2887
|
+
private
|
2888
|
+
|
2889
|
+
sig { params(sigs: T::Array[[::Prism::CallNode, ::RBI::Sig]]).void }
|
2890
|
+
def apply_member_annotations(sigs); end
|
2891
|
+
|
2892
|
+
sig { params(node: ::Prism::ConstantWriteNode).returns(::String) }
|
2893
|
+
def build_type_member_string(node); end
|
2894
|
+
|
2895
|
+
sig { params(node: ::Prism::CallNode).void }
|
2896
|
+
def visit_attr(node); end
|
2897
|
+
|
2898
|
+
sig { params(node: ::Prism::CallNode).void }
|
2899
|
+
def visit_class_annotation(node); end
|
2900
|
+
|
2901
|
+
sig { params(node: ::Prism::CallNode).void }
|
2902
|
+
def visit_extend(node); end
|
2903
|
+
|
2904
|
+
sig do
|
2905
|
+
params(
|
2906
|
+
node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode),
|
2907
|
+
block: T.proc.void
|
2908
|
+
).void
|
2918
2909
|
end
|
2910
|
+
def visit_scope(node, &block); end
|
2911
|
+
|
2912
|
+
sig { params(node: ::Prism::CallNode).void }
|
2913
|
+
def visit_sig(node); end
|
2914
|
+
end
|
2915
|
+
|
2916
|
+
class Spoom::Sorbet::Translate::StripSorbetSigs < ::Spoom::Sorbet::Translate::Translator
|
2917
|
+
sig { override.params(node: ::Prism::CallNode).void }
|
2918
|
+
def visit_call_node(node); end
|
2919
|
+
end
|
2920
|
+
|
2921
|
+
class Spoom::Sorbet::Translate::Translator < ::Spoom::Visitor
|
2922
|
+
abstract!
|
2923
|
+
|
2924
|
+
sig { params(ruby_contents: ::String, file: ::String).void }
|
2925
|
+
def initialize(ruby_contents, file:); end
|
2926
|
+
|
2927
|
+
sig { returns(::String) }
|
2928
|
+
def rewrite; end
|
2929
|
+
|
2930
|
+
private
|
2931
|
+
|
2932
|
+
sig { params(offset: ::Integer).returns(::Integer) }
|
2933
|
+
def adjust_to_line_end(offset); end
|
2934
|
+
|
2935
|
+
sig { params(offset: ::Integer).returns(::Integer) }
|
2936
|
+
def adjust_to_line_start(offset); end
|
2937
|
+
|
2938
|
+
sig { params(offset: ::Integer).returns(::Integer) }
|
2939
|
+
def adjust_to_new_line(offset); end
|
2940
|
+
|
2941
|
+
sig { params(node: ::Prism::CallNode).returns(T::Boolean) }
|
2942
|
+
def sorbet_sig?(node); end
|
2919
2943
|
end
|
2920
2944
|
|
2921
|
-
|
2922
|
-
|
2923
|
-
|
2945
|
+
module Spoom::Source; end
|
2946
|
+
|
2947
|
+
class Spoom::Source::Delete < ::Spoom::Source::Edit
|
2948
|
+
sig { params(from: ::Integer, to: ::Integer).void }
|
2949
|
+
def initialize(from, to); end
|
2950
|
+
|
2951
|
+
sig { override.params(bytes: T::Array[T.untyped]).void }
|
2952
|
+
def apply(bytes); end
|
2953
|
+
|
2954
|
+
sig { returns(::Integer) }
|
2955
|
+
def from; end
|
2956
|
+
|
2957
|
+
sig { override.returns([::Integer, ::Integer]) }
|
2958
|
+
def range; end
|
2959
|
+
|
2960
|
+
def to; end
|
2924
2961
|
|
2925
|
-
sig {
|
2926
|
-
def
|
2962
|
+
sig { override.returns(::String) }
|
2963
|
+
def to_s; end
|
2927
2964
|
end
|
2928
2965
|
|
2929
|
-
Spoom::
|
2966
|
+
class Spoom::Source::Edit
|
2967
|
+
abstract!
|
2968
|
+
|
2969
|
+
sig { abstract.params(bytes: T::Array[::Integer]).void }
|
2970
|
+
def apply(bytes); end
|
2971
|
+
|
2972
|
+
sig { abstract.returns([::Integer, ::Integer]) }
|
2973
|
+
def range; end
|
2974
|
+
end
|
2975
|
+
|
2976
|
+
class Spoom::Source::Insert < ::Spoom::Source::Edit
|
2977
|
+
sig { params(position: ::Integer, text: ::String).void }
|
2978
|
+
def initialize(position, text); end
|
2979
|
+
|
2980
|
+
sig { override.params(bytes: T::Array[::Integer]).void }
|
2981
|
+
def apply(bytes); end
|
2982
|
+
|
2983
|
+
sig { returns(::Integer) }
|
2984
|
+
def position; end
|
2985
|
+
|
2986
|
+
sig { override.returns([::Integer, ::Integer]) }
|
2987
|
+
def range; end
|
2930
2988
|
|
2931
|
-
|
2989
|
+
sig { returns(::String) }
|
2990
|
+
def text; end
|
2991
|
+
|
2992
|
+
sig { override.returns(::String) }
|
2993
|
+
def to_s; end
|
2994
|
+
end
|
2995
|
+
|
2996
|
+
class Spoom::Source::PositionError < ::Spoom::Error; end
|
2997
|
+
|
2998
|
+
class Spoom::Source::Replace < ::Spoom::Source::Edit
|
2999
|
+
sig { params(from: ::Integer, to: ::Integer, text: ::String).void }
|
3000
|
+
def initialize(from, to, text); end
|
3001
|
+
|
3002
|
+
sig { override.params(bytes: T::Array[::Integer]).void }
|
3003
|
+
def apply(bytes); end
|
3004
|
+
|
3005
|
+
sig { returns(::Integer) }
|
3006
|
+
def from; end
|
3007
|
+
|
3008
|
+
sig { override.returns([::Integer, ::Integer]) }
|
3009
|
+
def range; end
|
3010
|
+
|
3011
|
+
sig { returns(::String) }
|
3012
|
+
def text; end
|
3013
|
+
|
3014
|
+
def to; end
|
3015
|
+
|
3016
|
+
sig { override.returns(::String) }
|
3017
|
+
def to_s; end
|
3018
|
+
end
|
3019
|
+
|
3020
|
+
class Spoom::Source::Rewriter
|
2932
3021
|
sig { void }
|
2933
3022
|
def initialize; end
|
2934
3023
|
|
2935
|
-
sig {
|
2936
|
-
def
|
3024
|
+
sig { params(other: ::Spoom::Source::Edit).void }
|
3025
|
+
def <<(other); end
|
2937
3026
|
|
2938
|
-
sig {
|
2939
|
-
def
|
2940
|
-
|
2941
|
-
sig { override.params(node: T.nilable(::RBI::Node)).void }
|
2942
|
-
def visit(node); end
|
3027
|
+
sig { params(bytes: T::Array[::Integer]).void }
|
3028
|
+
def rewrite!(bytes); end
|
2943
3029
|
end
|
2944
3030
|
|
2945
3031
|
class Spoom::Timeline
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spoom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Terrasa
|
@@ -107,6 +107,20 @@ dependencies:
|
|
107
107
|
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: 0.3.3
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rbs
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 4.0.0.dev.4
|
117
|
+
type: :runtime
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 4.0.0.dev.4
|
110
124
|
- !ruby/object:Gem::Dependency
|
111
125
|
name: rexml
|
112
126
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,8 +240,8 @@ files:
|
|
226
240
|
- lib/spoom/parse.rb
|
227
241
|
- lib/spoom/poset.rb
|
228
242
|
- lib/spoom/printer.rb
|
243
|
+
- lib/spoom/rbs.rb
|
229
244
|
- lib/spoom/sorbet.rb
|
230
|
-
- lib/spoom/sorbet/assertions.rb
|
231
245
|
- lib/spoom/sorbet/config.rb
|
232
246
|
- lib/spoom/sorbet/errors.rb
|
233
247
|
- lib/spoom/sorbet/lsp.rb
|
@@ -236,7 +250,14 @@ files:
|
|
236
250
|
- lib/spoom/sorbet/lsp/structures.rb
|
237
251
|
- lib/spoom/sorbet/metrics.rb
|
238
252
|
- lib/spoom/sorbet/sigils.rb
|
239
|
-
- lib/spoom/sorbet/
|
253
|
+
- lib/spoom/sorbet/translate.rb
|
254
|
+
- lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb
|
255
|
+
- lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb
|
256
|
+
- lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb
|
257
|
+
- lib/spoom/sorbet/translate/strip_sorbet_sigs.rb
|
258
|
+
- lib/spoom/sorbet/translate/translator.rb
|
259
|
+
- lib/spoom/source.rb
|
260
|
+
- lib/spoom/source/rewriter.rb
|
240
261
|
- lib/spoom/timeline.rb
|
241
262
|
- lib/spoom/version.rb
|
242
263
|
- lib/spoom/visitor.rb
|
@@ -263,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
284
|
- !ruby/object:Gem::Version
|
264
285
|
version: '0'
|
265
286
|
requirements: []
|
266
|
-
rubygems_version: 3.6.
|
287
|
+
rubygems_version: 3.6.9
|
267
288
|
specification_version: 4
|
268
289
|
summary: Useful tools for Sorbet enthusiasts.
|
269
290
|
test_files: []
|