ruby_mod_kit 0.0.4 → 0.0.6

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