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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby_mod_kit.yml +1 -0
  3. data/.yardopts +3 -0
  4. data/README.md +89 -0
  5. data/examples/user.rb +4 -16
  6. data/lib/ruby_mod_kit/cli.rb +5 -0
  7. data/lib/ruby_mod_kit/config.rb +6 -1
  8. data/lib/ruby_mod_kit/core_ext/eval.rb +13 -10
  9. data/lib/ruby_mod_kit/core_ext/load.rb +10 -0
  10. data/lib/ruby_mod_kit/corrector.rb +8 -0
  11. data/lib/ruby_mod_kit/corrector_manager.rb +16 -6
  12. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rb +4 -0
  13. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb +3 -1
  14. data/lib/ruby_mod_kit/feature/instance_variable_parameter.rb +2 -0
  15. data/lib/ruby_mod_kit/feature/overload/overload_mission.rb +44 -13
  16. data/lib/ruby_mod_kit/feature/overload.rb +1 -0
  17. data/lib/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rb +58 -0
  18. data/lib/ruby_mod_kit/feature/type/check/arguments.rb +25 -0
  19. data/lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb +13 -4
  20. data/lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb +41 -5
  21. data/lib/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rb +3 -0
  22. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rb +2 -0
  23. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb +5 -2
  24. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb +3 -2
  25. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb +7 -4
  26. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb +3 -1
  27. data/lib/ruby_mod_kit/feature/type/rbs_inline.rb +1 -0
  28. data/lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb +5 -0
  29. data/lib/ruby_mod_kit/feature/type/type_attr_mission.rb +6 -9
  30. data/lib/ruby_mod_kit/feature/type/yard/type_parameter_mission.rb +37 -0
  31. data/lib/ruby_mod_kit/feature/type/yard/type_return_mission.rb +32 -0
  32. data/lib/ruby_mod_kit/feature/type/yard.rb +34 -0
  33. data/lib/ruby_mod_kit/feature/type.rb +2 -0
  34. data/lib/ruby_mod_kit/feature.rb +2 -0
  35. data/lib/ruby_mod_kit/generation.rb +67 -49
  36. data/lib/ruby_mod_kit/memo/def_parent_memo.rb +6 -0
  37. data/lib/ruby_mod_kit/memo/ivar_memo.rb +18 -8
  38. data/lib/ruby_mod_kit/memo/method_memo.rb +8 -1
  39. data/lib/ruby_mod_kit/memo/offset_memo.rb +4 -0
  40. data/lib/ruby_mod_kit/memo/overload_memo.rb +9 -1
  41. data/lib/ruby_mod_kit/memo/parameter_memo.rb +10 -3
  42. data/lib/ruby_mod_kit/memo_pad.rb +34 -0
  43. data/lib/ruby_mod_kit/mission.rb +2 -4
  44. data/lib/ruby_mod_kit/node/base_node.rb +43 -3
  45. data/lib/ruby_mod_kit/node/begin_node.rb +35 -0
  46. data/lib/ruby_mod_kit/node/call_node.rb +4 -0
  47. data/lib/ruby_mod_kit/node/def_node.rb +36 -0
  48. data/lib/ruby_mod_kit/node/def_parent_node.rb +10 -2
  49. data/lib/ruby_mod_kit/node/parameter_node.rb +7 -2
  50. data/lib/ruby_mod_kit/node/program_node.rb +3 -0
  51. data/lib/ruby_mod_kit/node/statements_node.rb +4 -0
  52. data/lib/ruby_mod_kit/node/symbol_node.rb +7 -2
  53. data/lib/ruby_mod_kit/node/untyped_node.rb +4 -0
  54. data/lib/ruby_mod_kit/node/wrap.rb +7 -1
  55. data/lib/ruby_mod_kit/node.rb +1 -0
  56. data/lib/ruby_mod_kit/offset_diff.rb +6 -0
  57. data/lib/ruby_mod_kit/version.rb +1 -1
  58. data/lib/ruby_mod_kit.rb +29 -8
  59. data/sig/generated/ruby_mod_kit/cli.rbs +5 -0
  60. data/sig/generated/ruby_mod_kit/config.rbs +7 -2
  61. data/sig/generated/ruby_mod_kit/core_ext/eval.rbs +11 -2
  62. data/sig/generated/ruby_mod_kit/core_ext/load.rbs +10 -0
  63. data/sig/generated/ruby_mod_kit/corrector.rbs +8 -0
  64. data/sig/generated/ruby_mod_kit/corrector_manager.rbs +7 -1
  65. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rbs +4 -0
  66. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rbs +2 -0
  67. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter.rbs +2 -0
  68. data/sig/generated/ruby_mod_kit/feature/overload/overload_mission.rbs +3 -0
  69. data/sig/generated/ruby_mod_kit/feature/overload.rbs +1 -0
  70. data/sig/generated/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rbs +18 -0
  71. data/sig/generated/ruby_mod_kit/feature/type/check/arguments.rbs +17 -0
  72. data/sig/generated/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rbs +4 -0
  73. data/sig/generated/ruby_mod_kit/feature/type/parameter_arrow_corrector.rbs +19 -0
  74. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rbs +3 -0
  75. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rbs +2 -0
  76. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rbs +2 -0
  77. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rbs +2 -0
  78. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rbs +2 -0
  79. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rbs +2 -0
  80. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline.rbs +1 -0
  81. data/sig/generated/ruby_mod_kit/feature/type/return_value_colon_corrector.rbs +4 -0
  82. data/sig/generated/ruby_mod_kit/feature/type/type_attr_mission.rbs +3 -0
  83. data/sig/generated/ruby_mod_kit/feature/type/yard/type_parameter_mission.rbs +18 -0
  84. data/sig/generated/ruby_mod_kit/feature/type/yard/type_return_mission.rbs +18 -0
  85. data/sig/generated/ruby_mod_kit/feature/type/yard.rbs +20 -0
  86. data/sig/generated/ruby_mod_kit/feature/type.rbs +2 -0
  87. data/sig/generated/ruby_mod_kit/feature.rbs +2 -0
  88. data/sig/generated/ruby_mod_kit/generation.rbs +46 -25
  89. data/sig/generated/ruby_mod_kit/memo/def_parent_memo.rbs +6 -0
  90. data/sig/generated/ruby_mod_kit/memo/ivar_memo.rbs +20 -8
  91. data/sig/generated/ruby_mod_kit/memo/method_memo.rbs +8 -1
  92. data/sig/generated/ruby_mod_kit/memo/offset_memo.rbs +4 -0
  93. data/sig/generated/ruby_mod_kit/memo/overload_memo.rbs +8 -0
  94. data/sig/generated/ruby_mod_kit/memo/parameter_memo.rbs +12 -3
  95. data/sig/generated/ruby_mod_kit/memo_pad.rbs +23 -0
  96. data/sig/generated/ruby_mod_kit/mission.rbs +2 -4
  97. data/sig/generated/ruby_mod_kit/node/base_node.rbs +36 -3
  98. data/sig/generated/ruby_mod_kit/node/begin_node.rbs +30 -0
  99. data/sig/generated/ruby_mod_kit/node/call_node.rbs +4 -0
  100. data/sig/generated/ruby_mod_kit/node/def_node.rbs +24 -0
  101. data/sig/generated/ruby_mod_kit/node/def_parent_node.rbs +11 -3
  102. data/sig/generated/ruby_mod_kit/node/parameter_node.rbs +6 -1
  103. data/sig/generated/ruby_mod_kit/node/program_node.rbs +3 -0
  104. data/sig/generated/ruby_mod_kit/node/statements_node.rbs +4 -0
  105. data/sig/generated/ruby_mod_kit/node/symbol_node.rbs +8 -3
  106. data/sig/generated/ruby_mod_kit/node/untyped_node.rbs +4 -0
  107. data/sig/generated/ruby_mod_kit/node/wrap.rbs +4 -0
  108. data/sig/generated/ruby_mod_kit/offset_diff.rbs +6 -0
  109. data/sig/generated/ruby_mod_kit.rbs +31 -6
  110. 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: nil | Symbol
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: nil | Symbol
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)
@@ -7,6 +7,7 @@ module RubyModKit
7
7
  end
