ruby_mod_kit 0.0.2 → 0.0.3

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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ruby_mod_kit/core_ext/eval.rb +6 -0
  3. data/lib/ruby_mod_kit/core_ext/load.rb +12 -4
  4. data/lib/ruby_mod_kit/core_ext.rb +2 -2
  5. data/lib/ruby_mod_kit/corrector.rb +22 -0
  6. data/lib/ruby_mod_kit/corrector_manager.rb +68 -0
  7. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rb +42 -0
  8. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb +49 -0
  9. data/lib/ruby_mod_kit/feature/instance_variable_parameter.rb +27 -0
  10. data/lib/ruby_mod_kit/feature/overload/overload_mission.rb +80 -0
  11. data/lib/ruby_mod_kit/feature/overload.rb +19 -0
  12. data/lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb +49 -0
  13. data/lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb +90 -0
  14. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rb +41 -0
  15. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb +31 -0
  16. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb +43 -0
  17. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb +38 -0
  18. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb +32 -0
  19. data/lib/ruby_mod_kit/feature/type/rbs_inline.rb +29 -0
  20. data/lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb +45 -0
  21. data/lib/ruby_mod_kit/feature/type/type_attr_mission.rb +67 -0
  22. data/lib/ruby_mod_kit/feature/type.rb +31 -0
  23. data/lib/ruby_mod_kit/feature.rb +24 -0
  24. data/lib/ruby_mod_kit/generation.rb +60 -22
  25. data/lib/ruby_mod_kit/memo/def_parent_memo.rb +36 -0
  26. data/lib/ruby_mod_kit/memo/{ivar.rb → ivar_memo.rb} +17 -3
  27. data/lib/ruby_mod_kit/memo/{method.rb → method_memo.rb} +7 -7
  28. data/lib/ruby_mod_kit/memo/offset_memo.rb +1 -1
  29. data/lib/ruby_mod_kit/memo/overload_memo.rb +46 -0
  30. data/lib/ruby_mod_kit/memo/{parameter.rb → parameter_memo.rb} +3 -3
  31. data/lib/ruby_mod_kit/memo.rb +7 -64
  32. data/lib/ruby_mod_kit/memo_pad.rb +69 -0
  33. data/lib/ruby_mod_kit/mission.rb +5 -24
  34. data/lib/ruby_mod_kit/node/base_node.rb +137 -0
  35. data/lib/ruby_mod_kit/node/call_node.rb +10 -6
  36. data/lib/ruby_mod_kit/node/def_node.rb +10 -6
  37. data/lib/ruby_mod_kit/node/def_parent_node.rb +17 -13
  38. data/lib/ruby_mod_kit/node/parameter_node.rb +12 -8
  39. data/lib/ruby_mod_kit/node/program_node.rb +2 -2
  40. data/lib/ruby_mod_kit/node/statements_node.rb +10 -6
  41. data/lib/ruby_mod_kit/node/symbol_node.rb +10 -6
  42. data/lib/ruby_mod_kit/node/untyped_node.rb +10 -6
  43. data/lib/ruby_mod_kit/node/wrap.rb +43 -0
  44. data/lib/ruby_mod_kit/node.rb +4 -148
  45. data/lib/ruby_mod_kit/version.rb +1 -1
  46. data/lib/ruby_mod_kit.rb +17 -3
  47. data/sig/generated/ruby_mod_kit/core_ext/eval.rbs +3 -0
  48. data/sig/generated/ruby_mod_kit/core_ext/load.rbs +7 -4
  49. data/sig/generated/ruby_mod_kit/corrector.rbs +16 -0
  50. data/sig/generated/ruby_mod_kit/corrector_manager.rbs +26 -0
  51. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rbs +20 -0
  52. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rbs +21 -0
  53. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter.rbs +14 -0
  54. data/sig/generated/ruby_mod_kit/feature/overload/overload_mission.rbs +24 -0
  55. data/sig/generated/ruby_mod_kit/feature/overload.rbs +11 -0
  56. data/sig/generated/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rbs +20 -0
  57. data/sig/generated/ruby_mod_kit/feature/type/parameter_arrow_corrector.rbs +39 -0
  58. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rbs +19 -0
  59. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rbs +19 -0
  60. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rbs +19 -0
  61. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rbs +19 -0
  62. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rbs +19 -0
  63. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline.rbs +13 -0
  64. data/sig/generated/ruby_mod_kit/feature/type/return_value_colon_corrector.rbs +20 -0
  65. data/sig/generated/ruby_mod_kit/feature/type/type_attr_mission.rbs +20 -0
  66. data/sig/generated/ruby_mod_kit/feature/type.rbs +14 -0
  67. data/sig/generated/ruby_mod_kit/feature.rbs +16 -0
  68. data/sig/generated/ruby_mod_kit/generation.rbs +25 -10
  69. data/sig/generated/ruby_mod_kit/memo/def_parent_memo.rbs +24 -0
  70. data/sig/generated/ruby_mod_kit/memo/{ivar.rbs → ivar_memo.rbs} +15 -3
  71. data/sig/generated/ruby_mod_kit/memo/{method.rbs → method_memo.rbs} +8 -8
  72. data/sig/generated/ruby_mod_kit/memo/offset_memo.rbs +1 -1
  73. data/sig/generated/ruby_mod_kit/memo/overload_memo.rbs +32 -0
  74. data/sig/generated/ruby_mod_kit/memo/{parameter.rbs → parameter_memo.rbs} +3 -3
  75. data/sig/generated/ruby_mod_kit/memo.rbs +2 -36
  76. data/sig/generated/ruby_mod_kit/memo_pad.rbs +46 -0
  77. data/sig/generated/ruby_mod_kit/mission.rbs +4 -12
  78. data/sig/generated/ruby_mod_kit/node/base_node.rbs +65 -0
  79. data/sig/generated/ruby_mod_kit/node/call_node.rbs +11 -6
  80. data/sig/generated/ruby_mod_kit/node/def_node.rbs +11 -6
  81. data/sig/generated/ruby_mod_kit/node/def_parent_node.rbs +12 -10
  82. data/sig/generated/ruby_mod_kit/node/parameter_node.rbs +13 -8
  83. data/sig/generated/ruby_mod_kit/node/program_node.rbs +2 -2
  84. data/sig/generated/ruby_mod_kit/node/statements_node.rbs +11 -6
  85. data/sig/generated/ruby_mod_kit/node/symbol_node.rbs +11 -6
  86. data/sig/generated/ruby_mod_kit/node/untyped_node.rbs +11 -6
  87. data/sig/generated/ruby_mod_kit/node/wrap.rbs +12 -0
  88. data/sig/generated/ruby_mod_kit/node.rbs +2 -58
  89. data/sig/generated/ruby_mod_kit.rbs +4 -0
  90. metadata +56 -27
  91. data/lib/ruby_mod_kit/memo/def_parent.rb +0 -27
  92. data/lib/ruby_mod_kit/mission/fix_parse_error.rb +0 -216
  93. data/lib/ruby_mod_kit/mission/ivar_arg.rb +0 -42
  94. data/lib/ruby_mod_kit/mission/overload.rb +0 -73
  95. data/lib/ruby_mod_kit/mission/type_attr.rb +0 -75
  96. data/lib/ruby_mod_kit/mission/type_parameter.rb +0 -39
  97. data/lib/ruby_mod_kit/mission/type_return.rb +0 -33
  98. data/lib/ruby_mod_kit/transpiler.rb +0 -20
  99. data/sig/generated/examples/user.rbs +0 -60
  100. data/sig/generated/ruby_mod_kit/memo/def_parent.rbs +0 -20
  101. data/sig/generated/ruby_mod_kit/memo/located.rbs +0 -14
  102. data/sig/generated/ruby_mod_kit/memo/parameter_type.rbs +0 -14
  103. data/sig/generated/ruby_mod_kit/mission/fix_parse_error.rbs +0 -73
  104. data/sig/generated/ruby_mod_kit/mission/ivar_arg.rbs +0 -19
  105. data/sig/generated/ruby_mod_kit/mission/overload.rbs +0 -20
  106. data/sig/generated/ruby_mod_kit/mission/type_attr.rbs +0 -18
  107. data/sig/generated/ruby_mod_kit/mission/type_parameter.rbs +0 -18
  108. data/sig/generated/ruby_mod_kit/mission/type_return.rbs +0 -18
  109. data/sig/generated/ruby_mod_kit/transpiler.rbs +0 -11
