ruby_mod_kit 0.0.4 → 0.0.6
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/.ruby_mod_kit.yml +1 -0
- data/.yardopts +3 -0
- data/README.md +89 -0
- data/examples/user.rb +4 -16
- data/lib/ruby_mod_kit/cli.rb +5 -0
- data/lib/ruby_mod_kit/config.rb +6 -1
- data/lib/ruby_mod_kit/core_ext/eval.rb +13 -10
- data/lib/ruby_mod_kit/core_ext/load.rb +10 -0
- data/lib/ruby_mod_kit/corrector.rb +8 -0
- data/lib/ruby_mod_kit/corrector_manager.rb +16 -6
- data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rb +4 -0
- data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb +3 -1
- data/lib/ruby_mod_kit/feature/instance_variable_parameter.rb +2 -0
- data/lib/ruby_mod_kit/feature/overload/overload_mission.rb +44 -13
- data/lib/ruby_mod_kit/feature/overload.rb +1 -0
- data/lib/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rb +58 -0
- data/lib/ruby_mod_kit/feature/type/check/arguments.rb +25 -0
- data/lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb +13 -4
- data/lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb +41 -5
- data/lib/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rb +3 -0
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rb +2 -0
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb +5 -2
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb +3 -2
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb +7 -4
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb +3 -1
- data/lib/ruby_mod_kit/feature/type/rbs_inline.rb +1 -0
- data/lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb +5 -0
- data/lib/ruby_mod_kit/feature/type/type_attr_mission.rb +6 -9
- data/lib/ruby_mod_kit/feature/type/yard/type_parameter_mission.rb +37 -0
- data/lib/ruby_mod_kit/feature/type/yard/type_return_mission.rb +32 -0
- data/lib/ruby_mod_kit/feature/type/yard.rb +34 -0
- data/lib/ruby_mod_kit/feature/type.rb +2 -0
- data/lib/ruby_mod_kit/feature.rb +2 -0
- data/lib/ruby_mod_kit/generation.rb +67 -49
- data/lib/ruby_mod_kit/memo/def_parent_memo.rb +6 -0
- data/lib/ruby_mod_kit/memo/ivar_memo.rb +18 -8
- data/lib/ruby_mod_kit/memo/method_memo.rb +8 -1
- data/lib/ruby_mod_kit/memo/offset_memo.rb +4 -0
- data/lib/ruby_mod_kit/memo/overload_memo.rb +9 -1
- data/lib/ruby_mod_kit/memo/parameter_memo.rb +10 -3
- data/lib/ruby_mod_kit/memo_pad.rb +34 -0
- data/lib/ruby_mod_kit/mission.rb +2 -4
- data/lib/ruby_mod_kit/node/base_node.rb +43 -3
- data/lib/ruby_mod_kit/node/begin_node.rb +35 -0
- data/lib/ruby_mod_kit/node/call_node.rb +4 -0
- data/lib/ruby_mod_kit/node/def_node.rb +36 -0
- data/lib/ruby_mod_kit/node/def_parent_node.rb +10 -2
- data/lib/ruby_mod_kit/node/parameter_node.rb +7 -2
- data/lib/ruby_mod_kit/node/program_node.rb +3 -0
- data/lib/ruby_mod_kit/node/statements_node.rb +4 -0
- data/lib/ruby_mod_kit/node/symbol_node.rb +7 -2
- data/lib/ruby_mod_kit/node/untyped_node.rb +4 -0
- data/lib/ruby_mod_kit/node/wrap.rb +7 -1
- data/lib/ruby_mod_kit/node.rb +1 -0
- data/lib/ruby_mod_kit/offset_diff.rb +6 -0
- data/lib/ruby_mod_kit/version.rb +1 -1
- data/lib/ruby_mod_kit.rb +29 -8
- data/sig/generated/ruby_mod_kit/cli.rbs +5 -0
- data/sig/generated/ruby_mod_kit/config.rbs +7 -2
- data/sig/generated/ruby_mod_kit/core_ext/eval.rbs +11 -2
- data/sig/generated/ruby_mod_kit/core_ext/load.rbs +10 -0
- data/sig/generated/ruby_mod_kit/corrector.rbs +8 -0
- data/sig/generated/ruby_mod_kit/corrector_manager.rbs +7 -1
- data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rbs +4 -0
- data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/overload/overload_mission.rbs +3 -0
- data/sig/generated/ruby_mod_kit/feature/overload.rbs +1 -0
- data/sig/generated/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rbs +18 -0
- data/sig/generated/ruby_mod_kit/feature/type/check/arguments.rbs +17 -0
- data/sig/generated/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rbs +4 -0
- data/sig/generated/ruby_mod_kit/feature/type/parameter_arrow_corrector.rbs +19 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rbs +3 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature/type/rbs_inline.rbs +1 -0
- data/sig/generated/ruby_mod_kit/feature/type/return_value_colon_corrector.rbs +4 -0
- data/sig/generated/ruby_mod_kit/feature/type/type_attr_mission.rbs +3 -0
- data/sig/generated/ruby_mod_kit/feature/type/yard/type_parameter_mission.rbs +18 -0
- data/sig/generated/ruby_mod_kit/feature/type/yard/type_return_mission.rbs +18 -0
- data/sig/generated/ruby_mod_kit/feature/type/yard.rbs +20 -0
- data/sig/generated/ruby_mod_kit/feature/type.rbs +2 -0
- data/sig/generated/ruby_mod_kit/feature.rbs +2 -0
- data/sig/generated/ruby_mod_kit/generation.rbs +46 -25
- data/sig/generated/ruby_mod_kit/memo/def_parent_memo.rbs +6 -0
- data/sig/generated/ruby_mod_kit/memo/ivar_memo.rbs +20 -8
- data/sig/generated/ruby_mod_kit/memo/method_memo.rbs +8 -1
- data/sig/generated/ruby_mod_kit/memo/offset_memo.rbs +4 -0
- data/sig/generated/ruby_mod_kit/memo/overload_memo.rbs +8 -0
- data/sig/generated/ruby_mod_kit/memo/parameter_memo.rbs +12 -3
- data/sig/generated/ruby_mod_kit/memo_pad.rbs +23 -0
- data/sig/generated/ruby_mod_kit/mission.rbs +2 -4
- data/sig/generated/ruby_mod_kit/node/base_node.rbs +36 -3
- data/sig/generated/ruby_mod_kit/node/begin_node.rbs +30 -0
- data/sig/generated/ruby_mod_kit/node/call_node.rbs +4 -0
- data/sig/generated/ruby_mod_kit/node/def_node.rbs +24 -0
- data/sig/generated/ruby_mod_kit/node/def_parent_node.rbs +11 -3
- data/sig/generated/ruby_mod_kit/node/parameter_node.rbs +6 -1
- data/sig/generated/ruby_mod_kit/node/program_node.rbs +3 -0
- data/sig/generated/ruby_mod_kit/node/statements_node.rbs +4 -0
- data/sig/generated/ruby_mod_kit/node/symbol_node.rbs +8 -3
- data/sig/generated/ruby_mod_kit/node/untyped_node.rbs +4 -0
- data/sig/generated/ruby_mod_kit/node/wrap.rbs +4 -0
- data/sig/generated/ruby_mod_kit/offset_diff.rbs +6 -0
- data/sig/generated/ruby_mod_kit.rbs +31 -6
- metadata +15 -2
|
@@ -9,7 +9,7 @@ module RubyModKit
|
|
|
9
9
|
# @rbs @prism_node: Prism::SymbolNode
|
|
10
10
|
# @rbs @parent: Node::BaseNode
|
|
11
11
|
# @rbs @prev: Node::BaseNode | nil
|
|
12
|
-
# @rbs @value:
|
|
12
|
+
# @rbs @value: Symbol | nil
|
|
13
13
|
|
|
14
14
|
private attr_reader :prism_node #: Prism::SymbolNode
|
|
15
15
|
attr_reader :parent #: Node::BaseNode
|
|
@@ -19,6 +19,10 @@ module RubyModKit
|
|
|
19
19
|
# @rbs parent: Node::BaseNode
|
|
20
20
|
# @rbs prev: Node::BaseNode | nil
|
|
21
21
|
# @rbs return: void
|
|
22
|
+
# @param prism_node [Prism::SymbolNode]
|
|
23
|
+
# @param parent [Node::BaseNode]
|
|
24
|
+
# @param prev [Node::BaseNode, nil]
|
|
25
|
+
# @return [void]
|
|
22
26
|
def initialize(prism_node, parent:, prev: nil)
|
|
23
27
|
@prism_node = prism_node
|
|
24
28
|
@parent = parent
|
|
@@ -28,7 +32,8 @@ module RubyModKit
|
|
|
28
32
|
super()
|
|
29
33
|
end
|
|
30
34
|
|
|
31
|
-
# @rbs return:
|
|
35
|
+
# @rbs return: Symbol | nil
|
|
36
|
+
# @return [Symbol, nil]
|
|
32
37
|
def value
|
|
33
38
|
return @value if defined?(@value)
|
|
34
39
|
|
|
@@ -18,6 +18,10 @@ module RubyModKit
|
|
|
18
18
|
# @rbs parent: Node::BaseNode
|
|
19
19
|
# @rbs prev: Node::BaseNode | nil
|
|
20
20
|
# @rbs return: void
|
|
21
|
+
# @param prism_node [Prism::Node]
|
|
22
|
+
# @param parent [Node::BaseNode]
|
|
23
|
+
# @param prev [Node::BaseNode, nil]
|
|
24
|
+
# @return [void]
|
|
21
25
|
def initialize(prism_node, parent:, prev: nil)
|
|
22
26
|
@prism_node = prism_node
|
|
23
27
|
@parent = parent
|
|
@@ -18,8 +18,14 @@ module RubyModKit
|
|
|
18
18
|
# @rbs parent: Node::BaseNode
|
|
19
19
|
# @rbs prev: Node::BaseNode | nil
|
|
20
20
|
# @rbs return: Node::BaseNode
|
|
21
|
+
# @param prism_node [Prism::Node]
|
|
22
|
+
# @param parent [Node::BaseNode]
|
|
23
|
+
# @param prev [Node::BaseNode, nil]
|
|
24
|
+
# @return [Node::BaseNode]
|
|
21
25
|
def wrap(prism_node, parent:, prev: nil)
|
|
22
26
|
case prism_node
|
|
27
|
+
when Prism::BeginNode
|
|
28
|
+
Node::BeginNode.new(prism_node, parent: parent, prev: prev)
|
|
23
29
|
when Prism::CallNode
|
|
24
30
|
Node::CallNode.new(prism_node, parent: parent, prev: prev)
|
|
25
31
|
when Prism::DefNode
|
|
@@ -28,7 +34,7 @@ module RubyModKit
|
|
|
28
34
|
Node::DefParentNode.new(prism_node, parent: parent, prev: prev)
|
|
29
35
|
when Prism::RequiredParameterNode, Prism::OptionalKeywordParameterNode,
|
|
30
36
|
Prism::OptionalParameterNode, Prism::RequiredKeywordParameterNode,
|
|
31
|
-
Prism::RestParameterNode
|
|
37
|
+
Prism::RestParameterNode, Prism::BlockParameterNode
|
|
32
38
|
Node::ParameterNode.new(prism_node, parent: parent, prev: prev)
|
|
33
39
|
when Prism::StatementsNode
|
|
34
40
|
Node::StatementsNode.new(prism_node, parent: parent, prev: prev)
|
data/lib/ruby_mod_kit/node.rb
CHANGED
|
@@ -9,6 +9,7 @@ module RubyModKit
|
|
|
9
9
|
# @rbs @offsets: Array[Integer]
|
|
10
10
|
|
|
11
11
|
# @rbs return: void
|
|
12
|
+
# @return [void]
|
|
12
13
|
def initialize
|
|
13
14
|
@diffs = {}
|
|
14
15
|
@offsets = []
|
|
@@ -16,6 +17,8 @@ module RubyModKit
|
|
|
16
17
|
|
|
17
18
|
# @rbs src_offset: Integer
|
|
18
19
|
# @rbs return: Integer
|
|
20
|
+
# @param src_offset [Integer]
|
|
21
|
+
# @return [Integer]
|
|
19
22
|
def [](src_offset)
|
|
20
23
|
dst_offset = src_offset
|
|
21
24
|
@offsets.each do |offset|
|
|
@@ -31,6 +34,9 @@ module RubyModKit
|
|
|
31
34
|
# @rbs src_offset: Integer
|
|
32
35
|
# @rbs new_diff: Integer
|
|
33
36
|
# @rbs return: void
|
|
37
|
+
# @param src_offset [Integer]
|
|
38
|
+
# @param new_diff [Integer]
|
|
39
|
+
# @return [void]
|
|
34
40
|
def insert(src_offset, new_diff)
|
|
35
41
|
if @diffs[src_offset]
|
|
36
42
|
@diffs[src_offset] += new_diff
|
data/lib/ruby_mod_kit/version.rb
CHANGED
data/lib/ruby_mod_kit.rb
CHANGED
|
@@ -7,15 +7,23 @@ require "prism"
|
|
|
7
7
|
|
|
8
8
|
# The root namespace for ruby_mod_kit.
|
|
9
9
|
module RubyModKit
|
|
10
|
+
# An internal error because of RubyModKit implementation
|
|
10
11
|
class Error < StandardError; end
|
|
12
|
+
|
|
13
|
+
# A SyntaxError of rbm script
|
|
11
14
|
class SyntaxError < ::SyntaxError; end
|
|
12
15
|
|
|
13
16
|
class << self
|
|
14
17
|
# @rbs file: String
|
|
15
18
|
# @rbs *args: String
|
|
16
19
|
# @rbs output: String | nil
|
|
17
|
-
# @rbs config:
|
|
20
|
+
# @rbs config: Config | nil
|
|
18
21
|
# @rbs return: void
|
|
22
|
+
# @param file [String]
|
|
23
|
+
# @param args [String]
|
|
24
|
+
# @param output [String, nil]
|
|
25
|
+
# @param config [Config, nil]
|
|
26
|
+
# @return [void]
|
|
19
27
|
def execute_file(file, *args, output: nil, config: nil)
|
|
20
28
|
rb_script = transpile_file(file, output: output, config: config)
|
|
21
29
|
if output
|
|
@@ -27,8 +35,12 @@ module RubyModKit
|
|
|
27
35
|
|
|
28
36
|
# @rbs file: String
|
|
29
37
|
# @rbs output: String | IO | nil
|
|
30
|
-
# @rbs config:
|
|
38
|
+
# @rbs config: Config | nil
|
|
31
39
|
# @rbs return: String
|
|
40
|
+
# @param file [String]
|
|
41
|
+
# @param output [String, IO, nil]
|
|
42
|
+
# @param config [Config, nil]
|
|
43
|
+
# @return [String]
|
|
32
44
|
def transpile_file(file, output: nil, config: nil)
|
|
33
45
|
rb_script = transpile(File.read(file), filename: file, config: config)
|
|
34
46
|
case output
|
|
@@ -42,8 +54,12 @@ module RubyModKit
|
|
|
42
54
|
|
|
43
55
|
# @rbs src: String
|
|
44
56
|
# @rbs filename: String | nil
|
|
45
|
-
# @rbs config:
|
|
57
|
+
# @rbs config: Config | nil
|
|
46
58
|
# @rbs return: String
|
|
59
|
+
# @param src [String]
|
|
60
|
+
# @param filename [String, nil]
|
|
61
|
+
# @param config [Config, nil]
|
|
62
|
+
# @return [String]
|
|
47
63
|
def transpile(src, filename: nil, config: nil)
|
|
48
64
|
Generation.resolve(src, filename: filename, config: config).script
|
|
49
65
|
end
|
|
@@ -51,12 +67,17 @@ module RubyModKit
|
|
|
51
67
|
# @rbs file: String
|
|
52
68
|
# @rbs *args: String
|
|
53
69
|
# @rbs return: void
|
|
70
|
+
# @param file [String]
|
|
71
|
+
# @param args [String]
|
|
72
|
+
# @return [void]
|
|
54
73
|
def execute_rb_file(file, *args)
|
|
55
74
|
system(RbConfig.ruby, file, *args)
|
|
56
75
|
end
|
|
57
76
|
|
|
58
77
|
# @rbs path: String
|
|
59
78
|
# @rbs return: String
|
|
79
|
+
# @param path [String]
|
|
80
|
+
# @return [String]
|
|
60
81
|
def rb_path(path)
|
|
61
82
|
path.sub(/(?:\.rbm)?$/, ".rb")
|
|
62
83
|
end
|
|
@@ -64,6 +85,9 @@ module RubyModKit
|
|
|
64
85
|
# @rbs rb_script: String
|
|
65
86
|
# @rbs *args: String
|
|
66
87
|
# @rbs return: void
|
|
88
|
+
# @param rb_script [String]
|
|
89
|
+
# @param args [String]
|
|
90
|
+
# @return [void]
|
|
67
91
|
def execute_rb(rb_script, *args)
|
|
68
92
|
ARGV.replace(args)
|
|
69
93
|
eval(rb_script, TOPLEVEL_BINDING) # rubocop:disable Security/Eval
|
|
@@ -71,6 +95,8 @@ module RubyModKit
|
|
|
71
95
|
|
|
72
96
|
# @rbs type: String
|
|
73
97
|
# @rbs return: String
|
|
98
|
+
# @param type [String]
|
|
99
|
+
# @return [String]
|
|
74
100
|
def unify_type(type)
|
|
75
101
|
type[/\A\(([^()]*)\)\z/, 1] || type
|
|
76
102
|
end
|
|
@@ -89,8 +115,3 @@ require_relative "ruby_mod_kit/memo_pad"
|
|
|
89
115
|
require_relative "ruby_mod_kit/mission"
|
|
90
116
|
require_relative "ruby_mod_kit/node"
|
|
91
117
|
require_relative "ruby_mod_kit/offset_diff"
|
|
92
|
-
|
|
93
|
-
require_relative "ruby_mod_kit/feature/instance_variable_parameter"
|
|
94
|
-
require_relative "ruby_mod_kit/feature/overload"
|
|
95
|
-
require_relative "ruby_mod_kit/feature/type"
|
|
96
|
-
require_relative "ruby_mod_kit/feature/type/rbs_inline"
|
|
@@ -5,15 +5,20 @@ module RubyModKit
|
|
|
5
5
|
class CLI < Thor
|
|
6
6
|
# @rbs *args: String
|
|
7
7
|
# @rbs return: void
|
|
8
|
+
# @param args [String]
|
|
9
|
+
# @return [void]
|
|
8
10
|
def exec: (*String args) -> void
|
|
9
11
|
|
|
10
12
|
# @rbs *args: String
|
|
11
13
|
# @rbs return: void
|
|
14
|
+
# @param args [String]
|
|
15
|
+
# @return [void]
|
|
12
16
|
def transpile: (*String args) -> void
|
|
13
17
|
|
|
14
18
|
private
|
|
15
19
|
|
|
16
20
|
# @rbs return: Config | nil
|
|
21
|
+
# @return [Config, nil]
|
|
17
22
|
def config: () -> (Config | nil)
|
|
18
23
|
end
|
|
19
24
|
end
|
|
@@ -11,11 +11,16 @@ module RubyModKit
|
|
|
11
11
|
|
|
12
12
|
# @rbs features: Array[String]
|
|
13
13
|
# @rbs return: void
|
|
14
|
+
# @param features [Array<String>]
|
|
15
|
+
# @return [void]
|
|
14
16
|
def initialize: (?features: Array[String]) -> void
|
|
15
17
|
|
|
16
18
|
# @rbs path: String
|
|
17
|
-
# @rbs if_none:
|
|
19
|
+
# @rbs if_none: Symbol | nil
|
|
18
20
|
# @rbs return: Config | nil
|
|
19
|
-
|
|
21
|
+
# @param path [String]
|
|
22
|
+
# @param if_none [Symbol, nil]
|
|
23
|
+
# @return [Config, nil]
|
|
24
|
+
def self.load: (String path, ?if_none: Symbol | nil) -> (Config | nil)
|
|
20
25
|
end
|
|
21
26
|
end
|
|
@@ -2,14 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
# Define RubyMotKit.eval
|
|
4
4
|
module RubyModKit
|
|
5
|
+
# the namespace for language core extensions
|
|
5
6
|
module CoreExt
|
|
6
7
|
# the extension for eval
|
|
7
8
|
module Eval
|
|
8
9
|
# @rbs expr: String
|
|
9
|
-
# @rbs
|
|
10
|
+
# @rbs binding: Binding
|
|
11
|
+
# @rbs fname: String
|
|
12
|
+
# @rbs lineno: Integer
|
|
10
13
|
# @rbs transpile: bool
|
|
11
14
|
# @rbs return: Object
|
|
12
|
-
|
|
15
|
+
# @param expr [String]
|
|
16
|
+
# @param binding [Binding]
|
|
17
|
+
# @param fname [String]
|
|
18
|
+
# @param lineno [Integer]
|
|
19
|
+
# @param transpile [Boolean]
|
|
20
|
+
# @return [Object]
|
|
21
|
+
def self?.eval: (String expr, ?Binding binding, ?String fname, ?Integer lineno, ?transpile: bool) -> Object
|
|
13
22
|
end
|
|
14
23
|
end
|
|
15
24
|
|
|
@@ -10,21 +10,31 @@ module RubyModKit
|
|
|
10
10
|
# @rbs path: String
|
|
11
11
|
# @rbs wrap: bool
|
|
12
12
|
# @rbs return: bool
|
|
13
|
+
# @param path [String]
|
|
14
|
+
# @param wrap [Boolean]
|
|
15
|
+
# @return [Boolean]
|
|
13
16
|
def self?.load: (String path, ?bool wrap) -> bool
|
|
14
17
|
|
|
15
18
|
# @rbs path: String
|
|
16
19
|
# @rbs return: bool
|
|
20
|
+
# @param path [String]
|
|
21
|
+
# @return [Boolean]
|
|
17
22
|
def self?.require: (String path) -> bool
|
|
18
23
|
|
|
19
24
|
# @rbs return: Array[String]
|
|
25
|
+
# @return [Array<String>]
|
|
20
26
|
def self.loaded_features: () -> Array[String]
|
|
21
27
|
|
|
22
28
|
# @rbs return: Array[String]
|
|
29
|
+
# @return [Array<String>]
|
|
23
30
|
def self.load_path: () -> Array[String]
|
|
24
31
|
|
|
25
32
|
# @rbs path: String
|
|
26
33
|
# @rbs expanded: bool
|
|
27
34
|
# @rbs return: String | nil
|
|
35
|
+
# @param path [String]
|
|
36
|
+
# @param expanded [Boolean]
|
|
37
|
+
# @return [String, nil]
|
|
28
38
|
def self.require_path: (String path, ?expanded: bool) -> (String | nil)
|
|
29
39
|
end
|
|
30
40
|
end
|
|
@@ -4,11 +4,19 @@ module RubyModKit
|
|
|
4
4
|
# the base class of corrector
|
|
5
5
|
class Corrector
|
|
6
6
|
# @rbs return: Array[Symbol]
|
|
7
|
+
# @return [Array<Symbol>]
|
|
7
8
|
def correctable_error_types: () -> Array[Symbol]
|
|
8
9
|
|
|
9
10
|
# @rbs _parse_error: Prism::ParseError
|
|
10
11
|
# @rbs _generation: Generation
|
|
11
12
|
# @rbs return: void
|
|
13
|
+
# @param _parse_error [Prism::ParseError]
|
|
14
|
+
# @param _generation [Generation]
|
|
15
|
+
# @return [void]
|
|
12
16
|
def correct: (untyped _parse_error, untyped _generation) -> void
|
|
17
|
+
|
|
18
|
+
# @rbs return: void
|
|
19
|
+
# @return [void]
|
|
20
|
+
def setup: () -> void
|
|
13
21
|
end
|
|
14
22
|
end
|
|
@@ -3,20 +3,26 @@
|
|
|
3
3
|
module RubyModKit
|
|
4
4
|
# the class to manege parse error correctors
|
|
5
5
|
class CorrectorManager
|
|
6
|
-
@
|
|
6
|
+
@previous_source: String
|
|
7
7
|
|
|
8
8
|
@correctors_error_map: Hash[Symbol, Array[Corrector]]
|
|
9
9
|
|
|
10
10
|
# @rbs features: Array[Feature]
|
|
11
11
|
# @rbs return: void
|
|
12
|
+
# @param features [Array<Feature>]
|
|
13
|
+
# @return [void]
|
|
12
14
|
def initialize: (Array[Feature] features) -> void
|
|
13
15
|
|
|
14
16
|
# @rbs generation: Generation
|
|
15
17
|
# @rbs return: bool
|
|
18
|
+
# @param generation [Generation]
|
|
19
|
+
# @return [Boolean]
|
|
16
20
|
def perform: (Generation generation) -> bool
|
|
17
21
|
|
|
18
22
|
# @rbs generation: Generation
|
|
19
23
|
# @rbs return: void
|
|
24
|
+
# @param generation [Generation]
|
|
25
|
+
# @return [void]
|
|
20
26
|
def check_prev_errors: (Generation generation) -> void
|
|
21
27
|
end
|
|
22
28
|
end
|
|
@@ -6,11 +6,15 @@ module RubyModKit
|
|
|
6
6
|
# the class to correct `def foo(@bar) ...` -> `def foo(bar) ...`
|
|
7
7
|
class InstanceVariableParameterCorrector < Corrector
|
|
8
8
|
# @rbs return: Array[Symbol]
|
|
9
|
+
# @return [Array<Symbol>]
|
|
9
10
|
def correctable_error_types: () -> Array[Symbol]
|
|
10
11
|
|
|
11
12
|
# @rbs parse_error: Prism::ParseError
|
|
12
13
|
# @rbs generation: Generation
|
|
13
14
|
# @rbs return: void
|
|
15
|
+
# @param parse_error [Prism::ParseError]
|
|
16
|
+
# @param generation [Generation]
|
|
17
|
+
# @return [void]
|
|
14
18
|
def correct: (Prism::ParseError parse_error, Generation generation) -> void
|
|
15
19
|
end
|
|
16
20
|
end
|
|
@@ -5,9 +5,11 @@ module RubyModKit
|
|
|
5
5
|
# namespace for instance_variable parameter feature
|
|
6
6
|
class InstanceVariableParameter < Feature
|
|
7
7
|
# @rbs return: Array[Corrector]
|
|
8
|
+
# @return [Array<Corrector>]
|
|
8
9
|
def create_correctors: () -> Array[Corrector]
|
|
9
10
|
|
|
10
11
|
# @rbs return: Array[Mission]
|
|
12
|
+
# @return [Array<Mission>]
|
|
11
13
|
def create_missions: () -> Array[Mission]
|
|
12
14
|
end
|
|
13
15
|
end
|
|
@@ -10,10 +10,13 @@ module RubyModKit
|
|
|
10
10
|
OVERLOAD_METHOD_MAP: Hash[Symbol, String]
|
|
11
11
|
|
|
12
12
|
# @rbs return: void
|
|
13
|
+
# @return [void]
|
|
13
14
|
def initialize: () -> void
|
|
14
15
|
|
|
15
16
|
# @rbs generation: Generation
|
|
16
17
|
# @rbs return: bool
|
|
18
|
+
# @param generation [Generation]
|
|
19
|
+
# @return [Boolean]
|
|
17
20
|
def perform: (Generation generation) -> bool
|
|
18
21
|
end
|
|
19
22
|
end
|
data/sig/generated/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rbs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RubyModKit
|
|
4
|
+
class Feature
|
|
5
|
+
class Type
|
|
6
|
+
module Check
|
|
7
|
+
# The mission to add magic comment
|
|
8
|
+
class AddArgumentsCheckerMission < Mission
|
|
9
|
+
# @rbs generation: Generation
|
|
10
|
+
# @rbs return: bool
|
|
11
|
+
# @param generation [Generation]
|
|
12
|
+
# @return [Boolean]
|
|
13
|
+
def perform: (Generation generation) -> bool
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/check/arguments.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RubyModKit
|
|
4
|
+
class Feature
|
|
5
|
+
class Type
|
|
6
|
+
# namespace for type checker
|
|
7
|
+
module Check
|
|
8
|
+
# namespace for arguments type checker
|
|
9
|
+
class Arguments < Feature
|
|
10
|
+
# @rbs return: Array[Mission]
|
|
11
|
+
# @return [Array<Mission>]
|
|
12
|
+
def create_missions: () -> Array[Mission]
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -12,11 +12,15 @@ module RubyModKit
|
|
|
12
12
|
REGEXP: Regexp
|
|
13
13
|
|
|
14
14
|
# @rbs return: Array[Symbol]
|
|
15
|
+
# @return [Array<Symbol>]
|
|
15
16
|
def correctable_error_types: () -> Array[Symbol]
|
|
16
17
|
|
|
17
18
|
# @rbs parse_error: Prism::ParseError
|
|
18
19
|
# @rbs generation: Generation
|
|
19
20
|
# @rbs return: void
|
|
21
|
+
# @param parse_error [Prism::ParseError]
|
|
22
|
+
# @param generation [Generation]
|
|
23
|
+
# @return [void]
|
|
20
24
|
def correct: (Prism::ParseError parse_error, Generation generation) -> void
|
|
21
25
|
end
|
|
22
26
|
end
|
|
@@ -5,27 +5,46 @@ module RubyModKit
|
|
|
5
5
|
class Type
|
|
6
6
|
# the class to correct `def foo(Bar => bar, *Buz => buz)` -> `def foo(bar, *buz)`
|
|
7
7
|
class ParameterArrowCorrector < Corrector
|
|
8
|
+
@last_parameter_offsets: Set[Integer]
|
|
9
|
+
|
|
8
10
|
# @rbs return: Array[Symbol]
|
|
11
|
+
# @return [Array<Symbol>]
|
|
9
12
|
def correctable_error_types: () -> Array[Symbol]
|
|
10
13
|
|
|
14
|
+
# @rbs return: void
|
|
15
|
+
# @return [void]
|
|
16
|
+
def setup: () -> void
|
|
17
|
+
|
|
11
18
|
# @rbs parse_error: Prism::ParseError
|
|
12
19
|
# @rbs generation: Generation
|
|
13
20
|
# @rbs return: void
|
|
21
|
+
# @param parse_error [Prism::ParseError]
|
|
22
|
+
# @param generation [Generation]
|
|
23
|
+
# @return [void]
|
|
14
24
|
def correct: (Prism::ParseError parse_error, Generation generation) -> void
|
|
15
25
|
|
|
16
26
|
# @rbs parse_error: Prism::ParseError
|
|
17
27
|
# @rbs generation: Generation
|
|
18
28
|
# @rbs return: void
|
|
29
|
+
# @param parse_error [Prism::ParseError]
|
|
30
|
+
# @param generation [Generation]
|
|
31
|
+
# @return [void]
|
|
19
32
|
def remove_arrow_before_parameter: (Prism::ParseError parse_error, Generation generation) -> void
|
|
20
33
|
|
|
21
34
|
# @rbs parse_error: Prism::ParseError
|
|
22
35
|
# @rbs generation: Generation
|
|
23
36
|
# @rbs return: void
|
|
37
|
+
# @param parse_error [Prism::ParseError]
|
|
38
|
+
# @param generation [Generation]
|
|
39
|
+
# @return [void]
|
|
24
40
|
def remove_arrow_after_quailifier: (Prism::ParseError parse_error, Generation generation) -> void
|
|
25
41
|
|
|
26
42
|
# @rbs parse_error: Prism::ParseError
|
|
27
43
|
# @rbs generation: Generation
|
|
28
44
|
# @rbs return: void
|
|
45
|
+
# @param parse_error [Prism::ParseError]
|
|
46
|
+
# @param generation [Generation]
|
|
47
|
+
# @return [void]
|
|
29
48
|
def wrap_parameter_type_for_next_parse: (Prism::ParseError parse_error, Generation generation) -> void
|
|
30
49
|
end
|
|
31
50
|
end
|
|
@@ -9,10 +9,13 @@ module RubyModKit
|
|
|
9
9
|
@reloaded: bool
|
|
10
10
|
|
|
11
11
|
# @rbs return: void
|
|
12
|
+
# @return [void]
|
|
12
13
|
def initialize: () -> void
|
|
13
14
|
|
|
14
15
|
# @rbs generation: Generation
|
|
15
16
|
# @rbs return: bool
|
|
17
|
+
# @param generation [Generation]
|
|
18
|
+
# @return [Boolean]
|
|
16
19
|
def perform: (Generation generation) -> bool
|
|
17
20
|
end
|
|
18
21
|
end
|
|
@@ -6,11 +6,15 @@ module RubyModKit
|
|
|
6
6
|
# the class to correct `def foo: Some ...` -> `def foo ...`
|
|
7
7
|
class ReturnValueColonCorrector < Corrector
|
|
8
8
|
# @rbs return: Array[Symbol]
|
|
9
|
+
# @return [Array<Symbol>]
|
|
9
10
|
def correctable_error_types: () -> Array[Symbol]
|
|
10
11
|
|
|
11
12
|
# @rbs parse_error: Prism::ParseError
|
|
12
13
|
# @rbs generation: Generation
|
|
13
14
|
# @rbs return: void
|
|
15
|
+
# @param parse_error [Prism::ParseError]
|
|
16
|
+
# @param generation [Generation]
|
|
17
|
+
# @return [void]
|
|
14
18
|
def correct: (Prism::ParseError parse_error, Generation generation) -> void
|
|
15
19
|
end
|
|
16
20
|
end
|
|
@@ -8,10 +8,13 @@ module RubyModKit
|
|
|
8
8
|
@modified: bool
|
|
9
9
|
|
|
10
10
|
# @rbs return: void
|
|
11
|
+
# @return [void]
|
|
11
12
|
def initialize: () -> void
|
|
12
13
|
|
|
13
14
|
# @rbs generation: Generation
|
|
14
15
|
# @rbs return: bool
|
|
16
|
+
# @param generation [Generation]
|
|
17
|
+
# @return [Boolean]
|
|
15
18
|
def perform: (Generation generation) -> bool
|
|
16
19
|
end
|
|
17
20
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/yard/type_parameter_mission.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RubyModKit
|
|
4
|
+
class Feature
|
|
5
|
+
class Type
|
|
6
|
+
class Yard
|
|
7
|
+
# The mission for parameter types
|
|
8
|
+
class TypeParameterMission < Mission
|
|
9
|
+
# @rbs generation: Generation
|
|
10
|
+
# @rbs return: bool
|
|
11
|
+
# @param generation [Generation]
|
|
12
|
+
# @return [Boolean]
|
|
13
|
+
def perform: (Generation generation) -> bool
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/yard/type_return_mission.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module RubyModKit
|
|
4
|
+
class Feature
|
|
5
|
+
class Type
|
|
6
|
+
class Yard
|
|
7
|
+
# The mission for return value type
|
|
8
|
+
class TypeReturnMission < Mission
|
|
9
|
+
# @rbs generation: Generation
|
|
10
|
+
# @rbs return: bool
|
|
11
|
+
# @param generation [Generation]
|
|
12
|
+
# @return [Boolean]
|
|
13
|
+
def perform: (Generation generation) -> bool
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|