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
@@ -0,0 +1,20 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/yard.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ # namespace for type with rbs-line feature
7
+ class Yard < Feature
8
+ # @rbs return: Array[Mission]
9
+ # @return [Array<Mission>]
10
+ def create_missions: () -> Array[Mission]
11
+
12
+ # @rbs type: String
13
+ # @rbs return: String
14
+ # @param type [String]
15
+ # @return [String]
16
+ def self.rbs2yard: (String type) -> String
17
+ end
18
+ end
19
+ end
20
+ end
@@ -5,9 +5,11 @@ module RubyModKit
5
5
  # namespace for type feature
6
6
  class Type < 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
@@ -4,9 +4,11 @@ module RubyModKit
4
4
  # the base class of feature
5
5
  class Feature
6
6
  # @rbs return: Array[Corrector]
7
+ # @return [Array<Corrector>]
7
8
  def create_correctors: () -> Array[Corrector]
8
9
 
9
10
  # @rbs return: Array[Mission]
11
+ # @return [Array<Mission>]
10
12
  def create_missions: () -> Array[Mission]
11
13
  end
12
14
  end
@@ -29,6 +29,8 @@ module RubyModKit
29
29
 
30
30
  @offsets: Array[Integer]
31
31
 
32
+ @source: String
33
+
32
34
  attr_reader script: String
33
35
 
34
36
  attr_reader memo_pad: MemoPad
@@ -50,36 +52,52 @@ module RubyModKit
50
52
  # @rbs corrector_manager: CorrectorManager | nil
51
53
  # @rbs features: Array[Feature] | nil
52
54
  # @rbs return: void
55
+ # @param script [String]
56
+ # @param missions [Array<Mission>]
57
+ # @param memo_pad [MemoPad, nil]
58
+ # @param generation_num [Integer]
59
+ # @param config [Config, nil]
60
+ # @param filename [String, nil]
61
+ # @param corrector_manager [CorrectorManager, nil]
62
+ # @param features [Array<Feature>, nil]
63
+ # @return [void]
53
64
  def initialize: (String script, ?missions: Array[Mission], ?memo_pad: MemoPad | nil, ?generation_num: Integer, ?config: Config | nil, ?filename: String | nil, ?corrector_manager: CorrectorManager | nil, ?features: Array[Feature] | nil) -> void
54
65
 
55
66
  # @rbs return: void
67
+ # @return [void]
56
68
  def init_missions: () -> void
57
69
 
58
70
  # @rbs return: bool
71
+ # @return [Boolean]
59
72
  def first_generation?: () -> bool
60
73
 
61
74
  # @rbs return: Generation
75
+ # @return [Generation]
62
76
  def succ: () -> Generation
63
77
 
64
78
  # @rbs return: String
79
+ # @return [String]
65
80
  def name: () -> String
66
81
 
67
82
  # @rbs return: bool
83
+ # @return [Boolean]
68
84
  def completed?: () -> bool
69
85
 
70
86
  # @rbs src_offset: Integer
71
87
  # @rbs length: Integer
72
88
  # @rbs str: String
73
89
  # @rbs return: String
90
+ # @param src_offset [Integer]
91
+ # @param length [Integer]
92
+ # @param str [String]
93
+ # @return [String]
74
94
  def []=: (Integer src_offset, Integer length, String str) -> String
75
95
 
76
- # @rbs src_range: Range[Integer]
77
- # @rbs return: String
78
- def []: (Range[Integer] src_range) -> String
79
-
80
- # @rbs offset: Integer
96
+ # @rbs src_range: Range[Integer | nil]
81
97
  # @rbs return: String
82
- def line_by_offset: (Integer offset) -> String
98
+ # @param src_range [Range<Integer, nil>]
99
+ # @return [String]
100
+ def []: (Range[Integer | nil] src_range) -> String
83
101
 
84
102
  # @rbs (Integer) -> String