@@ -9,7 +9,7 @@ module RubyModKit
9
9
 
10
10
  @missions: Array[Mission]
11
11
 
12
- @memo: Memo
12
+ @memo_pad: MemoPad
13
13
 
14
14
  @root_node: Node::ProgramNode
15
15
 
@@ -19,17 +19,23 @@ module RubyModKit
19
19
 
20
20
  @filename: String | nil
21
21
 
22
+ @corrector_manager: CorrectorManager
23
+
24
+ @features: Array[Feature]
25
+
22
26
  attr_reader parse_result: Prism::ParseResult
23
27
 
24
28
  attr_reader script: String
25
29
 
26
30
  # @rbs script: String
27
31
  # @rbs missions: Array[Mission]
28
- # @rbs memo: Memo
32
+ # @rbs memo_pad: MemoPad | nil
29
33
  # @rbs generation_num: Integer
30
34
  # @rbs filename: String | nil
35
+ # @rbs corrector_manager: CorrectorManager | nil
36
+ # @rbs features: Array[Feature] | nil
31
37
  # @rbs return: void
32
- def initialize: (String script, ?missions: Array[Mission], ?memo: Memo, ?generation_num: Integer, ?filename: String | nil) -> void
38
+ def initialize: (String script, ?missions: Array[Mission], ?memo_pad: MemoPad | nil, ?generation_num: Integer, ?filename: String | nil, ?corrector_manager: CorrectorManager | nil, ?features: Array[Feature] | nil) -> void
33
39
 
