ruby_mod_kit 0.0.5 → 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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby_mod_kit.yml +1 -0
  3. data/.yardopts +3 -0
  4. data/examples/user.rb +4 -16
  5. data/lib/ruby_mod_kit/cli.rb +5 -0
  6. data/lib/ruby_mod_kit/config.rb +6 -1
  7. data/lib/ruby_mod_kit/core_ext/eval.rb +7 -0
  8. data/lib/ruby_mod_kit/core_ext/load.rb +10 -0
  9. data/lib/ruby_mod_kit/corrector.rb +5 -0
  10. data/lib/ruby_mod_kit/corrector_manager.rb +6 -0
  11. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rb +4 -0
  12. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb +2 -0
  13. data/lib/ruby_mod_kit/feature/instance_variable_parameter.rb +2 -0
  14. data/lib/ruby_mod_kit/feature/overload/overload_mission.rb +42 -10
  15. data/lib/ruby_mod_kit/feature/overload.rb +1 -0
  16. data/lib/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rb +2 -0
  17. data/lib/ruby_mod_kit/feature/type/check/arguments.rb +2 -0
  18. data/lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb +4 -0
  19. data/lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb +14 -0
  20. data/lib/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rb +3 -0
  21. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rb +2 -0
  22. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb +2 -0
  23. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb +2 -0
  24. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb +2 -0
  25. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb +2 -0
  26. data/lib/ruby_mod_kit/feature/type/rbs_inline.rb +1 -0
  27. data/lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb +4 -0
  28. data/lib/ruby_mod_kit/feature/type/type_attr_mission.rb +3 -0
  29. data/lib/ruby_mod_kit/feature/type/yard/type_parameter_mission.rb +2 -0
  30. data/lib/ruby_mod_kit/feature/type/yard/type_return_mission.rb +2 -0
  31. data/lib/ruby_mod_kit/feature/type/yard.rb +3 -0
  32. data/lib/ruby_mod_kit/feature/type.rb +2 -0
  33. data/lib/ruby_mod_kit/feature.rb +2 -0
  34. data/lib/ruby_mod_kit/generation.rb +54 -71
  35. data/lib/ruby_mod_kit/memo/def_parent_memo.rb +6 -0
  36. data/lib/ruby_mod_kit/memo/ivar_memo.rb +16 -8
  37. data/lib/ruby_mod_kit/memo/method_memo.rb +8 -1
  38. data/lib/ruby_mod_kit/memo/offset_memo.rb +4 -0
  39. data/lib/ruby_mod_kit/memo/overload_memo.rb +9 -1
  40. data/lib/ruby_mod_kit/memo/parameter_memo.rb +6 -1
  41. data/lib/ruby_mod_kit/memo_pad.rb +28 -0
  42. data/lib/ruby_mod_kit/mission.rb +2 -0
  43. data/lib/ruby_mod_kit/node/base_node.rb +32 -1
  44. data/lib/ruby_mod_kit/node/begin_node.rb +4 -0
  45. data/lib/ruby_mod_kit/node/call_node.rb +4 -0
  46. data/lib/ruby_mod_kit/node/def_node.rb +36 -0
  47. data/lib/ruby_mod_kit/node/def_parent_node.rb +10 -2
  48. data/lib/ruby_mod_kit/node/parameter_node.rb +5 -0
  49. data/lib/ruby_mod_kit/node/program_node.rb +3 -0
  50. data/lib/ruby_mod_kit/node/statements_node.rb +4 -0
  51. data/lib/ruby_mod_kit/node/symbol_node.rb +7 -2
  52. data/lib/ruby_mod_kit/node/untyped_node.rb +4 -0
  53. data/lib/ruby_mod_kit/node/wrap.rb +4 -0
  54. data/lib/ruby_mod_kit/offset_diff.rb +6 -0
  55. data/lib/ruby_mod_kit/version.rb +1 -1
  56. data/lib/ruby_mod_kit.rb +29 -3
  57. data/sig/generated/ruby_mod_kit/cli.rbs +5 -0
  58. data/sig/generated/ruby_mod_kit/config.rbs +7 -2
  59. data/sig/generated/ruby_mod_kit/core_ext/eval.rbs +7 -0
  60. data/sig/generated/ruby_mod_kit/core_ext/load.rbs +10 -0
  61. data/sig/generated/ruby_mod_kit/corrector.rbs +5 -0
  62. data/sig/generated/ruby_mod_kit/corrector_manager.rbs +6 -0
  63. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rbs +4 -0
  64. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rbs +2 -0
  65. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter.rbs +2 -0
  66. data/sig/generated/ruby_mod_kit/feature/overload/overload_mission.rbs +3 -0
  67. data/sig/generated/ruby_mod_kit/feature/overload.rbs +1 -0
  68. data/sig/generated/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rbs +2 -0
  69. data/sig/generated/ruby_mod_kit/feature/type/check/arguments.rbs +2 -0
  70. data/sig/generated/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rbs +4 -0
  71. data/sig/generated/ruby_mod_kit/feature/type/parameter_arrow_corrector.rbs +14 -0
  72. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rbs +3 -0
  73. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rbs +2 -0
  74. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rbs +2 -0
  75. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rbs +2 -0
  76. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rbs +2 -0
  77. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rbs +2 -0
  78. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline.rbs +1 -0
  79. data/sig/generated/ruby_mod_kit/feature/type/return_value_colon_corrector.rbs +4 -0
  80. data/sig/generated/ruby_mod_kit/feature/type/type_attr_mission.rbs +3 -0
  81. data/sig/generated/ruby_mod_kit/feature/type/yard/type_parameter_mission.rbs +2 -0
  82. data/sig/generated/ruby_mod_kit/feature/type/yard/type_return_mission.rbs +2 -0
  83. data/sig/generated/ruby_mod_kit/feature/type/yard.rbs +3 -0
  84. data/sig/generated/ruby_mod_kit/feature/type.rbs +2 -0
  85. data/sig/generated/ruby_mod_kit/feature.rbs +2 -0
  86. data/sig/generated/ruby_mod_kit/generation.rbs +31 -34
  87. data/sig/generated/ruby_mod_kit/memo/def_parent_memo.rbs +6 -0
  88. data/sig/generated/ruby_mod_kit/memo/ivar_memo.rbs +16 -8
  89. data/sig/generated/ruby_mod_kit/memo/method_memo.rbs +8 -1
  90. data/sig/generated/ruby_mod_kit/memo/offset_memo.rbs +4 -0
  91. data/sig/generated/ruby_mod_kit/memo/overload_memo.rbs +8 -0
  92. data/sig/generated/ruby_mod_kit/memo/parameter_memo.rbs +6 -1
  93. data/sig/generated/ruby_mod_kit/memo_pad.rbs +19 -0
  94. data/sig/generated/ruby_mod_kit/mission.rbs +2 -0
  95. data/sig/generated/ruby_mod_kit/node/base_node.rbs +31 -2
  96. data/sig/generated/ruby_mod_kit/node/begin_node.rbs +4 -0
  97. data/sig/generated/ruby_mod_kit/node/call_node.rbs +4 -0
  98. data/sig/generated/ruby_mod_kit/node/def_node.rbs +24 -0
  99. data/sig/generated/ruby_mod_kit/node/def_parent_node.rbs +11 -3
  100. data/sig/generated/ruby_mod_kit/node/parameter_node.rbs +5 -0
  101. data/sig/generated/ruby_mod_kit/node/program_node.rbs +3 -0
  102. data/sig/generated/ruby_mod_kit/node/statements_node.rbs +4 -0
  103. data/sig/generated/ruby_mod_kit/node/symbol_node.rbs +8 -3
  104. data/sig/generated/ruby_mod_kit/node/untyped_node.rbs +4 -0
  105. data/sig/generated/ruby_mod_kit/node/wrap.rbs +4 -0
  106. data/sig/generated/ruby_mod_kit/offset_diff.rbs +6 -0
  107. data/sig/generated/ruby_mod_kit.rbs +31 -6
  108. metadata +3 -2
