ruby_mod_kit 0.0.2 → 0.0.4

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