85
103
  # | (Node::BaseNode) -> String
@@ -88,45 +106,48 @@ module RubyModKit
88
106
  | (Node::BaseNode) -> String
89
107
  | (Prism::ParseError) -> String
90
108
 
91
- # @rbs line_num: Integer
92
- # @rbs return: String
93
- def line__overload0: (Integer line_num) -> String
94
-
95
- # @rbs node: Node::BaseNode
96
- # @rbs return: String
97
- def line__overload1: (Node::BaseNode node) -> String
98
-
99
- # @rbs parse_error: Prism::ParseError
100
- # @rbs return: String
101
- def line__overload2: (Prism::ParseError parse_error) -> String
102
-
103
109
  # @rbs (Integer) -> (Integer | nil)
110
+ # | (Node::BaseNode) -> (Integer | nil)
111
+ # | (Node::BaseNode, Integer) -> (Integer | nil)
104
112
  # | (Prism::ParseError) -> (Integer | nil)
105
- def src_offset: (Integer) -> (Integer | nil)
106
- | (Prism::ParseError) -> (Integer | nil)
113
+ def line_offset: (Integer) -> (Integer | nil)
114
+ | (Node::BaseNode) -> (Integer | nil)
115
+ | (Node::BaseNode, Integer) -> (Integer | nil)
116
+ | (Prism::ParseError) -> (Integer | nil)
107
117
 
108
- # @rbs line_num: Integer
118
+ # @rbs node: Node::BaseNode
109
119
  # @rbs return: Integer | nil
110
- def src_offset__overload0: (Integer line_num) -> (Integer | nil)
120
+ # @param node [Node::BaseNode]
121
+ # @return [Integer, nil]
122
+ def end_line_offset: (Node::BaseNode node) -> (Integer | nil)
111
123
 
112
- # @rbs parse_error: Prism::ParseError
113
- # @rbs return: Integer | nil
114
- def src_offset__overload1: (Prism::ParseError parse_error) -> (Integer | nil)
124
+ # @rbs (Integer) -> String
125
+ # | (Node::BaseNode) -> String
126
+ def line_indent: (Integer) -> String
127
+ | (Node::BaseNode) -> String
115
128
 
116
129
  # @rbs return: void
130
+ # @return [void]
117
131
  def perform_corrector: () -> void
118
132
 
119
133
  # @rbs return: void
134
+ # @return [void]
120
135
  def perform_missions: () -> void
121
136
 
122
137
  # @rbs mission: Mission
123
138
  # @rbs return: void
139
+ # @param mission [Mission]
140
+ # @return [void]
124
141
  def add_mission: (Mission mission) -> void
125
142
 
126
143
  # @rbs src: String
127
144
  # @rbs filename: String | nil
128
145
  # @rbs config: Config | nil
129
146
  # @rbs return: Generation
147
+ # @param src [String]
148
+ # @param filename [String, nil]
149
+ # @param config [Config, nil]
150
+ # @return [Generation]
130
151
  def self.resolve: (String src, ?filename: String | nil, ?config: Config | nil) -> Generation
131
152
  end
132
153
  end
@@ -10,14 +10,20 @@ module RubyModKit
10
10
 
11
11
  # @rbs def_parent_node: Node::DefParentNode
12
12
  # @rbs return: void
13
+ # @param def_parent_node [Node::DefParentNode]
14
+ # @return [void]
13
15
  def initialize: (Node::DefParentNode def_parent_node) -> void
14
16
 
15
17
  # @rbs name: Symbol
16
18
  # @rbs return: Memo::IvarMemo
19
+ # @param name [Symbol]
20
+ # @return [Memo::IvarMemo]
17
21
  def ivar_memo: (Symbol name) -> Memo::IvarMemo
18
22
 
19
23
  # @rbs offset_diff: OffsetDiff
20
24
  # @rbs return: void
25
+ # @param offset_diff [OffsetDiff]
26
+ # @return [void]
21
27
  def succ: (OffsetDiff offset_diff) -> void