34
40
  # @rbs return: void
35
41
  def init_missions: () -> void
@@ -43,9 +49,6 @@ module RubyModKit
43
49
  # @rbs return: String
44
50
  def name: () -> String
45
51
 
46
- # @rbs return: void
47
- def resolve: () -> void
48
-
49
52
  # @rbs return: bool
50
53
  def completed?: () -> bool
51
54
 
@@ -59,20 +62,24 @@ module RubyModKit
59
62
  # @rbs return: String
60
63
  def []: (Range[Integer] src_range) -> String
61
64
 
65
+ # @rbs offset: Integer
66
+ # @rbs return: String
67
+ def line_by_offset: (Integer offset) -> String
68
+
62
69
  # @rbs (Integer) -> String
63
- # | (Node) -> String
70
+ # | (Node::BaseNode) -> String
64
71
  # | (Prism::ParseError) -> String
65
72
  def line: (Integer) -> String
66
- | (Node) -> String
73
+ | (Node::BaseNode) -> String
67
74
  | (Prism::ParseError) -> String
68
75
 
69
76
  # @rbs line_num: Integer
70
77
  # @rbs return: String
71
78
  def line__overload0: (Integer line_num) -> String
72
79
 
73
- # @rbs node: Node
80
+ # @rbs node: Node::BaseNode
74
81
  # @rbs return: String
75
- def line__overload1: (Node node) -> String
82
+ def line__overload1: (Node::BaseNode node) -> String
76
83
 
77
84
  # @rbs parse_error: Prism::ParseError
78
85
  # @rbs return: String
@@ -91,11 +98,19 @@ module RubyModKit
91
98
  # @rbs return: Integer | nil
92
99
  def src_offset__overload1: (Prism::ParseError parse_error) -> (Integer | nil)
93
100
 
101
+ # @rbs return: void
102
+ def perform_corrector: () -> void
103
+
94
104
  # @rbs return: void
95
105
  def perform_missions: () -> void
96
106
 
97
107
  # @rbs mission: Mission
98
108
  # @rbs return: void
99
109
  def add_mission: (Mission mission) -> void
110
+
111
+ # @rbs src: String
112
+ # @rbs filename: String | nil
113
+ # @rbs return: Generation
114
+ def self.resolve: (String src, ?filename: String | nil) -> Generation
100
115
  end
101
116
  end
