ruby_mod_kit 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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