22
28
  end
23
29
  end
@@ -4,42 +4,54 @@ module RubyModKit
4
4
  module Memo
5
5
  # The memo for parameter type
6
6
  class IvarMemo
7
- @type: nil | String
7
+ @type: String | nil
8
8
 
9
- @attr_kind: nil | Symbol
9
+ @attr_kind: Symbol | nil
10
10
 
11
- @offset: nil | Integer
11
+ @offset: Integer | nil
12
12
 
13
13
  @indent: String
14
14
 
15
15
  @name: Symbol
16
16
 
17
- @visibility: nil | Symbol
17
+ @visibility: Symbol | nil
18
18
 
19
- attr_reader type: nil | String
19
+ @separator: String
20
20
 
21
- attr_reader attr_kind: nil | Symbol
21
+ attr_reader type: String | nil
22
22
 
23
- attr_accessor offset: nil | Integer
23
+ attr_reader attr_kind: Symbol | nil
24
+
25
+ attr_accessor offset: Integer | nil
24
26
 
25
27
  attr_accessor indent: String
26
28
 
27
- attr_accessor visibility: nil | Symbol
29
+ attr_accessor visibility: Symbol | nil
30
+
31
+ attr_accessor separator: String
28
32
 
29
33
  # @rbs name: Symbol
30
34
  # @rbs return: void
35
+ # @param name [Symbol]
36
+ # @return [void]
31
37
  def initialize: (Symbol name) -> void
32
38
 
33
39
  # @rbs type: String
34
40
  # @rbs return: void
41
+ # @param type [String]
42
+ # @return [void]
35
43
  def type=: (String type) -> void
36
44
 
37
45
  # @rbs kind: Symbol | String
38
46
  # @rbs return: void
47
+ # @param kind [Symbol, String]
48
+ # @return [void]
39
49
  def attr_kind=: (Symbol | String kind) -> void
40
50
 
41
51
  # @rbs offset_diff: OffsetDiff
42
52
  # @rbs return: void
53
+ # @param offset_diff [OffsetDiff]
54
+ # @return [void]
43
55
  def succ: (OffsetDiff offset_diff) -> void
44
56
  end
45
57
  end
@@ -16,21 +16,28 @@ module RubyModKit
16
16
 
17
17
  attr_reader type: String
18
18
 
19
- UNTYPED: ::String
19
+ UNTYPED: String
20
20
 
21
21
  # @rbs node: Node::DefNode
22
22
  # @rbs return: void
23
+ # @param node [Node::DefNode]
24
+ # @return [void]
23
25
  def initialize: (Node::DefNode node) -> void
24
26
 
25
27
  # @rbs parameter_memo: Memo::ParameterMemo
26
28
  # @rbs return: Memo::ParameterMemo
29
+ # @param parameter_memo [Memo::ParameterMemo]
30
+ # @return [Memo::ParameterMemo]
27
31
  def add_parameter: (Memo::ParameterMemo parameter_memo) -> Memo::ParameterMemo
28
32
 
29
33
  # @rbs return: bool
34
+ # @return [Boolean]
30
35
  def untyped?: () -> bool
31
36
 
32
37
  # @rbs type: String
33
38
  # @rbs return: void
39
+ # @param type [String]
40
+ # @return [void]
34
41
  def type=: (String type) -> void
35
42
  end
36
43
  end
@@ -10,10 +10,14 @@ module RubyModKit
10
10
 
11
11
  # @rbs offset: Integer
12
12
  # @rbs return: void
13
+ # @param offset [Integer]
14
+ # @return [void]
13
15
  def initialize: (Integer offset) -> void
14
16
 
15
17
  # @rbs offset_diff: OffsetDiff
16
18
  # @rbs return: void
19
+ # @param offset_diff [OffsetDiff]
20
+ # @return [void]
17
21
  def succ: (OffsetDiff offset_diff) -> void