@@ -0,0 +1,24 @@
1
+ # Generated from lib/ruby_mod_kit/memo/def_parent_memo.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ module Memo
5
+ # The memo for def parent (class, module)
6
+ class DefParentMemo < OffsetMemo
7
+ @ivars_memo: Hash[Symbol, Memo::IvarMemo]
8
+
9
+ attr_reader ivars_memo: Hash[Symbol, Memo::IvarMemo]
10
+
11
+ # @rbs def_parent_node: Node::DefParentNode
12
+ # @rbs return: void
13
+ def initialize: (Node::DefParentNode def_parent_node) -> void
14
+
15
+ # @rbs name: Symbol
16
+ # @rbs return: Memo::IvarMemo
17
+ def ivar_memo: (Symbol name) -> Memo::IvarMemo
18
+
19
+ # @rbs offset_diff: OffsetDiff
20
+ # @rbs return: void
21
+ def succ: (OffsetDiff offset_diff) -> void
22
+ end
23
+ end
24
+ end
@@ -1,19 +1,27 @@
1
- # Generated from lib/ruby_mod_kit/memo/ivar.rb with RBS::Inline
1
+ # Generated from lib/ruby_mod_kit/memo/ivar_memo.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Memo
4
+ module Memo
5
5
  # The memo for parameter type
6
- class Ivar
6
+ class IvarMemo
7
7
  @type: nil | String
8
8
 
9
9
  @attr_kind: nil | Symbol
10
10
 
11
+ @offset: nil | Integer
12
+
13
+ @indent: String
14
+
11
15
  @name: Symbol
12
16
 
13
17
  attr_reader type: nil | String
14
18
 
15
19
  attr_reader attr_kind: nil | Symbol
16
20
 
21
+ attr_accessor offset: nil | Integer
22
+
23
+ attr_accessor indent: String
24
+
17
25
  # @rbs name: Symbol
18
26
  # @rbs return: void
19
27
  def initialize: (Symbol name) -> void
@@ -25,6 +33,10 @@ module RubyModKit
25
33
  # @rbs kind: Symbol | String
26
34
  # @rbs return: void
27
35
  def attr_kind=: (Symbol | String kind) -> void
36
+
37
+ # @rbs offset_diff: OffsetDiff
38
+ # @rbs return: void
39
+ def succ: (OffsetDiff offset_diff) -> void
28
40
  end
29
41
  end
30
42
  end
@@ -1,18 +1,18 @@
1
- # Generated from lib/ruby_mod_kit/memo/method.rb with RBS::Inline
1
+ # Generated from lib/ruby_mod_kit/memo/method_memo.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Memo
4
+ module Memo
5
5
  # The memo for parameter type
6
- class Method < OffsetMemo
6
+ class MethodMemo < OffsetMemo
7
7
  @name: Symbol
8
8
 
9
- @parameters: Set[Memo::Parameter]
9
+ @parameters: Set[Memo::ParameterMemo]
10
10
 
11
11
  @type: String
12
12
 
13
13
  attr_reader name: Symbol
14
14
 
15
- attr_reader parameters: Set[Memo::Parameter]
15
+ attr_reader parameters: Set[Memo::ParameterMemo]
16
16
 
17
17
  attr_reader type: String
18
18
 
@@ -22,9 +22,9 @@ module RubyModKit
22
22
  # @rbs return: void
23
23
  def initialize: (Node::DefNode node) -> void
24
24
 
25
- # @rbs parameter_memo: Memo::Parameter
26
- # @rbs return: Memo::Parameter
27
- def add_parameter: (Memo::Parameter parameter_memo) -> Memo::Parameter
25
+ # @rbs parameter_memo: Memo::ParameterMemo
26
+ # @rbs return: Memo::ParameterMemo
27
+ def add_parameter: (Memo::ParameterMemo parameter_memo) -> Memo::ParameterMemo
28
28
 
29
29
  # @rbs return: bool
30
30
  def untyped?: () -> bool
@@ -1,7 +1,7 @@
1
1
  # Generated from lib/ruby_mod_kit/memo/offset_memo.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Memo
4
+ module Memo
5
5
  # The base class for located memo
6
6
  class OffsetMemo
7
7
  @offset: Integer
