ruby_mod_kit 0.0.2 → 0.0.3

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