18
22
  end
19
23
  end
@@ -19,15 +19,23 @@ module RubyModKit
19
19
  # @rbs offset: Integer
20
20
  # @rbs name: Symbol
21
21
  # @rbs return: void
22
+ # @param offset [Integer]
23
+ # @param name [Symbol]
24
+ # @return [void]
22
25
  def initialize: (Integer offset, Symbol name) -> void
23
26
 
24
27
  # @rbs root_node: Node::ProgramNode
25
28
  # @rbs return: Integer
29
+ # @param root_node [Node::ProgramNode]
30
+ # @return [Integer]
26
31
  def correct_offset: (Node::ProgramNode root_node) -> Integer
27
32
 
28
33
  # @rbs parameter_types: Array[String]
29
34
  # @rbs return_value_type: String
30
35
  # @rbs return: void
36
+ # @param parameter_types [Array<String>]
37
+ # @param return_value_type [String]
38
+ # @return [void]
31
39
  def add_overload_type: (Array[String] parameter_types, String return_value_type) -> void
32
40
  end
33
41
  end
@@ -8,25 +8,34 @@ module RubyModKit
8
8
 
9
9
  @ivar_parameter: bool
10
10
 
11
- @qualifier: String
11
+ @qualifier: String | nil
12
+
13
+ @name: Symbol
12
14
 
13
15
  attr_reader type: String
14
16
 
15
17
  attr_accessor ivar_parameter: bool
16
18
 
17
- attr_accessor qualifier: String
19
+ attr_accessor qualifier: String | nil
20
+
21
+ attr_accessor name: Symbol
18
22
 
19
- UNTYPED: ::String
23
+ UNTYPED: String
20
24
 
21
25
  # @rbs offset: Integer
22
26
  # @rbs return: void
27
+ # @param offset [Integer]
28
+ # @return [void]
23
29
  def initialize: (Integer offset) -> void
24
30
 
25
31
  # @rbs return: bool
32
+ # @return [Boolean]
26
33
  def untyped?: () -> bool
27
34
 
28
35
  # @rbs type: String
29
36
  # @rbs return: void
37
+ # @param type [String]
38
+ # @return [void]
30
39
  def type=: (String type) -> void
31
40
  end
32
41
  end
@@ -24,27 +24,50 @@ module RubyModKit
24
24
  attr_accessor flags: Hash[Symbol, bool]
25
25
 
26
26
  # @rbs return: void
27
+ # @return [void]
27
28
  def initialize: () -> void
28
29
 
29
30
  # @rbs offset_diff: OffsetDiff
30
31
  # @rbs return: void
32
+ # @param offset_diff [OffsetDiff]
33
+ # @return [void]
31
34
  def succ: (OffsetDiff offset_diff) -> void
32
35
 
33
36
  # @rbs def_parent_node: Node::DefParentNode
34
37
  # @rbs return: Memo::DefParentMemo
38
+ # @param def_parent_node [Node::DefParentNode]
39
+ # @return [Memo::DefParentMemo]
35
40
  def def_parent_memo: (Node::DefParentNode def_parent_node) -> Memo::DefParentMemo
36
41
 
37
42
  # @rbs def_node: Node::DefNode
38
43
  # @rbs return: Memo::MethodMemo
44
+ # @param def_node [Node::DefNode]
45
+ # @return [Memo::MethodMemo]
39
46
  def method_memo: (Node::DefNode def_node) -> Memo::MethodMemo
40
47
 
41
48
  # @rbs offset: Integer
42
49
  # @rbs name: Symbol
43
50
  # @rbs return: Memo::OverloadMemo
51
+ # @param offset [Integer]
52
+ # @param name [Symbol]
53
+ # @return [Memo::OverloadMemo]
44
54
  def overload_memo: (Integer offset, Symbol name) -> Memo::OverloadMemo
45
55
 
46
56
  # @rbs node: Node::BaseNode