@@ -0,0 +1,32 @@
1
+ # Generated from lib/ruby_mod_kit/memo/overload_memo.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ module Memo
5
+ # The memo for parameter type
6
+ class OverloadMemo < OffsetMemo
7
+ @name: Symbol
8
+
9
+ @overload_types: [ [ Array[String], String ] ]
10
+
11
+ @offset_corrected: bool
12
+
13
+ attr_reader name: Symbol
14
+
15
+ attr_reader overload_types: [ [ Array[String], String ] ]
16
+
17
+ # @rbs offset: Integer
18
+ # @rbs name: Symbol
19
+ # @rbs return: void
20
+ def initialize: (Integer offset, Symbol name) -> void
21
+
22
+ # @rbs root_node: Node::ProgramNode
23
+ # @rbs return: Integer
24
+ def correct_offset: (Node::ProgramNode root_node) -> Integer
25
+
26
+ # @rbs parameter_types: Array[String]
27
+ # @rbs return_value_type: String
28
+ # @rbs return: void
29
+ def add_overload_type: (Array[String] parameter_types, String return_value_type) -> void
30
+ end
31
+ end
32
+ end
@@ -1,9 +1,9 @@
1
- # Generated from lib/ruby_mod_kit/memo/parameter.rb with RBS::Inline
1
+ # Generated from lib/ruby_mod_kit/memo/parameter_memo.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Memo
4
+ module Memo
5
5
  # The memo for parameter type
6
- class Parameter < OffsetMemo
6
+ class ParameterMemo < OffsetMemo
7
7
  @type: String
8
8
 
9
9
  @ivar_parameter: bool
@@ -1,41 +1,7 @@
1
1
  # Generated from lib/ruby_mod_kit/memo.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- # The class of transpiler generation.
5
- class Memo
6
- @def_parents_memo: Hash[Integer, Memo::DefParent]
7
-
8
- @methods_memo: Hash[Integer, Memo::Method]
9
-
10
- @parameters_memo: Hash[Integer, Memo::Parameter]
11
-
12
- attr_reader def_parents_memo: Hash[Integer, Memo::DefParent]
13
-
14
- attr_reader methods_memo: Hash[Integer, Memo::Method]
15
-
16
- attr_reader parameters_memo: Hash[Integer, Memo::Parameter]
17
-
18
- # @rbs return: void
19
- def initialize: () -> void
20
-
21
- # @rbs offset_diff: OffsetDiff
22
- # @rbs return: void
23
- def succ: (OffsetDiff offset_diff) -> void
24
-
25
- # @rbs def_parent_node: Node::DefParentNode
26
- # @rbs return: Memo::DefParent
27
- def def_parent_memo: (Node::DefParentNode def_parent_node) -> Memo::DefParent
28
-
29
- # @rbs def_node: Node::DefNode
30
- # @rbs return: Memo::Method
31
- def method_memo: (Node::DefNode def_node) -> Memo::Method
32
-
33
- # @rbs node: Node
34
- # @rbs return: Memo::Parameter
35
- def parameter_memo: (Node node) -> Memo::Parameter
36
-
37
- # @rbs type: String
38
- # @rbs return: String
39
- def self.unify_type: (String type) -> String
4
+ # The namespace of transpiler memo.
5
+ module Memo
40
6
  end
41
7
  end
@@ -0,0 +1,46 @@
1
+ # Generated from lib/ruby_mod_kit/memo_pad.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ # The class for bundling memos.
5
+ class MemoPad
6
+ @def_parents_memo: Hash[Integer, Memo::DefParentMemo]
7
+
8
+ @methods_memo: Hash[Integer, Memo::MethodMemo]
9
+
10
+ @parameters_memo: Hash[Integer, Memo::ParameterMemo]
11
+
12
+ @overloads_memo: Hash[Integer, Memo::OverloadMemo]
13
+
14
+ attr_reader def_parents_memo: Hash[Integer, Memo::DefParentMemo]
15
+
16
+ attr_reader methods_memo: Hash[Integer, Memo::MethodMemo]
17
+
18
+ attr_reader parameters_memo: Hash[Integer, Memo::ParameterMemo]
19
+
20
+ attr_reader overloads_memo: Hash[Integer, Memo::OverloadMemo]
21
+
22
+ # @rbs return: void
23
+ def initialize: () -> void
24
+
25
+ # @rbs offset_diff: OffsetDiff
26
+ # @rbs return: void
27
+ def succ: (OffsetDiff offset_diff) -> void
28
+
29
+ # @rbs def_parent_node: Node::DefParentNode
30
+ # @rbs return: Memo::DefParentMemo
31
+ def def_parent_memo: (Node::DefParentNode def_parent_node) -> Memo::DefParentMemo
32
+
33
+ # @rbs def_node: Node::DefNode
34
+ # @rbs return: Memo::MethodMemo
35
+ def method_memo: (Node::DefNode def_node) -> Memo::MethodMemo
36
+
37
+ # @rbs offset: Integer
38
+ # @rbs name: Symbol
39
+ # @rbs return: Memo::OverloadMemo
40
+ def overload_memo: (Integer offset, Symbol name) -> Memo::OverloadMemo
41
+
42
+ # @rbs node: Node::BaseNode
43
+ # @rbs return: Memo::ParameterMemo
44
+ def parameter_memo: (Node::BaseNode node) -> Memo::ParameterMemo
45
+ end
46
+ end
@@ -1,22 +1,14 @@
1
1
  # Generated from lib/ruby_mod_kit/mission.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- # The class of transpiler mission.