@@ -9,6 +9,7 @@ module RubyModKit
9
9
  # @rbs @prism_node: Prism::DefNode
10
10
  # @rbs @parent: Node::BaseNode
11
11
  # @rbs @prev: Node::BaseNode | nil
12
+ # @rbs @body_node: Node::StatementsNode | Node::BeginNode | nil
12
13
 
13
14
  private attr_reader :prism_node #: Prism::DefNode
14
15
  attr_reader :parent #: Node::BaseNode
@@ -18,6 +19,10 @@ module RubyModKit
18
19
  # @rbs parent: Node::BaseNode
19
20
  # @rbs prev: Node::BaseNode | nil
20
21
  # @rbs return: void
22
+ # @param prism_node [Prism::DefNode]
23
+ # @param parent [Node::BaseNode]
24
+ # @param prev [Node::BaseNode, nil]
25
+ # @return [void]
21
26
  def initialize(prism_node, parent:, prev: nil)
22
27
  @prism_node = prism_node
23
28
  @parent = parent
@@ -28,34 +33,65 @@ module RubyModKit
28
33
  end
29
34
 
30
35
  # @rbs return: Symbol
36
+ # @return [Symbol]
31
37
  def name
32
38
  @prism_node.name
33
39
  end
34
40
 
35
41
  # @rbs return: Prism::Location | nil