8
8
 
9
9
  require_relative "node/base_node"
10
+ require_relative "node/begin_node"
10
11
  require_relative "node/symbol_node"
11
12
  require_relative "node/def_parent_node"
12
13
  require_relative "node/call_node"
@@ -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
@@ -3,5 +3,5 @@
3
3
  # rbs_inline: enabled
4
4
 
5
5
  module RubyModKit
6
- VERSION = "0.0.4" #: String
6
+ VERSION = "0.0.6" #: String
7
7
  end
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: nil | 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: nil | 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: nil | 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: nil | Symbol
19
+ # @rbs if_none: Symbol | nil
18
20
  # @rbs return: Config | nil
19
- def self.load: (String path, ?if_none: nil | Symbol) -> (Config | nil)
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 *rest: Object
10
+ # @rbs binding: Binding
11
+ # @rbs fname: String
12
+ # @rbs lineno: Integer
10
13
  # @rbs transpile: bool
11
14
  # @rbs return: Object
12
- def self?.eval: (String expr, *Object rest, ?transpile: bool) -> Object
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
- @previous_error_messages: Array[String]
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
@@ -7,6 +7,8 @@ module RubyModKit
7
7
  class InstanceVariableParameterMission < Mission
8
8
  # @rbs generation: Generation
9
9
  # @rbs return: bool
