ruby_mod_kit 0.0.2 → 0.0.4

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby_mod_kit.yml +5 -0
  3. data/lib/ruby_mod_kit/cli.rb +17 -2
  4. data/lib/ruby_mod_kit/config.rb +53 -0
  5. data/lib/ruby_mod_kit/core_ext/eval.rb +6 -0
  6. data/lib/ruby_mod_kit/core_ext/load.rb +12 -4
  7. data/lib/ruby_mod_kit/core_ext.rb +2 -2
  8. data/lib/ruby_mod_kit/corrector.rb +20 -0
  9. data/lib/ruby_mod_kit/corrector_manager.rb +64 -0
  10. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rb +40 -0
  11. data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb +42 -0
  12. data/lib/ruby_mod_kit/feature/instance_variable_parameter.rb +27 -0
  13. data/lib/ruby_mod_kit/feature/overload/overload_mission.rb +77 -0
  14. data/lib/ruby_mod_kit/feature/overload.rb +19 -0
  15. data/lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb +52 -0
  16. data/lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb +84 -0
  17. data/lib/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rb +49 -0
  18. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rb +46 -0
  19. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb +29 -0
  20. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb +41 -0
  21. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb +36 -0
  22. data/lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb +30 -0
  23. data/lib/ruby_mod_kit/feature/type/rbs_inline.rb +32 -0
  24. data/lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb +43 -0
  25. data/lib/ruby_mod_kit/feature/type/type_attr_mission.rb +69 -0
  26. data/lib/ruby_mod_kit/feature/type.rb +31 -0
  27. data/lib/ruby_mod_kit/feature.rb +18 -0
  28. data/lib/ruby_mod_kit/generation.rb +76 -29
  29. data/lib/ruby_mod_kit/memo/def_parent_memo.rb +36 -0
  30. data/lib/ruby_mod_kit/memo/{ivar.rb → ivar_memo.rb} +19 -3
  31. data/lib/ruby_mod_kit/memo/{method.rb → method_memo.rb} +7 -7
  32. data/lib/ruby_mod_kit/memo/offset_memo.rb +1 -1
  33. data/lib/ruby_mod_kit/memo/overload_memo.rb +47 -0
  34. data/lib/ruby_mod_kit/memo/{parameter.rb → parameter_memo.rb} +3 -3
  35. data/lib/ruby_mod_kit/memo.rb +7 -66
  36. data/lib/ruby_mod_kit/memo_pad.rb +72 -0
  37. data/lib/ruby_mod_kit/mission.rb +3 -25
  38. data/lib/ruby_mod_kit/node/base_node.rb +155 -0
  39. data/lib/ruby_mod_kit/node/call_node.rb +11 -7
  40. data/lib/ruby_mod_kit/node/def_node.rb +11 -7
  41. data/lib/ruby_mod_kit/node/def_parent_node.rb +25 -14
  42. data/lib/ruby_mod_kit/node/parameter_node.rb +13 -9
  43. data/lib/ruby_mod_kit/node/program_node.rb +8 -3
  44. data/lib/ruby_mod_kit/node/statements_node.rb +11 -7
  45. data/lib/ruby_mod_kit/node/symbol_node.rb +12 -7
  46. data/lib/ruby_mod_kit/node/untyped_node.rb +11 -7
  47. data/lib/ruby_mod_kit/node/wrap.rb +43 -0
  48. data/lib/ruby_mod_kit/node.rb +4 -150
  49. data/lib/ruby_mod_kit/version.rb +1 -1
  50. data/lib/ruby_mod_kit.rb +27 -8
  51. data/ruby_mod_kit.gemspec +7 -1
  52. data/sig/generated/ruby_mod_kit/cli.rbs +5 -0
  53. data/sig/generated/ruby_mod_kit/config.rbs +21 -0
  54. data/sig/generated/ruby_mod_kit/core_ext/eval.rbs +3 -0
  55. data/sig/generated/ruby_mod_kit/core_ext/load.rbs +7 -4
  56. data/sig/generated/ruby_mod_kit/corrector.rbs +14 -0
  57. data/sig/generated/ruby_mod_kit/corrector_manager.rbs +22 -0
  58. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rbs +18 -0
  59. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rbs +14 -0
  60. data/sig/generated/ruby_mod_kit/feature/instance_variable_parameter.rbs +14 -0
  61. data/sig/generated/ruby_mod_kit/feature/overload/overload_mission.rbs +21 -0
  62. data/sig/generated/ruby_mod_kit/feature/overload.rbs +11 -0
  63. data/sig/generated/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rbs +24 -0
  64. data/sig/generated/ruby_mod_kit/feature/type/parameter_arrow_corrector.rbs +33 -0
  65. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rbs +21 -0
  66. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rbs +16 -0
  67. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rbs +16 -0
  68. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rbs +16 -0
  69. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rbs +16 -0
  70. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rbs +16 -0
  71. data/sig/generated/ruby_mod_kit/feature/type/rbs_inline.rbs +13 -0
  72. data/sig/generated/ruby_mod_kit/feature/type/return_value_colon_corrector.rbs +18 -0
  73. data/sig/generated/ruby_mod_kit/feature/type/type_attr_mission.rbs +19 -0
  74. data/sig/generated/ruby_mod_kit/feature/type.rbs +14 -0
  75. data/sig/generated/ruby_mod_kit/feature.rbs +12 -0
  76. data/sig/generated/ruby_mod_kit/generation.rbs +44 -13
  77. data/sig/generated/ruby_mod_kit/memo/def_parent_memo.rbs +24 -0
  78. data/sig/generated/ruby_mod_kit/memo/{ivar.rbs → ivar_memo.rbs} +19 -3
  79. data/sig/generated/ruby_mod_kit/memo/{method.rbs → method_memo.rbs} +8 -8
  80. data/sig/generated/ruby_mod_kit/memo/offset_memo.rbs +1 -1
  81. data/sig/generated/ruby_mod_kit/memo/overload_memo.rbs +34 -0
  82. data/sig/generated/ruby_mod_kit/memo/{parameter.rbs → parameter_memo.rbs} +3 -3
  83. data/sig/generated/ruby_mod_kit/memo_pad.rbs +50 -0
  84. data/sig/generated/ruby_mod_kit/mission.rbs +2 -13
  85. data/sig/generated/ruby_mod_kit/node/base_node.rbs +75 -0
  86. data/sig/generated/ruby_mod_kit/node/call_node.rbs +11 -6
  87. data/sig/generated/ruby_mod_kit/node/def_node.rbs +11 -6
  88. data/sig/generated/ruby_mod_kit/node/def_parent_node.rbs +17 -10
  89. data/sig/generated/ruby_mod_kit/node/parameter_node.rbs +13 -8
  90. data/sig/generated/ruby_mod_kit/node/program_node.rbs +5 -2
  91. data/sig/generated/ruby_mod_kit/node/statements_node.rbs +11 -6
  92. data/sig/generated/ruby_mod_kit/node/symbol_node.rbs +13 -6
  93. data/sig/generated/ruby_mod_kit/node/untyped_node.rbs +11 -6
  94. data/sig/generated/ruby_mod_kit/node/wrap.rbs +12 -0
  95. data/sig/generated/ruby_mod_kit.rbs +10 -3
  96. data/sig/yaml.rbs +3 -0
  97. metadata +63 -30
  98. data/lib/ruby_mod_kit/memo/def_parent.rb +0 -27
  99. data/lib/ruby_mod_kit/mission/fix_parse_error.rb +0 -216
  100. data/lib/ruby_mod_kit/mission/ivar_arg.rb +0 -42
  101. data/lib/ruby_mod_kit/mission/overload.rb +0 -73
  102. data/lib/ruby_mod_kit/mission/type_attr.rb +0 -75
  103. data/lib/ruby_mod_kit/mission/type_parameter.rb +0 -39
  104. data/lib/ruby_mod_kit/mission/type_return.rb +0 -33
  105. data/lib/ruby_mod_kit/transpiler.rb +0 -20
  106. data/sig/generated/examples/user.rbs +0 -60
  107. data/sig/generated/ruby_mod_kit/memo/def_parent.rbs +0 -20
  108. data/sig/generated/ruby_mod_kit/memo/located.rbs +0 -14
  109. data/sig/generated/ruby_mod_kit/memo/parameter_type.rbs +0 -14
  110. data/sig/generated/ruby_mod_kit/memo.rbs +0 -41
  111. data/sig/generated/ruby_mod_kit/mission/fix_parse_error.rbs +0 -73
  112. data/sig/generated/ruby_mod_kit/mission/ivar_arg.rbs +0 -19
  113. data/sig/generated/ruby_mod_kit/mission/overload.rbs +0 -20
  114. data/sig/generated/ruby_mod_kit/mission/type_attr.rbs +0 -18
  115. data/sig/generated/ruby_mod_kit/mission/type_parameter.rbs +0 -18
  116. data/sig/generated/ruby_mod_kit/mission/type_return.rbs +0 -18
  117. data/sig/generated/ruby_mod_kit/node.rbs +0 -63
  118. data/sig/generated/ruby_mod_kit/transpiler.rbs +0 -11
