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
@@ -3,157 +3,12 @@
3
3
  # rbs_inline: enabled
4
4
 
5
5
  module RubyModKit
6
- # The class of transpile node.
7
- class Node
8
- # @rbs @location: Prism::Location
9
- # @rbs @children: Array[Node]
10
- # @rbs @ancestors: Array[Node]
11
-
12
- attr_reader :location #: Prism::Location
13
-
14
- # @rbs return: void
15
- def initialize
16
- @location = prism_node.location
17
- end
18
-
19
- # @rbs return: Array[Node]
20
- def children
21
- return @children if @children
22
-
23
- @children = prism_node.child_nodes.compact.map do |prism_child_node|
24
- wrap(prism_child_node)
25
- end
26
- end
27
-
28
- # @rbs prism_node: Prism::Node
29
- # @rbs return: Node
30
- def wrap(prism_node)
31
- case prism_node
32
- when Prism::SymbolNode
33
- Node::SymbolNode.new(prism_node, parent: self)
34
- when Prism::ClassNode, Prism::ModuleNode
35
- Node::DefParentNode.new(prism_node, parent: self)
36
- when Prism::DefNode
37
- Node::DefNode.new(prism_node, parent: self)
38
- when Prism::RequiredParameterNode, Prism::OptionalKeywordParameterNode,
39
- Prism::OptionalParameterNode, Prism::RequiredKeywordParameterNode,
40
- Prism::RestParameterNode
41
- Node::ParameterNode.new(prism_node, parent: self)
42
- when Prism::StatementsNode
43
- Node::StatementsNode.new(prism_node, parent: self)
44
- when Prism::CallNode
45
- Node::CallNode.new(prism_node, parent: self)
46
- else
47
- Node::UntypedNode.new(prism_node, parent: self)
48
- end
49
- end
50
-
51
- # @rbs return: Array[Node]
52
- def ancestors
53
- return @ancestors if @ancestors
54
-
55
- parent = @parent
56
- @ancestors = if parent
57
- [parent] + parent.ancestors
58
- else
59
- []
60
- end
61
- end
62
-
63
- # @rbs return: Symbol
64
- def name
65
- raise(RubyModKit::Error, "Expected ParameterNode but #{self.class}:#{prism_node.inspect}")
66
- end
67
-
68
- # @rbs offset: Integer
69
- # @rbs return: Node | nil
70
- def node_at(offset)
71
- return nil unless include?(offset)
72
-
73
- child = children.find { _1.include?(offset) }
74
- child&.node_at(offset) || self
75
- end
76
-
77
- # @rbs offset: Integer
78
- # @rbs return: Node::StatementsNode | nil
79
- def statements_node_at(offset)
80
- node = node_at(offset) || return
81
- [node, *node.ancestors].each { return _1 if _1.is_a?(Node::StatementsNode) }
82
- nil
83
- end
84
-
85
- # @rbs offset: Integer
86
- # @rbs return: Node::DefNode | nil
87
- def def_node_at(offset)
88
- node = node_at(offset) || return
89
- [node, *node.ancestors].each { return _1 if _1.is_a?(Node::DefNode) }
90
- nil
91
- end
92
-
93
- # @rbs offset: Integer
94
- # @rbs return: Node::ParameterNode | nil
95
- def parameter_node_at(offset)
96
- node = node_at(offset) || return
97
- [node, *node.ancestors].each { return _1 if _1.is_a?(Node::ParameterNode) }
98
- nil
99
- end
100
-
101
- # @rbs offset: Integer
102
- # @rbs return: Node::DefParentNode | nil
103
- def def_parent_node_at(offset)
104
- node = node_at(offset) || return
105
- [node, *node.ancestors].each { return _1 if _1.is_a?(Node::DefParentNode) }
106
- nil
107
- end
108
-
109
- # @rbs offset: Integer
110
- # @rbs return: bool
111
- def include?(offset)
112
- self.offset <= offset && offset <= prism_node.location.end_offset
113
- end
114
-
115
- # @rbs return: Prism::Node & Prism::_Node
116
- def prism_node
117
- raise RubyModKit::Error
118
- end
119
-
120
- # @rbs return: Integer
121
- def offset
122
- location.start_offset
123
- end
124
-
125
- # @rbs return: String
126
- def inspect
127
- str = +"#<#{self.class} "
128
- first = true
129
- instance_variables.each do |ivar_name|
130
- case ivar_name
131
- when :@children, :@ancestors, :@parent
132
- next
133
- end
134
-
135
- if first
136
- first = false
137
- else
138
- str << ", "
139
- end
140
- str << "#{ivar_name}="
141
- value = instance_variable_get(ivar_name)
142
- str << (
143
- case value
144
- when Prism::Node
145
- "#<#{value.class} location=#{value.location.inspect}>"
146
- else
147
- value.inspect
148
- end
149
- )
150
- end
151
- str << ">"
152
- str
153
- end
6
+ # The namespace of transpile node.
7
+ module Node
154
8
  end