10
+ # @param generation [Generation]
11
+ # @return [Boolean]
10
12
  def perform: (Generation generation) -> bool
11
13
  end
12
14
  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
@@ -5,6 +5,7 @@ module RubyModKit
5
5
  # namespace for overload feature
6
6
  class Overload < Feature
7
7
  # @rbs return: Array[Mission]
8
+ # @return [Array<Mission>]
8
9
  def create_missions: () -> Array[Mission]
9
10
  end
10
11
  end
@@ -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
@@ -8,6 +8,8 @@ module RubyModKit
8
8
  class TypeAttrMission < Mission
9
9
  # @rbs generation: Generation
10
10
  # @rbs return: bool
11
+ # @param generation [Generation]
12
+ # @return [Boolean]
11
13
  def perform: (Generation generation) -> bool
12
14
  end
13
15
  end
@@ -8,6 +8,8 @@ module RubyModKit
8
8
  class TypeInstanceVariableMission < Mission
9
9
  # @rbs generation: Generation
10
10
  # @rbs return: bool
11
+ # @param generation [Generation]
12
+ # @return [Boolean]
11
13
  def perform: (Generation generation) -> bool
12
14
  end
13
15
  end
@@ -8,6 +8,8 @@ module RubyModKit
8
8
  class TypeOverloadMission < Mission
9
9
  # @rbs generation: Generation
10
10
  # @rbs return: bool
11
+ # @param generation [Generation]
12
+ # @return [Boolean]
11
13
  def perform: (Generation generation) -> bool
12
14
  end
13
15
  end
@@ -8,6 +8,8 @@ module RubyModKit
8
8
  class TypeParameterMission < Mission
9
9
  # @rbs generation: Generation
10
10
  # @rbs return: bool
11
+ # @param generation [Generation]
12
+ # @return [Boolean]
11
13
  def perform: (Generation generation) -> bool
12
14
  end
13
15
  end
@@ -8,6 +8,8 @@ module RubyModKit
8
8
  class TypeReturnMission < Mission
9
9
  # @rbs generation: Generation
10
10
  # @rbs return: bool
11
+ # @param generation [Generation]
12
+ # @return [Boolean]
11
13
  def perform: (Generation generation) -> bool
12
14
  end
13
15
  end
@@ -6,6 +6,7 @@ module RubyModKit
6
6
  # namespace for type with rbs-line feature
7
7
  class RbsInline < Feature
8
8
  # @rbs return: Array[Mission]
9
+ # @return [Array<Mission>]
9
10
  def create_missions: () -> Array[Mission]
10
11
  end
11
12
  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