@@ -0,0 +1,21 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline/add_magic_comment_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ class RbsInline
7
+ # The mission to add magic comment
8
+ class AddMagicCommentMission < Mission
9
+ @reloaded: bool
10
+
11
+ # @rbs return: void
12
+ def initialize: () -> void
13
+
14
+ # @rbs generation: Generation
15
+ # @rbs return: bool
16
+ def perform: (Generation generation) -> bool
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline/type_attr_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ class RbsInline
7
+ # The mission for parameter types
8
+ class TypeAttrMission < Mission
9
+ # @rbs generation: Generation
10
+ # @rbs return: bool
11
+ def perform: (Generation generation) -> bool
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ class RbsInline
7
+ # The mission for instance variable types
8
+ class TypeInstanceVariableMission < Mission
9
+ # @rbs generation: Generation
10
+ # @rbs return: bool
11
+ def perform: (Generation generation) -> bool
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ class RbsInline
7
+ # The mission for parameter types
8
+ class TypeOverloadMission < Mission
9
+ # @rbs generation: Generation
10
+ # @rbs return: bool
11
+ def perform: (Generation generation) -> bool
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ class RbsInline
7
+ # The mission for parameter types
8
+ class TypeParameterMission < Mission
9
+ # @rbs generation: Generation
10
+ # @rbs return: bool
11
+ def perform: (Generation generation) -> bool
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ class RbsInline
7
+ # The mission for parameter types
8
+ class TypeReturnMission < Mission
9
+ # @rbs generation: Generation
10
+ # @rbs return: bool
11
+ def perform: (Generation generation) -> bool
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/rbs_inline.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ # namespace for type with rbs-line feature
7
+ class RbsInline < Feature
8
+ # @rbs return: Array[Mission]
9
+ def create_missions: () -> Array[Mission]
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,18 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ # the class to correct `def foo: Some ...` -> `def foo ...`
7
+ class ReturnValueColonCorrector < Corrector
8
+ # @rbs return: Array[Symbol]
9
+ def correctable_error_types: () -> Array[Symbol]
10
+
11
+ # @rbs parse_error: Prism::ParseError
12
+ # @rbs generation: Generation
13
+ # @rbs return: void
14
+ def correct: (Prism::ParseError parse_error, Generation generation) -> void
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/type_attr_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ # The mission for parameter attributes
7
+ class TypeAttrMission < Mission
8
+ @modified: bool
9
+
10
+ # @rbs return: void
11
+ def initialize: () -> void
12
+
13
+ # @rbs generation: Generation
14
+ # @rbs return: bool
15
+ def perform: (Generation generation) -> bool
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ # namespace for type feature
6
+ class Type < Feature
7
+ # @rbs return: Array[Corrector]
8
+ def create_correctors: () -> Array[Corrector]
9
+
10
+ # @rbs return: Array[Mission]
11
+ def create_missions: () -> Array[Mission]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # Generated from lib/ruby_mod_kit/feature.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ # the base class of feature
5
+ class Feature
6
+ # @rbs return: Array[Corrector]
7
+ def create_correctors: () -> Array[Corrector]
8
+
9
+ # @rbs return: Array[Mission]
10
+ def create_missions: () -> Array[Mission]
11
+ end
12
+ end
@@ -3,13 +3,11 @@
3
3
  module RubyModKit