47
57
  # @rbs return: Memo::ParameterMemo
58
+ # @param node [Node::BaseNode]
59
+ # @return [Memo::ParameterMemo]
48
60
  def parameter_memo: (Node::BaseNode node) -> Memo::ParameterMemo
61
+
62
+ # @rbs (Memo::ParameterMemo) -> void
63
+ # | (Memo::MethodMemo) -> void
64
+ def delete: (Memo::ParameterMemo) -> void
65
+ | (Memo::MethodMemo) -> void
66
+
67
+ # @rbs &block: (Memo::ParameterMemo) -> void
68
+ # @rbs return: void
69
+ # @param block [(Memo::ParameterMemo) -> void]
70
+ # @return [void]
71
+ def each_parameter_memo: () { (Memo::ParameterMemo) -> void } -> void
49
72
  end
50
73
  end
@@ -5,10 +5,8 @@ module RubyModKit
5
5
  class Mission
6
6
  # @rbs _generation: Generation
7
7
  # @rbs return: void
8
+ # @param _generation [Generation]
9
+ # @return [void]
8
10
  def perform: (untyped _generation) -> void
9
-
10
- # @rbs offset_diff: OffsetDiff
11
- # @rbs return: void
12
- def succ: (OffsetDiff offset_diff) -> void
13
11
  end
14
12
  end
@@ -15,53 +15,85 @@ module RubyModKit
15
15
  attr_reader prev: Node::BaseNode | nil
16
16
 
17
17
  # @rbs return: Prism::Location
18
+ # @return [Prism::Location]
18
19
  def location: () -> Prism::Location
19
20
 
20
21
  # @rbs return: Array[Node::BaseNode]
22
+ # @return [Array<Node::BaseNode>]
21
23
  def children: () -> Array[Node::BaseNode]
22
24
 
23
25
  # @rbs prism_node: Prism::Node
24
26
  # @rbs prev: Node::BaseNode | nil
25
27
  # @rbs return: Node::BaseNode
28
+ # @param prism_node [Prism::Node]
29
+ # @param prev [Node::BaseNode, nil]
30
+ # @return [Node::BaseNode]
26
31
  def wrap: (Prism::Node prism_node, ?prev: Node::BaseNode | nil) -> Node::BaseNode
27
32
 
28
33
  # @rbs return: Array[Node::BaseNode]
34
+ # @return [Array<Node::BaseNode>]
29
35
  def ancestors: () -> Array[Node::BaseNode]
30
36
 
31
- # @rbs return: nil | BaseNode
32
- def parent: () -> (nil | BaseNode)
37
+ # @rbs return: BaseNode | nil
38
+ # @return [BaseNode, nil]
39
+ def parent: () -> (BaseNode | nil)
33
40
 
34
41
  # @rbs return: Symbol
42
+ # @return [Symbol]
35
43
  def name: () -> Symbol
36
44
 
37
45
  # @rbs offset: Integer
38
46
  # @rbs return: Node::BaseNode | nil
47
+ # @param offset [Integer]
48
+ # @return [Node::BaseNode, nil]
39
49
  def node_at: (Integer offset) -> (Node::BaseNode | nil)
40
50
 
41
51
  # @rbs offset: Integer
42
52
  # @rbs return: Node::StatementsNode | nil
53
+ # @param offset [Integer]
54
+ # @return [Node::StatementsNode, nil]
43
55
  def statements_node_at: (Integer offset) -> (Node::StatementsNode | nil)
44
56
 
45
57
  # @rbs offset: Integer
46
58
  # @rbs return: Node::DefNode | nil
59
+ # @param offset [Integer]
60
+ # @return [Node::DefNode, nil]
47
61
  def def_node_at: (Integer offset) -> (Node::DefNode | nil)
48
62
 
49
63
  # @rbs offset: Integer
50
64
  # @rbs return: Node::ParameterNode | nil