155
9
  end
156
10
 
11
+ require_relative "node/base_node"
157
12
  require_relative "node/symbol_node"
158
13
  require_relative "node/def_parent_node"
159
14
  require_relative "node/call_node"
@@ -162,3 +17,4 @@ require_relative "node/parameter_node"
162
17
  require_relative "node/program_node"
163
18
  require_relative "node/statements_node"
164
19
  require_relative "node/untyped_node"
20
+ require_relative "node/wrap"
@@ -3,5 +3,5 @@
3
3
  # rbs_inline: enabled
4
4
 
5
5
  module RubyModKit
6
- VERSION = "0.0.2" #: String
6
+ VERSION = "0.0.3" #: String
7
7
  end
data/lib/ruby_mod_kit.rb CHANGED
@@ -42,7 +42,7 @@ module RubyModKit
42
42
  # @rbs filename: String | nil
43
43
  # @rbs return: String
44
44
  def transpile(src, filename: nil)
45
- Transpiler.new.transpile(src, filename: filename)
45
+ Generation.resolve(src, filename: filename).script
46
46
  end
47
47
 
48
48
  # @rbs file: String
@@ -65,13 +65,27 @@ module RubyModKit
65
65
  ARGV.replace(args)
66
66
  eval(rb_script, TOPLEVEL_BINDING) # rubocop:disable Security/Eval
67
67
  end
68
+
69
+ # @rbs type: String
70
+ # @rbs return: String
71
+ def unify_type(type)
72
+ type[/\A\(([^()]*)\)\z/, 1] || type
73
+ end
68
74
  end
69
75
  end
70
76
 
71
77
  require_relative "ruby_mod_kit/version"
72
- require_relative "ruby_mod_kit/transpiler"
78
+ require_relative "ruby_mod_kit/corrector"
79
+ require_relative "ruby_mod_kit/corrector_manager"
80
+ require_relative "ruby_mod_kit/feature"
73
81
  require_relative "ruby_mod_kit/generation"
74
82
  require_relative "ruby_mod_kit/memo"
75
- require_relative "ruby_mod_kit/node"
83
+ require_relative "ruby_mod_kit/memo_pad"
76
84
  require_relative "ruby_mod_kit/mission"
85
+ require_relative "ruby_mod_kit/node"
77
86
  require_relative "ruby_mod_kit/offset_diff"
87
+
88
+ require_relative "ruby_mod_kit/feature/instance_variable_parameter"
89
+ require_relative "ruby_mod_kit/feature/overload"
90
+ require_relative "ruby_mod_kit/feature/type"
91
+ require_relative "ruby_mod_kit/feature/type/rbs_inline"
@@ -1,5 +1,6 @@
1
1
  # Generated from lib/ruby_mod_kit/core_ext/eval.rb with RBS::Inline
2
2
 
3
+ # Define RubyMotKit.eval
3
4
  module RubyModKit
4
5
  module CoreExt
5
6
  # the extension for eval
@@ -11,4 +12,6 @@ module RubyModKit
11
12
  def self?.eval: (String expr, *Object rest, ?transpile: bool) -> Object
12
13
  end
13
14
  end
15
+
16
+ include CoreExt::Eval
14
17
  end
@@ -1,5 +1,6 @@
1
1
  # Generated from lib/ruby_mod_kit/core_ext/load.rb with RBS::Inline
2
2
 
3
+ # Define RubyMotKit.load/require
3
4
  module RubyModKit
4
5
  module CoreExt
5
6
  # the extension for load/require
@@ -8,12 +9,12 @@ module RubyModKit
8
9
 
9
10
  # @rbs path: String
10
11
  # @rbs wrap: bool
11
- # @rbs return: void
12
- def self?.load: (String path, ?bool wrap) -> void
12
+ # @rbs return: bool
13
+ def self?.load: (String path, ?bool wrap) -> bool
13
14
 
14
15
  # @rbs path: String
15
- # @rbs return: void
16
- def self?.require: (String path) -> void
16
+ # @rbs return: bool
17
+ def self?.require: (String path) -> bool
17
18
 
18
19
  # @rbs return: Array[String]
19
20
  def self.loaded_features: () -> Array[String]
@@ -27,4 +28,6 @@ module RubyModKit
27
28
  def self.require_path: (String path, ?expanded: bool) -> (String | nil)