4
4
  # The class of transpiler generation.
5
5
  class Generation
6
- @parse_result: Prism::ParseResult
7
-
8
6
  @script: String
9
7
 
10
8
  @missions: Array[Mission]
11
9
 
12
- @memo: Memo
10
+ @memo_pad: MemoPad
13
11
 
14
12
  @root_node: Node::ProgramNode
15
13
 
@@ -19,17 +17,40 @@ module RubyModKit
19
17
 
20
18
  @filename: String | nil
21
19
 
22
- attr_reader parse_result: Prism::ParseResult
20
+ @corrector_manager: CorrectorManager
21
+
22
+ @features: Array[Feature]
23
+
24
+ @config: Config
25
+
26
+ @errors: Array[Prism::ParseError]
27
+
28
+ @lines: Array[String]
29
+
30
+ @offsets: Array[Integer]
23
31
 
24
32
  attr_reader script: String
25
33
 
34
+ attr_reader memo_pad: MemoPad
35
+
36
+ attr_reader root_node: Node::ProgramNode
37
+
38
+ attr_reader errors: Array[Prism::ParseError]
39
+
40
+ attr_reader lines: Array[String]
41
+
42
+ attr_reader offsets: Array[Integer]
43
+
26
44
  # @rbs script: String
27
45
  # @rbs missions: Array[Mission]