4
+ # The base class of transpiler mission.
5
5
  class Mission
6
- @offset: Integer
7
-
8
- attr_accessor offset: Integer
9
-
10
- # @rbs offset: Integer
11
- # @rbs return: void
12
- def initialize: (Integer offset) -> void
13
-
14
6
  # @rbs _generation: Generation
15
- # @rbs _root_node: Node
7
+ # @rbs _root_node: Node::ProgramNode
16
8
  # @rbs _parse_result: Prism::ParseResult
17
- # @rbs _memo: Memo
9
+ # @rbs _memo_pad: MemoPad
18
10
  # @rbs return: void
19
- def perform: (untyped _generation, untyped _root_node, untyped _parse_result, untyped _memo) -> void
11
+ def perform: (untyped _generation, untyped _root_node, untyped _parse_result, untyped _memo_pad) -> void
20
12
 
21
13
  # @rbs offset_diff: OffsetDiff
22
14
  # @rbs return: void
@@ -0,0 +1,65 @@
1
+ # Generated from lib/ruby_mod_kit/node/base_node.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ module Node
5
+ # The class of transpile node.
6
+ class BaseNode
7
+ @location: Prism::Location
8
+
9
+ @children: Array[Node::BaseNode]
10
+
11
+ @ancestors: Array[Node::BaseNode]
12
+
13
+ @prev: Node::BaseNode | nil
14
+
15
+ attr_reader location: Prism::Location
16
+
17
+ attr_reader prev: Node::BaseNode | nil
18
+
19
+ # @rbs return: void
20
+ def initialize: () -> void
21
+
22
+ # @rbs return: Array[Node::BaseNode]
23
+ def children: () -> Array[Node::BaseNode]
24
+
25
+ # @rbs return: Array[Node::BaseNode]
26
+ def ancestors: () -> Array[Node::BaseNode]
27
+
28
+ # @rbs return: Symbol
29
+ def name: () -> Symbol
30
+
31
+ # @rbs offset: Integer
32
+ # @rbs return: Node::BaseNode | nil
33
+ def node_at: (Integer offset) -> (Node::BaseNode | nil)
34
+
35
+ # @rbs offset: Integer
36
+ # @rbs return: Node::StatementsNode | nil
37
+ def statements_node_at: (Integer offset) -> (Node::StatementsNode | nil)
38
+
39
+ # @rbs offset: Integer
40
+ # @rbs return: Node::DefNode | nil
41
+ def def_node_at: (Integer offset) -> (Node::DefNode | nil)
42
+
43
+ # @rbs offset: Integer
44
+ # @rbs return: Node::ParameterNode | nil
45
+ def parameter_node_at: (Integer offset) -> (Node::ParameterNode | nil)
46
+
47
+ # @rbs offset: Integer
48
+ # @rbs return: Node::DefParentNode | nil
49
+ def def_parent_node_at: (Integer offset) -> (Node::DefParentNode | nil)
50
+
51
+ # @rbs offset: Integer
52
+ # @rbs return: bool
53
+ def include?: (Integer offset) -> bool
54
+
55
+ # @rbs return: Prism::Node & Prism::_Node
56
+ def prism_node: () -> (Prism::Node & Prism::_Node)
57
+
58
+ # @rbs return: Integer
59
+ def offset: () -> Integer
60
+
61
+ # @rbs return: String
62
+ def inspect: () -> String
63
+ end
64
+ end
65
+ end
@@ -1,25 +1,30 @@
1
1
  # Generated from lib/ruby_mod_kit/node/call_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler method call node