65
+ # @param offset [Integer]
66
+ # @return [Node::ParameterNode, nil]
51
67
  def parameter_node_at: (Integer offset) -> (Node::ParameterNode | nil)
52
68
 
53
69
  # @rbs offset: Integer
70
+ # @rbs allowed: Array[Class] | nil
54
71
  # @rbs return: Node::DefParentNode | nil
55
- def def_parent_node_at: (Integer offset) -> (Node::DefParentNode | nil)
72
+ # @param offset [Integer]
73
+ # @param allowed [Array<Class>, nil]
74
+ # @return [Node::DefParentNode, nil]
75
+ def def_parent_node_at: (Integer offset, ?allowed: Array[Class] | nil) -> (Node::DefParentNode | nil)
56
76
 
57
77
  # @rbs offset: Integer
58
78
  # @rbs return: bool
79
+ # @param offset [Integer]
80
+ # @return [Boolean]
59
81
  def include?: (Integer offset) -> bool
60
82
 
61
83
  # @rbs return: Integer
84
+ # @return [Integer]
62
85
  def offset: () -> Integer
63
86
 
87
+ # @rbs return: Integer
88
+ # @return [Integer]
89
+ def end_offset: () -> Integer
90
+
91
+ # @rbs return: String
92
+ # @return [String]
93
+ def slice: () -> String
94
+
64
95
  # @rbs return: String
96
+ # @return [String]
65
97
  def inspect: () -> String
66
98
 
67
99
  private
@@ -69,6 +101,7 @@ module RubyModKit
69
101
  # :nocov:
70
102
  # This is just for interface definition, must not be called
71
103
  # @rbs return: Prism::Node & Prism::_Node
104
+ # @return [Prism::Node & Prism::_Node]
72
105
  def prism_node: () -> (Prism::Node & Prism::_Node)
73
106
  end
74
107
  end