42
+ # @return [Prism::Location, nil]
36
43
  def body_location
37
44
  prism_node.body&.location
38
45
  end
39
46
 
40
47
  # @rbs return: Prism::Location | nil
48
+ # @return [Prism::Location, nil]
41
49
  def lparen_loc
42
50
  @prism_node.lparen_loc
43
51
  end
44
52
 
45
53
  # @rbs return: Prism::Location | nil
54
+ # @return [Prism::Location, nil]
46
55
  def rparen_loc
47
56
  @prism_node.rparen_loc
48
57
  end
49
58
 
50
59
  # @rbs return: Prism::Location
60
+ # @return [Prism::Location]
51
61
  def name_loc
52
62
  @prism_node.name_loc
53
63
  end
54
64
 
55
65
  # @rbs return: Prism::Location | nil
66
+ # @return [Prism::Location, nil]
56
67
  def end_keyword_loc
57
68
  @prism_node.end_keyword_loc
58
69
  end
70
+
71
+ # @rbs prism_child_node: Prism::Node
72
+ # @rbs prev: Node::BaseNode | nil
73
+ # @rbs return: Node::BaseNode
74
+ # @param prism_child_node [Prism::Node]
75
+ # @param prev [Node::BaseNode, nil]
76
+ # @return [Node::BaseNode]
77
+ def wrap(prism_child_node, prev: nil)
78
+ child_node = super
79
+ if prism_child_node == @prism_node.body
80
+ case child_node
81
+ when Node::StatementsNode, Node::BeginNode
82
+ @body_node = child_node
83
+ end
84
+ end
85
+ child_node
86
+ end
87
+
88
+ # @rbs return: Node::StatementsNode | Node::BeginNode | nil
89
+ # @return [Node::StatementsNode, Node::BeginNode, nil]
90
+ def body_node
91
+ # body_node will be set in #children
92
+ children
93
+ @body_node
94
+ end
59
95
  end
60
96
  end
61
97
  end
@@ -7,7 +7,7 @@ module RubyModKit
7
7
  # Transpiler program node
8
8
  class DefParentNode < Node::BaseNode
9
9
  # @rbs @prism_node: Prism::ClassNode | Prism::ModuleNode
10
- # @rbs @body_node: nil | Node::StatementsNode
10
+ # @rbs @body_node: Node::StatementsNode | nil
11
11
  # @rbs @parent: Node::BaseNode
12
12
  # @rbs @prev: Node::BaseNode | nil
13
13
 
@@ -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::ClassNode, Prism::ModuleNode]
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
@@ -31,13 +35,17 @@ module RubyModKit
31
35
  # @rbs prism_child_node: Prism::Node
32
36
  # @rbs prev: Node::BaseNode | nil
33
37
  # @rbs return: Node::BaseNode
38
+ # @param prism_child_node [Prism::Node]
39
+ # @param prev [Node::BaseNode, nil]
40
+ # @return [Node::BaseNode]
34
41
  def wrap(prism_child_node, prev: nil)
35
42
  child_node = super
36
43
  @body_node = child_node if prism_child_node == @prism_node.body && child_node.is_a?(Node::StatementsNode)
37
44
  child_node
38
45
  end
39
46
 
40
- # @rbs return: nil | Node::StatementsNode
47
+ # @rbs return: Node::StatementsNode | nil
48
+ # @return [Node::StatementsNode, nil]
41
49
  def body_node
42
50
  # body_node will be set in #children
43
51
  children
@@ -23,6 +23,10 @@ module RubyModKit
23
23
  # @rbs parent: Node::BaseNode
24
24
  # @rbs prev: Node::BaseNode | nil
25
25
  # @rbs return: void
26
+ # @param prism_node [prism_node]
27
+ # @param parent [Node::BaseNode]
28
+ # @param prev [Node::BaseNode, nil]
29
+ # @return [void]
26
30
  def initialize(prism_node, parent:, prev: nil)
27
31
  @prism_node = prism_node