28
- # @rbs memo: Memo
46
+ # @rbs memo_pad: MemoPad | nil
29
47
  # @rbs generation_num: Integer
48
+ # @rbs config: Config | nil
30
49
  # @rbs filename: String | nil
50
+ # @rbs corrector_manager: CorrectorManager | nil
51
+ # @rbs features: Array[Feature] | nil
31
52
  # @rbs return: void
32
- def initialize: (String script, ?missions: Array[Mission], ?memo: Memo, ?generation_num: Integer, ?filename: String | nil) -> void
53
+ 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
33
54
 
34
55
  # @rbs return: void
35
56
  def init_missions: () -> void
@@ -43,9 +64,6 @@ module RubyModKit
43
64
  # @rbs return: String
44
65
  def name: () -> String
45
66
 
46
- # @rbs return: void
47
- def resolve: () -> void
48
-
49
67
  # @rbs return: bool
50
68
  def completed?: () -> bool
51
69
 
@@ -59,20 +77,24 @@ module RubyModKit
59
77
  # @rbs return: String
60
78
  def []: (Range[Integer] src_range) -> String
61
79
 
80
+ # @rbs offset: Integer
81
+ # @rbs return: String
82
+ def line_by_offset: (Integer offset) -> String
83
+
62
84
  # @rbs (Integer) -> String
63
- # | (Node) -> String
85
+ # | (Node::BaseNode) -> String
64
86
  # | (Prism::ParseError) -> String
65
87
  def line: (Integer) -> String
66
- | (Node) -> String
88
+ | (Node::BaseNode) -> String
67
89
  | (Prism::ParseError) -> String
68
90
 
69
91
  # @rbs line_num: Integer