@@ -0,0 +1,30 @@
1
+ # Generated from lib/ruby_mod_kit/node/begin_node.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ module Node
5
+ # Transpiler program node
6
+ class BeginNode < Node::BaseNode
7
+ @prism_node: Prism::BeginNode
8
+
9
+ @parent: Node::BaseNode
10
+
11
+ @prev: Node::BaseNode | nil
12
+
13
+ attr_reader prism_node: Prism::BeginNode
14
+
15
+ attr_reader parent: Node::BaseNode
16
+
17
+ attr_reader prev: Node::BaseNode | nil
18
+
19
+ # @rbs prism_node: Prism::BeginNode
20
+ # @rbs parent: Node::BaseNode
21
+ # @rbs prev: Node::BaseNode | nil
22
+ # @rbs return: void
23
+ # @param prism_node [Prism::BeginNode]
24
+ # @param parent [Node::BaseNode]
25
+ # @param prev [Node::BaseNode, nil]
26
+ # @return [void]
27
+ def initialize: (Prism::BeginNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
28
+ end
29
+ end
30
+ end
@@ -24,6 +24,10 @@ module RubyModKit
24
24
  # @rbs parent: Node::BaseNode
25
25
  # @rbs prev: Node::BaseNode | nil
26
26
  # @rbs return: void
27
+ # @param prism_node [Prism::CallNode]
28
+ # @param parent [Node::BaseNode]
29
+ # @param prev [Node::BaseNode, nil]
30
+ # @return [void]
27
31
  def initialize: (Prism::CallNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
28
32
  end
29
33
  end
@@ -10,6 +10,8 @@ module RubyModKit
10
10
 
11
11
  @prev: Node::BaseNode | nil
12
12
 
13
+ @body_node: Node::StatementsNode | Node::BeginNode | nil
14
+
13
15
  attr_reader prism_node: Prism::DefNode
14
16
 
15
17
  attr_reader parent: Node::BaseNode
@@ -20,25 +22,47 @@ module RubyModKit
20
22
  # @rbs parent: Node::BaseNode
21
23
  # @rbs prev: Node::BaseNode | nil
22
24
  # @rbs return: void
25
+ # @param prism_node [Prism::DefNode]
26
+ # @param parent [Node::BaseNode]
27
+ # @param prev [Node::BaseNode, nil]
28
+ # @return [void]
23
29
  def initialize: (Prism::DefNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
24
30
 
25
31
  # @rbs return: Symbol
32
+ # @return [Symbol]
26
33
  def name: () -> Symbol
27
34
 
28
35
  # @rbs return: Prism::Location | nil
36
+ # @return [Prism::Location, nil]
29
37
  def body_location: () -> (Prism::Location | nil)
30
38
 
31
39
  # @rbs return: Prism::Location | nil
40
+ # @return [Prism::Location, nil]
32
41
  def lparen_loc: () -> (Prism::Location | nil)
33
42
 
34
43
  # @rbs return: Prism::Location | nil
44
+ # @return [Prism::Location, nil]
35
45
  def rparen_loc: () -> (Prism::Location | nil)
36
46
 
37
47
  # @rbs return: Prism::Location
48
+ # @return [Prism::Location]
38
49
  def name_loc: () -> Prism::Location
39
50
 
40
51
  # @rbs return: Prism::Location | nil
52
+ # @return [Prism::Location, nil]
41
53
  def end_keyword_loc: () -> (Prism::Location | nil)
54
+
55
+ # @rbs prism_child_node: Prism::Node
56
+ # @rbs prev: Node::BaseNode | nil
57
+ # @rbs return: Node::BaseNode
58
+ # @param prism_child_node [Prism::Node]
59
+ # @param prev [Node::BaseNode, nil]
60
+ # @return [Node::BaseNode]
61
+ def wrap: (Prism::Node prism_child_node, ?prev: Node::BaseNode | nil) -> Node::BaseNode
62
+
63
+ # @rbs return: Node::StatementsNode | Node::BeginNode | nil
64
+ # @return [Node::StatementsNode, Node::BeginNode, nil]
65
+ def body_node: () -> (Node::StatementsNode | Node::BeginNode | nil)
42
66
  end
43
67
  end
44
68
  end
@@ -6,7 +6,7 @@ module RubyModKit
6
6
  class DefParentNode < Node::BaseNode
7
7
  @prism_node: Prism::ClassNode | Prism::ModuleNode
8
8
 
9
- @body_node: nil | Node::StatementsNode
9
+ @body_node: Node::StatementsNode | nil
10
10
 
11
11
  @parent: Node::BaseNode
12
12
 
@@ -22,15 +22,23 @@ module RubyModKit
22
22
  # @rbs parent: Node::BaseNode
23
23
  # @rbs prev: Node::BaseNode | nil
24
24
  # @rbs return: void
25
+ # @param prism_node [Prism::ClassNode, Prism::ModuleNode]
26
+ # @param parent [Node::BaseNode]
27
+ # @param prev [Node::BaseNode, nil]
28
+ # @return [void]
25
29
  def initialize: (Prism::ClassNode | Prism::ModuleNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
26
30
 
27
31
  # @rbs prism_child_node: Prism::Node
28
32
  # @rbs prev: Node::BaseNode | nil
29
33
  # @rbs return: Node::BaseNode
34
+ # @param prism_child_node [Prism::Node]
35
+ # @param prev [Node::BaseNode, nil]
36
+ # @return [Node::BaseNode]
30
37
  def wrap: (Prism::Node prism_child_node, ?prev: Node::BaseNode | nil) -> Node::BaseNode
31
38
 
32
- # @rbs return: nil | Node::StatementsNode
33
- def body_node: () -> (nil | Node::StatementsNode)
39
+ # @rbs return: Node::StatementsNode | nil
40
+ # @return [Node::StatementsNode, nil]
41
+ def body_node: () -> (Node::StatementsNode | nil)
34
42
  end
35
43
  end
36
44
  end