28
29
  end
29
30
  end
31
+
32
+ include CoreExt::Load
30
33
  end
@@ -0,0 +1,16 @@
1
+ # Generated from lib/ruby_mod_kit/corrector.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ # the base class of corrector
5
+ class Corrector
6
+ # @rbs return: Array[Symbol]
7
+ def correctable_error_types: () -> Array[Symbol]
8
+
9
+ # @rbs _parse_error: Prism::ParseError
10
+ # @rbs _generation: Generation
11
+ # @rbs _root_node: Node::ProgramNode
12
+ # @rbs _memo_pad: MemoPad
13
+ # @rbs return: void
14
+ def correct: (untyped _parse_error, untyped _generation, untyped _root_node, untyped _memo_pad) -> void
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # Generated from lib/ruby_mod_kit/corrector_manager.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ # the class to manege parse error correctors
5
+ class CorrectorManager
6
+ @previous_error_messages: Array[String]
7
+
8
+ @correctors_error_map: Hash[Symbol, Array[Corrector]]
9
+
10
+ # @rbs features: Array[Feature]
11
+ # @rbs return: void
12
+ def initialize: (Array[Feature] features) -> void
13
+
14
+ # @rbs generation: Generation
15
+ # @rbs root_node: Node::ProgramNode
16
+ # @rbs parse_result: Prism::ParseResult
17
+ # @rbs memo_pad: MemoPad
18
+ # @rbs return: bool
19
+ def perform: (Generation generation, Node::ProgramNode root_node, Prism::ParseResult parse_result, MemoPad memo_pad) -> bool
20
+
21
+ # @rbs generation: Generation
22
+ # @rbs parse_result: Prism::ParseResult
23
+ # @rbs return: void
24
+ def check_prev_errors: (Generation generation, Prism::ParseResult parse_result) -> void
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # Generated from lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_corrector.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class InstanceVariableParameter
6
+ # the class to correct `def foo(@bar) ...` -> `def foo(bar) ...`
7
+ class InstanceVariableParameterCorrector < 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 root_node: Node::ProgramNode
14
+ # @rbs memo_pad: MemoPad
15
+ # @rbs return: void
16
+ def correct: (Prism::ParseError parse_error, Generation generation, Node::ProgramNode root_node, MemoPad memo_pad) -> void
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # Generated from lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class InstanceVariableParameter
6
+ # The mission for instance variable arguments
7
+ class InstanceVariableParameterMission < Mission
8
+ @assignment: String
9
+
10
+ attr_reader assignment: String
11
+
12
+ # @rbs generation: Generation
13
+ # @rbs root_node: Node::ProgramNode
14
+ # @rbs _parse_result: Prism::ParseResult
15
+ # @rbs memo_pad: MemoPad
16
+ # @rbs return: bool
17
+ def perform: (Generation generation, Node::ProgramNode root_node, untyped _parse_result, MemoPad memo_pad) -> bool
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,14 @@
1
+ # Generated from lib/ruby_mod_kit/feature/instance_variable_parameter.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ # namespace for instance_variable parameter feature
6
+ class InstanceVariableParameter < 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,24 @@
1
+ # Generated from lib/ruby_mod_kit/feature/overload/overload_mission.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Overload
6
+ # The mission for overload
7
+ class OverloadMission < Mission
8
+ @modified: bool
9
+
10
+ OVERLOAD_METHOD_MAP: Hash[Symbol, String]
11
+
12
+ # @rbs return: void
13
+ def initialize: () -> void
14
+
15
+ # @rbs generation: Generation
16
+ # @rbs root_node: Node::ProgramNode
17
+ # @rbs parse_result: Prism::ParseResult
18
+ # @rbs memo_pad: MemoPad
19
+ # @rbs return: bool
20
+ def perform: (Generation generation, Node::ProgramNode root_node, Prism::ParseResult parse_result, MemoPad memo_pad) -> bool
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # Generated from lib/ruby_mod_kit/feature/overload.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ # namespace for overload feature
6
+ class Overload < Feature
7
+ # @rbs return: Array[Mission]
8
+ def create_missions: () -> Array[Mission]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,20 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ # the class to correct `@var: Type` -> `# @rbs @var: Type`
7
+ class InstanceVariableColonCorrector < 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 root_node: Node::ProgramNode
14
+ # @rbs memo_pad: MemoPad
15
+ # @rbs return: void
16
+ def correct: (Prism::ParseError parse_error, Generation generation, Node::ProgramNode root_node, MemoPad memo_pad) -> void
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,39 @@
1
+ # Generated from lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb with RBS::Inline
2
+
3
+ module RubyModKit
4
+ class Feature
5
+ class Type
6
+ # the class to correct `def foo(Bar => bar, *Buz => buz)` -> `def foo(bar, *buz)`
7
+ class ParameterArrowCorrector < 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 root_node: Node::ProgramNode
14
+ # @rbs memo_pad: MemoPad
15
+ # @rbs return: void
16
+ def correct: (Prism::ParseError parse_error, Generation generation, Node::ProgramNode root_node, MemoPad memo_pad) -> void
17
+
18
+ # @rbs parse_error: Prism::ParseError
19
+ # @rbs generation: Generation
20
+ # @rbs root_node: Node::ProgramNode
21
+ # @rbs memo_pad: MemoPad
22
+ # @rbs return: void
23
+ def remove_arrow_before_parameter: (Prism::ParseError parse_error, Generation generation, Node::ProgramNode root_node, MemoPad memo_pad) -> void
24
+
25
+ # @rbs parse_error: Prism::ParseError
26
+ # @rbs generation: Generation
27
+ # @rbs root_node: Node::ProgramNode
28
+ # @rbs memo_pad: MemoPad
29
+ # @rbs return: void
30
+ def remove_arrow_after_quailifier: (Prism::ParseError parse_error, Generation generation, Node::ProgramNode root_node, MemoPad memo_pad) -> void
31
+
32
+ # @rbs parse_error: Prism::ParseError
33
+ # @rbs generation: Generation
34
+ # @rbs return: void
35
+ def wrap_parameter_type_for_next_parse: (Prism::ParseError parse_error, Generation generation) -> void
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,19 @@
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 root_node: Node::ProgramNode
11
+ # @rbs _parse_result: Prism::ParseResult
12
+ # @rbs memo_pad: MemoPad
13
+ # @rbs return: bool
14
+ def perform: (Generation generation, Node::ProgramNode root_node, untyped _parse_result, MemoPad memo_pad) -> bool
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
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 root_node: Node::ProgramNode
11
+ # @rbs parse_result: Prism::ParseResult
12
+ # @rbs memo_pad: MemoPad
13
+ # @rbs return: bool
14
+ def perform: (Generation generation, Node::ProgramNode root_node, Prism::ParseResult parse_result, MemoPad memo_pad) -> bool
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
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 root_node: Node::ProgramNode
11
+ # @rbs parse_result: Prism::ParseResult
12
+ # @rbs memo_pad: MemoPad
13
+ # @rbs return: bool
14
+ def perform: (Generation generation, Node::ProgramNode root_node, Prism::ParseResult parse_result, MemoPad memo_pad) -> bool
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
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 root_node: Node::ProgramNode
11
+ # @rbs parse_result: Prism::ParseResult
12
+ # @rbs memo_pad: MemoPad
13
+ # @rbs return: bool
14
+ def perform: (Generation generation, Node::ProgramNode root_node, Prism::ParseResult parse_result, MemoPad memo_pad) -> bool
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
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 root_node: Node::ProgramNode
11
+ # @rbs parse_result: Prism::ParseResult
12
+ # @rbs memo_pad: MemoPad
13
+ # @rbs return: bool
14
+ def perform: (Generation generation, Node::ProgramNode root_node, Prism::ParseResult parse_result, MemoPad memo_pad) -> bool
15
+ end
16
+ end
17
+ end
18
+ end
19
+ 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,20 @@
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 root_node: Node::ProgramNode
14
+ # @rbs memo_pad: MemoPad
15
+ # @rbs return: void
16
+ def correct: (Prism::ParseError parse_error, Generation generation, Node::ProgramNode root_node, MemoPad memo_pad) -> void
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
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
+ # @rbs return: void
9
+ def initialize: () -> void
10
+
11
+ # @rbs generation: Generation
12
+ # @rbs root_node: Node::ProgramNode
13
+ # @rbs _parse_result: Prism::ParseResult
14
+ # @rbs memo_pad: MemoPad
15
+ # @rbs return: bool
16
+ def perform: (Generation generation, Node::ProgramNode root_node, untyped _parse_result, MemoPad memo_pad) -> bool
17
+ end
18
+ end
19
+ end
20
+ 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,16 @@
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 other: Feature
7
+ # @rbs return: -1 | 0 | 1 | nil
8
+ def <=>: (Feature other) -> (-1 | 0 | 1 | nil)
9
+
10
+ # @rbs return: Array[Corrector]
11
+ def create_correctors: () -> Array[Corrector]
12
+
13
+ # @rbs return: Array[Mission]
14
+ def create_missions: () -> Array[Mission]
15
+ end
16
+ end