70
92
  # @rbs return: String
71
93
  def line__overload0: (Integer line_num) -> String
72
94
 
73
- # @rbs node: Node
95
+ # @rbs node: Node::BaseNode
74
96
  # @rbs return: String
75
- def line__overload1: (Node node) -> String
97
+ def line__overload1: (Node::BaseNode node) -> String
76
98
 
77
99
  # @rbs parse_error: Prism::ParseError
78
100
  # @rbs return: String
@@ -91,11 +113,20 @@ module RubyModKit
91
113
  # @rbs return: Integer | nil
92
114
  def src_offset__overload1: (Prism::ParseError parse_error) -> (Integer | nil)
93
115
 
116
+ # @rbs return: void
117
+ def perform_corrector: () -> void
118
+
94
119
  # @rbs return: void
95
120
  def perform_missions: () -> void
96
121
 
97
122
  # @rbs mission: Mission
98
123
  # @rbs return: void
99
124
  def add_mission: (Mission mission) -> void
125
+
126
+ # @rbs src: String
127
+ # @rbs filename: String | nil
128
+ # @rbs config: Config | nil
129
+ # @rbs return: Generation
130
+ def self.resolve: (String src, ?filename: String | nil, ?config: Config | nil) -> Generation
100
131
  end
101
132
  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,31 @@
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
 
17
+ @visibility: nil | Symbol
18
+
13
19
  attr_reader type: nil | String
14
20
 
15
21
  attr_reader attr_kind: nil | Symbol
16
22
 
23
+ attr_accessor offset: nil | Integer
24
+
25
+ attr_accessor indent: String
26
+
27
+ attr_accessor visibility: nil | Symbol
28
+
17
29
  # @rbs name: Symbol
18
30
  # @rbs return: void
19
31
  def initialize: (Symbol name) -> void
@@ -25,6 +37,10 @@ module RubyModKit
25
37
  # @rbs kind: Symbol | String
26
38
  # @rbs return: void
27
39
  def attr_kind=: (Symbol | String kind) -> void
40
+
41
+ # @rbs offset_diff: OffsetDiff
42
+ # @rbs return: void
43
+ def succ: (OffsetDiff offset_diff) -> void
28
44
  end
29
45
  end
30
46
  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,34 @@
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
+ @offset: Integer
14
+
15
+ attr_reader name: Symbol
16
+
17
+ attr_reader overload_types: [ [ Array[String], String ] ]
18
+
19
+ # @rbs offset: Integer
20
+ # @rbs name: Symbol
21
+ # @rbs return: void
22
+ def initialize: (Integer offset, Symbol name) -> void
23
+
24
+ # @rbs root_node: Node::ProgramNode
25
+ # @rbs return: Integer
26
+ def correct_offset: (Node::ProgramNode root_node) -> Integer
27
+
28
+ # @rbs parameter_types: Array[String]
29
+ # @rbs return_value_type: String
30
+ # @rbs return: void
31
+ def add_overload_type: (Array[String] parameter_types, String return_value_type) -> void
32
+ end
33
+ end
34
+ 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
@@ -0,0 +1,50 @@
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
+ @flags: Hash[Symbol, bool]
15
+
16
+ attr_reader def_parents_memo: Hash[Integer, Memo::DefParentMemo]
17
+
18
+ attr_reader methods_memo: Hash[Integer, Memo::MethodMemo]
19
+
20
+ attr_reader parameters_memo: Hash[Integer, Memo::ParameterMemo]
21
+
22
+ attr_reader overloads_memo: Hash[Integer, Memo::OverloadMemo]
23
+
24
+ attr_accessor flags: Hash[Symbol, bool]
25
+
26
+ # @rbs return: void
27
+ def initialize: () -> void
28
+
29
+ # @rbs offset_diff: OffsetDiff
30
+ # @rbs return: void
31
+ def succ: (OffsetDiff offset_diff) -> void
32
+
33
+ # @rbs def_parent_node: Node::DefParentNode
34
+ # @rbs return: Memo::DefParentMemo
35
+ def def_parent_memo: (Node::DefParentNode def_parent_node) -> Memo::DefParentMemo
36
+
37
+ # @rbs def_node: Node::DefNode
38
+ # @rbs return: Memo::MethodMemo
39
+ def method_memo: (Node::DefNode def_node) -> Memo::MethodMemo
40
+
41
+ # @rbs offset: Integer
42
+ # @rbs name: Symbol
43
+ # @rbs return: Memo::OverloadMemo
44
+ def overload_memo: (Integer offset, Symbol name) -> Memo::OverloadMemo
45
+
46
+ # @rbs node: Node::BaseNode
47
+ # @rbs return: Memo::ParameterMemo
48
+ def parameter_memo: (Node::BaseNode node) -> Memo::ParameterMemo
49
+ end
50
+ end
@@ -1,22 +1,11 @@
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
16
- # @rbs _parse_result: Prism::ParseResult
17
- # @rbs _memo: Memo
18
7
  # @rbs return: void