6
- class CallNode < Node
6
+ class CallNode < Node::BaseNode
7
7
  @prism_node: Prism::CallNode
8
8
 
9
9
  @name: Symbol
10
10
 
11
- @parent: Node
11
+ @parent: Node::BaseNode
12
+
13
+ @prev: Node::BaseNode | nil
12
14
 
13
15
  attr_reader prism_node: Prism::CallNode
14
16
 
15
17
  attr_reader name: Symbol
16
18
 
17
- attr_reader parent: Node
19
+ attr_reader parent: Node::BaseNode
20
+
21
+ attr_reader prev: Node::BaseNode | nil
18
22
 
19
23
  # @rbs prism_node: Prism::CallNode
20
- # @rbs parent: Node
24
+ # @rbs parent: Node::BaseNode
25
+ # @rbs prev: Node::BaseNode | nil
21
26
  # @rbs return: void
22
- def initialize: (Prism::CallNode prism_node, parent: Node) -> void
27
+ def initialize: (Prism::CallNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
23
28
  end
24
29
  end
25
30
  end
@@ -1,21 +1,26 @@
1
1
  # Generated from lib/ruby_mod_kit/node/def_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler program node
6
- class DefNode < Node
6
+ class DefNode < Node::BaseNode
7
7
  @prism_node: Prism::DefNode
8
8
 
9
- @parent: Node
9
+ @parent: Node::BaseNode
10
+
11
+ @prev: Node::BaseNode | nil
10
12
 
11
13
  attr_reader prism_node: Prism::DefNode
12
14
 
13
- attr_reader parent: Node
15
+ attr_reader parent: Node::BaseNode
16
+
17
+ attr_reader prev: Node::BaseNode | nil
14
18
 
15
19
  # @rbs prism_node: Prism::DefNode
16
- # @rbs parent: Node
20
+ # @rbs parent: Node::BaseNode
21
+ # @rbs prev: Node::BaseNode | nil
17
22
  # @rbs return: void
18
- def initialize: (Prism::DefNode prism_node, parent: Node) -> void
23
+ def initialize: (Prism::DefNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
19
24
 
20
25
  # @rbs return: Symbol
21
26
  def name: () -> Symbol
@@ -1,29 +1,31 @@
1
1
  # Generated from lib/ruby_mod_kit/node/def_parent_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler program node
6
- class DefParentNode < Node
6
+ class DefParentNode < Node::BaseNode
7
7
  @prism_node: Prism::ClassNode | Prism::ModuleNode
8
8
 
9
9
  @body_node: nil | Node::StatementsNode
10
10
 
11
- @parent: Node
11
+ @parent: Node::BaseNode
12
+
13
+ @prev: Node::BaseNode | nil
12
14
 
13
15
  attr_reader prism_node: Prism::ClassNode | Prism::ModuleNode
14
16
 
15
- attr_reader body_node: nil | Node::StatementsNode
17
+ attr_reader parent: Node::BaseNode
16
18
 
17
- attr_reader parent: Node
19
+ attr_reader prev: Node::BaseNode | nil
18
20
 
19
21
  # @rbs prism_node: Prism::ClassNode | Prism::ModuleNode
20
- # @rbs parent: Node
22
+ # @rbs parent: Node::BaseNode
23
+ # @rbs prev: Node::BaseNode | nil
21
24
  # @rbs return: void
22
- def initialize: (Prism::ClassNode | Prism::ModuleNode prism_node, parent: Node) -> void
25
+ def initialize: (Prism::ClassNode | Prism::ModuleNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
23
26
 
24
- # @rbs child_prism_node: Prism::Node
25
- # @rbs return: Node
26
- def wrap: (Prism::Node child_prism_node) -> Node
27
+ # @rbs return: nil | Node::StatementsNode
28
+ def body_node: () -> (nil | Node::StatementsNode)
27
29
  end
28
30
  end
29
31
  end
@@ -1,23 +1,28 @@
1
1
  # Generated from lib/ruby_mod_kit/node/parameter_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler program node
6
- class ParameterNode < Node
7
- type prism_node = Prism::RequiredParameterNode | Prism::OptionalKeywordParameterNode | Prism::OptionalParameterNode | Prism::RequiredKeywordParameterNode | Prism::RestParameterNode
8
-
6
+ class ParameterNode < Node::BaseNode
9
7
  @prism_node: prism_node
10
8
 
11
- @parent: Node
9
+ @parent: Node::BaseNode
10
+
11
+ @prev: Node::BaseNode | nil
12
+
13
+ type prism_node = Prism::RequiredParameterNode | Prism::OptionalKeywordParameterNode | Prism::OptionalParameterNode | Prism::RequiredKeywordParameterNode | Prism::RestParameterNode
12
14
 
13
15
  attr_reader prism_node: prism_node
14
16
 
15
- attr_reader parent: Node
17
+ attr_reader parent: Node::BaseNode
18
+
19
+ attr_reader prev: Node::BaseNode | nil
16
20
 
17
21
  # @rbs prism_node: prism_node
18
- # @rbs parent: Node
22
+ # @rbs parent: Node::BaseNode
23
+ # @rbs prev: Node::BaseNode | nil
19
24
  # @rbs return: void
20
- def initialize: (prism_node prism_node, parent: Node) -> void
25
+ def initialize: (prism_node prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
21
26
 
22
27
  # @rbs return: Symbol | nil
23
28
  def name: () -> (Symbol | nil)
@@ -1,9 +1,9 @@
1
1
  # Generated from lib/ruby_mod_kit/node/program_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler program node
6
- class ProgramNode < Node
6
+ class ProgramNode < Node::BaseNode
7
7
  @prism_node: Prism::ProgramNode
8
8
 
9
9
  attr_reader prism_node: Prism::ProgramNode
@@ -1,21 +1,26 @@
1
1
  # Generated from lib/ruby_mod_kit/node/statements_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler program node
6
- class StatementsNode < Node
6
+ class StatementsNode < Node::BaseNode
7
7
  @prism_node: Prism::StatementsNode
8
8
 
9
- @parent: Node
9
+ @parent: Node::BaseNode
10
+
11
+ @prev: Node::BaseNode | nil
10
12
 
11
13
  attr_reader prism_node: Prism::StatementsNode
12
14
 
13
- attr_reader parent: Node
15
+ attr_reader parent: Node::BaseNode
16
+
17
+ attr_reader prev: Node::BaseNode | nil
14
18
 
15
19
  # @rbs prism_node: Prism::StatementsNode
16
- # @rbs parent: Node
20
+ # @rbs parent: Node::BaseNode
21
+ # @rbs prev: Node::BaseNode | nil
17
22
  # @rbs return: void
18
- def initialize: (Prism::StatementsNode prism_node, parent: Node) -> void
23
+ def initialize: (Prism::StatementsNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
19
24
  end
20
25
  end
21
26
  end
@@ -1,21 +1,26 @@
1
1
  # Generated from lib/ruby_mod_kit/node/symbol_node.rb with RBS::Inline
2
2
 
3
3
  module RubyModKit
4
- class Node
4
+ module Node
5
5
  # Transpiler program node
6
- class SymbolNode < Node
6
+ class SymbolNode < Node::BaseNode
7
7
  @prism_node: Prism::SymbolNode
8
8
 
9
- @parent: Node
9
+ @parent: Node::BaseNode
10
+
11
+ @prev: Node::BaseNode | nil
10
12
 
11
13
  attr_reader prism_node: Prism::SymbolNode
12
14
 
13
- attr_reader parent: Node
15
+ attr_reader parent: Node::BaseNode
16
+
17
+ attr_reader prev: Node::BaseNode | nil
14
18
 
15
19
  # @rbs prism_node: Prism::SymbolNode
16
- # @rbs parent: Node
20
+ # @rbs parent: Node::BaseNode
21
+ # @rbs prev: Node::BaseNode | nil
17
22
  # @rbs return: void
18
- def initialize: (Prism::SymbolNode prism_node, parent: Node) -> void
23
+ def initialize: (Prism::SymbolNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
19
24
 
20
25
  # @rbs return: nil | Symbol
21
26
  def value: () -> (nil | Symbol)