28
32
  @parent = parent
@@ -38,6 +42,7 @@ module RubyModKit
38
42
  end
39
43
 
40
44
  # @rbs return: Symbol | nil
45
+ # @return [Symbol, nil]
41
46
  def name
42
47
  @prism_node.name
43
48
  end
@@ -12,6 +12,8 @@ module RubyModKit
12
12
 
13
13
  # @rbs prism_node: Prism::ProgramNode
14
14
  # @rbs return: void
15
+ # @param prism_node [Prism::ProgramNode]
16
+ # @return [void]
15
17
  def initialize(prism_node)
16
18
  @prism_node = prism_node
17
19
  raise RubyModKit::Error unless prism_node.is_a?(Prism::ProgramNode)
@@ -20,6 +22,7 @@ module RubyModKit
20
22
  end
21
23
 
22
24
  # @rbs return: nil
25
+ # @return [nil]
23
26
  def parent
24
27
  nil
25
28
  end
@@ -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::StatementsNode]
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
@@ -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,6 +18,10 @@ 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
23
27
  when Prism::BeginNode
@@ -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.5" #: 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
@@ -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,6 +2,7 @@
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
@@ -11,6 +12,12 @@ module RubyModKit
11
12
  # @rbs lineno: Integer
12
13
  # @rbs transpile: bool
13
14
  # @rbs return: Object
15
+ # @param expr [String]
16
+ # @param binding [Binding]
17
+ # @param fname [String]
18
+ # @param lineno [Integer]
19
+ # @param transpile [Boolean]
20
+ # @return [Object]
14
21
  def self?.eval: (String expr, ?Binding binding, ?String fname, ?Integer lineno, ?transpile: bool) -> Object
15
22
  end
16
23
  end
@@ -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,14 +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
13
17
 
14
18
  # @rbs return: void
19
+ # @return [void]
15
20
  def setup: () -> void
16
21
  end
17
22
  end
@@ -9,14 +9,20 @@ module RubyModKit
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
@@ -8,6 +8,8 @@ module RubyModKit
8
8
  class AddArgumentsCheckerMission < 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
@@ -3,10 +3,12 @@
3
3
  module RubyModKit
4
4
  class Feature
5
5
  class Type
6
+ # namespace for type checker
6
7
  module Check
7
8
  # namespace for arguments type checker
8
9
  class Arguments < Feature
9
10
  # @rbs return: Array[Mission]
11
+ # @return [Array<Mission>]
10
12
  def create_missions: () -> Array[Mission]
11
13
  end
12
14
  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
@@ -8,29 +8,43 @@ module RubyModKit
8
8
  @last_parameter_offsets: Set[Integer]
9
9
 
10
10
  # @rbs return: Array[Symbol]
11
+ # @return [Array<Symbol>]
11
12
  def correctable_error_types: () -> Array[Symbol]
12
13
 
13
14
  # @rbs return: void
15
+ # @return [void]
14
16
  def setup: () -> void
15
17
 
16
18
  # @rbs parse_error: Prism::ParseError
17
19
  # @rbs generation: Generation
18
20
  # @rbs return: void
21
+ # @param parse_error [Prism::ParseError]
22
+ # @param generation [Generation]
23
+ # @return [void]
19
24
  def correct: (Prism::ParseError parse_error, Generation generation) -> void
20
25
 
21
26
  # @rbs parse_error: Prism::ParseError
22
27
  # @rbs generation: Generation
23
28
  # @rbs return: void
29
+ # @param parse_error [Prism::ParseError]
30
+ # @param generation [Generation]
31
+ # @return [void]
24
32
  def remove_arrow_before_parameter: (Prism::ParseError parse_error, Generation generation) -> void
25
33
 
26
34
  # @rbs parse_error: Prism::ParseError
27
35
  # @rbs generation: Generation
28
36
  # @rbs return: void
37
+ # @param parse_error [Prism::ParseError]
38
+ # @param generation [Generation]
39
+ # @return [void]
29
40
  def remove_arrow_after_quailifier: (Prism::ParseError parse_error, Generation generation) -> void
30
41
 
31
42
  # @rbs parse_error: Prism::ParseError
32
43
  # @rbs generation: Generation
33
44
  # @rbs return: void
45
+ # @param parse_error [Prism::ParseError]
46
+ # @param generation [Generation]
47
+ # @return [void]
34
48
  def wrap_parameter_type_for_next_parse: (Prism::ParseError parse_error, Generation generation) -> void
35
49
  end
36
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