19
- def perform: (untyped _generation, untyped _root_node, untyped _parse_result, untyped _memo) -> void
8
+ def perform: (untyped _generation) -> void
20
9
 
21
10
  # @rbs offset_diff: OffsetDiff
22
11
  # @rbs return: void
@@ -0,0 +1,75 @@
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 prev: Node::BaseNode | nil
16
+
17
+ # @rbs return: Prism::Location
18
+ def location: () -> Prism::Location
19
+
20
+ # @rbs return: Array[Node::BaseNode]
21
+ def children: () -> Array[Node::BaseNode]
22
+
23
+ # @rbs prism_node: Prism::Node
24
+ # @rbs prev: Node::BaseNode | nil
25
+ # @rbs return: Node::BaseNode
26
+ def wrap: (Prism::Node prism_node, ?prev: Node::BaseNode | nil) -> Node::BaseNode
27
+
28
+ # @rbs return: Array[Node::BaseNode]
29
+ def ancestors: () -> Array[Node::BaseNode]
30
+
31
+ # @rbs return: nil | BaseNode
32
+ def parent: () -> (nil | BaseNode)
33
+
34
+ # @rbs return: Symbol
35
+ def name: () -> Symbol
36
+
37
+ # @rbs offset: Integer
38
+ # @rbs return: Node::BaseNode | nil
39
+ def node_at: (Integer offset) -> (Node::BaseNode | nil)
40
+
41
+ # @rbs offset: Integer
42
+ # @rbs return: Node::StatementsNode | nil
43
+ def statements_node_at: (Integer offset) -> (Node::StatementsNode | nil)
44
+
45
+ # @rbs offset: Integer
46
+ # @rbs return: Node::DefNode | nil
47
+ def def_node_at: (Integer offset) -> (Node::DefNode | nil)
48
+
49
+ # @rbs offset: Integer
50
+ # @rbs return: Node::ParameterNode | nil
51
+ def parameter_node_at: (Integer offset) -> (Node::ParameterNode | nil)
52
+
53
+ # @rbs offset: Integer
54
+ # @rbs return: Node::DefParentNode | nil
55
+ def def_parent_node_at: (Integer offset) -> (Node::DefParentNode | nil)
56
+
57
+ # @rbs offset: Integer
58
+ # @rbs return: bool
59
+ def include?: (Integer offset) -> bool
60
+
61
+ # @rbs return: Integer
62
+ def offset: () -> Integer
63
+
64
+ # @rbs return: String
65
+ def inspect: () -> String
66
+
67
+ private
68
+
69
+ # :nocov:
70
+ # This is just for interface definition, must not be called
71
+ # @rbs return: Prism::Node & Prism::_Node
72
+ def prism_node: () -> (Prism::Node & Prism::_Node)
73
+ end
74
+ end
75
+ 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