ruby_mod_kit 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +89 -0
- data/lib/ruby_mod_kit/core_ext/eval.rb +6 -10
- data/lib/ruby_mod_kit/corrector.rb +3 -0
- data/lib/ruby_mod_kit/corrector_manager.rb +10 -6
- data/lib/ruby_mod_kit/feature/instance_variable_parameter/instance_variable_parameter_mission.rb +1 -1
- data/lib/ruby_mod_kit/feature/overload/overload_mission.rb +2 -3
- data/lib/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rb +56 -0
- data/lib/ruby_mod_kit/feature/type/check/arguments.rb +23 -0
- data/lib/ruby_mod_kit/feature/type/instance_variable_colon_corrector.rb +9 -4
- data/lib/ruby_mod_kit/feature/type/parameter_arrow_corrector.rb +27 -5
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_instance_variable_mission.rb +3 -2
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_overload_mission.rb +1 -2
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_parameter_mission.rb +5 -4
- data/lib/ruby_mod_kit/feature/type/rbs_inline/type_return_mission.rb +1 -1
- data/lib/ruby_mod_kit/feature/type/return_value_colon_corrector.rb +1 -0
- data/lib/ruby_mod_kit/feature/type/type_attr_mission.rb +3 -9
- data/lib/ruby_mod_kit/feature/type/yard/type_parameter_mission.rb +35 -0
- data/lib/ruby_mod_kit/feature/type/yard/type_return_mission.rb +30 -0
- data/lib/ruby_mod_kit/feature/type/yard.rb +31 -0
- data/lib/ruby_mod_kit/generation.rb +55 -20
- data/lib/ruby_mod_kit/memo/ivar_memo.rb +2 -0
- data/lib/ruby_mod_kit/memo/parameter_memo.rb +4 -2
- data/lib/ruby_mod_kit/memo_pad.rb +6 -0
- data/lib/ruby_mod_kit/mission.rb +0 -4
- data/lib/ruby_mod_kit/node/base_node.rb +11 -2
- data/lib/ruby_mod_kit/node/begin_node.rb +31 -0
- data/lib/ruby_mod_kit/node/parameter_node.rb +2 -2
- data/lib/ruby_mod_kit/node/wrap.rb +3 -1
- data/lib/ruby_mod_kit/node.rb +1 -0
- data/lib/ruby_mod_kit/version.rb +1 -1
- data/lib/ruby_mod_kit.rb +0 -5
- data/sig/generated/ruby_mod_kit/core_ext/eval.rbs +4 -2
- data/sig/generated/ruby_mod_kit/corrector.rbs +3 -0
- data/sig/generated/ruby_mod_kit/corrector_manager.rbs +1 -1
- data/sig/generated/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rbs +16 -0
- data/sig/generated/ruby_mod_kit/feature/type/check/arguments.rbs +15 -0
- data/sig/generated/ruby_mod_kit/feature/type/parameter_arrow_corrector.rbs +5 -0
- data/sig/generated/ruby_mod_kit/feature/type/yard/type_parameter_mission.rbs +16 -0
- data/sig/generated/ruby_mod_kit/feature/type/yard/type_return_mission.rbs +16 -0
- data/sig/generated/ruby_mod_kit/feature/type/yard.rbs +17 -0
- data/sig/generated/ruby_mod_kit/generation.rbs +34 -10
- data/sig/generated/ruby_mod_kit/memo/ivar_memo.rbs +4 -0
- data/sig/generated/ruby_mod_kit/memo/parameter_memo.rbs +6 -2
- data/sig/generated/ruby_mod_kit/memo_pad.rbs +4 -0
- data/sig/generated/ruby_mod_kit/mission.rbs +0 -4
- data/sig/generated/ruby_mod_kit/node/base_node.rbs +5 -1
- data/sig/generated/ruby_mod_kit/node/begin_node.rbs +26 -0
- data/sig/generated/ruby_mod_kit/node/parameter_node.rbs +1 -1
- metadata +14 -2
@@ -18,6 +18,7 @@ module RubyModKit
|
|
18
18
|
# @rbs @errors: Array[Prism::ParseError]
|
19
19
|
# @rbs @lines: Array[String]
|
20
20
|
# @rbs @offsets: Array[Integer]
|
21
|
+
# @rbs @source: String
|
21
22
|
|
22
23
|
attr_reader :script #: String
|
23
24
|
attr_reader :memo_pad #: MemoPad
|
@@ -51,6 +52,7 @@ module RubyModKit
|
|
51
52
|
@errors = parse_result.errors
|
52
53
|
@lines = parse_result.source.lines
|
53
54
|
@offsets = parse_result.source.offsets
|
55
|
+
@source = @script.dup
|
54
56
|
@root_node = Node::ProgramNode.new(parse_result.value)
|
55
57
|
init_missions
|
56
58
|
end
|
@@ -78,9 +80,6 @@ module RubyModKit
|
|
78
80
|
else
|
79
81
|
perform_corrector
|
80
82
|
end
|
81
|
-
@missions.each do |mission|
|
82
|
-
mission.succ(@offset_diff)
|
83
|
-
end
|
84
83
|
@memo_pad.succ(@offset_diff)
|
85
84
|
|
86
85
|
Generation.new(
|
@@ -115,18 +114,10 @@ module RubyModKit
|
|
115
114
|
@offset_diff.insert(src_offset, diff)
|
116
115
|
end
|
117
116
|
|
118
|
-
# @rbs src_range: Range[Integer]
|
117
|
+
# @rbs src_range: Range[Integer | nil]
|
119
118
|
# @rbs return: String
|
120
119
|
def [](src_range)
|
121
|
-
|
122
|
-
@script[dst_range] || raise(RubyModKit::Error, "Invalid range")
|
123
|
-
end
|
124
|
-
|
125
|
-
# @rbs offset: Integer
|
126
|
-
# @rbs return: String
|
127
|
-
def line_by_offset(offset)
|
128
|
-
offset = @offset_diff[offset]
|
129
|
-
(@script.match(/.*\n?/, offset) && Regexp.last_match(0)) || raise(RubyModKit::Error)
|
120
|
+
@source[src_range] || raise(RubyModKit::Error, "Invalid range")
|
130
121
|
end
|
131
122
|
|
132
123
|
# @rbs (Integer) -> String
|
@@ -146,7 +137,7 @@ module RubyModKit
|
|
146
137
|
# @rbs line_num: Integer
|
147
138
|
# @rbs return: String
|
148
139
|
def line__overload0(line_num)
|
149
|
-
|
140
|
+
@lines[line_num] || raise(RubyModKit::Error)
|
150
141
|
end
|
151
142
|
|
152
143
|
# @rbs node: Node::BaseNode
|
@@ -159,29 +150,73 @@ module RubyModKit
|
|
159
150
|
# @rbs return: String
|
160
151
|
def line__overload2(parse_error)
|
161
152
|
line(parse_error.location.start_line - 1)
|
153
|
+
rescue RubyModKit::Error
|
154
|
+
""
|
162
155
|
end
|
163
156
|
|
164
157
|
# @rbs (Integer) -> (Integer | nil)
|
158
|
+
# | (Node::BaseNode) -> (Integer | nil)
|
159
|
+
# | (Node::BaseNode, Integer) -> (Integer | nil)
|
165
160
|
# | (Prism::ParseError) -> (Integer | nil)
|
166
|
-
def
|
161
|
+
def line_offset(*args)
|
167
162
|
case args
|
168
163
|
in [Integer]
|
169
|
-
|
164
|
+
line_offset__overload0(*args)
|
165
|
+
in [Node::BaseNode]
|
166
|
+
line_offset__overload1(*args)
|
167
|
+
in [Node::BaseNode, Integer]
|
168
|
+
line_offset__overload2(*args)
|
170
169
|
in [Prism::ParseError]
|
171
|
-
|
170
|
+
line_offset__overload3(*args)
|
172
171
|
end
|
173
172
|
end
|
174
173
|
|
175
174
|
# @rbs line_num: Integer
|
176
175
|
# @rbs return: Integer | nil
|
177
|
-
def
|
176
|
+
def line_offset__overload0(line_num)
|
178
177
|
@offsets[line_num]
|
179
178
|
end
|
180
179
|
|
180
|
+
# @rbs node: Node::BaseNode
|
181
|
+
# @rbs return: Integer | nil
|
182
|
+
def line_offset__overload1(node)
|
183
|
+
line_offset(node, 0)
|
184
|
+
end
|
185
|
+
|
186
|
+
# @rbs node: Node::BaseNode
|
187
|
+
# @rbs line_offset: Integer
|
188
|
+
# @rbs return: Integer | nil
|
189
|
+
def line_offset__overload2(node, line_offset)
|
190
|
+
line_offset(node.location.start_line - 1 + line_offset)
|
191
|
+
end
|
192
|
+
|
181
193
|
# @rbs parse_error: Prism::ParseError
|
182
194
|
# @rbs return: Integer | nil
|
183
|
-
def
|
184
|
-
|
195
|
+
def line_offset__overload3(parse_error)
|
196
|
+
line_offset(parse_error.location.start_line - 1)
|
197
|
+
end
|
198
|
+
|
199
|
+
# @rbs (Integer) -> String
|
200
|
+
# | (Node::BaseNode) -> String
|
201
|
+
def line_indent(*args)
|
202
|
+
case args
|
203
|
+
in [Integer]
|
204
|
+
line_indent__overload0(*args)
|
205
|
+
in [Node::BaseNode]
|
206
|
+
line_indent__overload1(*args)
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
# @rbs line_num: Integer
|
211
|
+
# @rbs return: String
|
212
|
+
def line_indent__overload0(line_num)
|
213
|
+
line(line_num)[/\A[ \t]*/] || ""
|
214
|
+
end
|
215
|
+
|
216
|
+
# @rbs node: Node::BaseNode
|
217
|
+
# @rbs return: String
|
218
|
+
def line_indent__overload1(node)
|
219
|
+
line_indent(node.location.start_line - 1)
|
185
220
|
end
|
186
221
|
|
187
222
|
# @rbs return: void
|
@@ -12,12 +12,14 @@ module RubyModKit
|
|
12
12
|
# @rbs @indent: String
|
13
13
|
# @rbs @name: Symbol
|
14
14
|
# @rbs @visibility: nil | Symbol
|
15
|
+
# @rbs @separator: String
|
15
16
|
|
16
17
|
attr_reader :type #: nil | String
|
17
18
|
attr_reader :attr_kind #: nil | Symbol
|
18
19
|
attr_accessor :offset #: nil | Integer
|
19
20
|
attr_accessor :indent #: String
|
20
21
|
attr_accessor :visibility #: nil | Symbol
|
22
|
+
attr_accessor :separator #: String
|
21
23
|
|
22
24
|
# @rbs name: Symbol
|
23
25
|
# @rbs return: void
|
@@ -8,11 +8,13 @@ module RubyModKit
|
|
8
8
|
class ParameterMemo < OffsetMemo
|
9
9
|
# @rbs @type: String
|
10
10
|
# @rbs @ivar_parameter: bool
|
11
|
-
# @rbs @qualifier: String
|
11
|
+
# @rbs @qualifier: String | nil
|
12
|
+
# @rbs @name: Symbol
|
12
13
|
|
13
14
|
attr_reader :type #: String
|
14
15
|
attr_accessor :ivar_parameter #: bool
|
15
|
-
attr_accessor :qualifier #: String
|
16
|
+
attr_accessor :qualifier #: String | nil
|
17
|
+
attr_accessor :name #: Symbol
|
16
18
|
|
17
19
|
UNTYPED = "untyped"
|
18
20
|
|
data/lib/ruby_mod_kit/mission.rb
CHANGED
@@ -93,10 +93,14 @@ module RubyModKit
|
|
93
93
|
end
|
94
94
|
|
95
95
|
# @rbs offset: Integer
|
96
|
+
# @rbs allowed: Array[Class] | nil
|
96
97
|
# @rbs return: Node::DefParentNode | nil
|
97
|
-
def def_parent_node_at(offset)
|
98
|
+
def def_parent_node_at(offset, allowed: nil)
|
98
99
|
node = node_at(offset) || return
|
99
|
-
[node, *node.ancestors].each
|
100
|
+
[node, *node.ancestors].each do |ancestor_node|
|
101
|
+
return ancestor_node if ancestor_node.is_a?(Node::DefParentNode)
|
102
|
+
return nil if allowed && !allowed.include?(ancestor_node.class)
|
103
|
+
end
|
100
104
|
nil
|
101
105
|
end
|
102
106
|
|
@@ -111,6 +115,11 @@ module RubyModKit
|
|
111
115
|
location.start_offset
|
112
116
|
end
|
113
117
|
|
118
|
+
# @rbs return: String
|
119
|
+
def slice
|
120
|
+
location.slice
|
121
|
+
end
|
122
|
+
|
114
123
|
# @rbs return: String
|
115
124
|
def inspect
|
116
125
|
str = +"#<#{self.class} "
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rbs_inline: enabled
|
4
|
+
|
5
|
+
module RubyModKit
|
6
|
+
module Node
|
7
|
+
# Transpiler program node
|
8
|
+
class BeginNode < Node::BaseNode
|
9
|
+
# @rbs @prism_node: Prism::BeginNode
|
10
|
+
# @rbs @parent: Node::BaseNode
|
11
|
+
# @rbs @prev: Node::BaseNode | nil
|
12
|
+
|
13
|
+
private attr_reader :prism_node #: Prism::BeginNode
|
14
|
+
attr_reader :parent #: Node::BaseNode
|
15
|
+
attr_reader :prev #: Node::BaseNode | nil
|
16
|
+
|
17
|
+
# @rbs prism_node: Prism::BeginNode
|
18
|
+
# @rbs parent: Node::BaseNode
|
19
|
+
# @rbs prev: Node::BaseNode | nil
|
20
|
+
# @rbs return: void
|
21
|
+
def initialize(prism_node, parent:, prev: nil)
|
22
|
+
@prism_node = prism_node
|
23
|
+
@parent = parent
|
24
|
+
@prev = prev
|
25
|
+
raise RubyModKit::Error unless prism_node.is_a?(Prism::BeginNode)
|
26
|
+
|
27
|
+
super()
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -13,7 +13,7 @@ module RubyModKit
|
|
13
13
|
# @rbs!
|
14
14
|
# type prism_node = Prism::RequiredParameterNode | Prism::OptionalKeywordParameterNode
|
15
15
|
# | Prism::OptionalParameterNode | Prism::RequiredKeywordParameterNode
|
16
|
-
# | Prism::RestParameterNode
|
16
|
+
# | Prism::RestParameterNode | Prism::BlockParameterNode
|
17
17
|
|
18
18
|
private attr_reader :prism_node #: prism_node
|
19
19
|
attr_reader :parent #: Node::BaseNode
|
@@ -30,7 +30,7 @@ module RubyModKit
|
|
30
30
|
case prism_node
|
31
31
|
when Prism::RequiredParameterNode, Prism::OptionalKeywordParameterNode,
|
32
32
|
Prism::OptionalParameterNode, Prism::RequiredKeywordParameterNode,
|
33
|
-
Prism::RestParameterNode
|
33
|
+
Prism::RestParameterNode, Prism::BlockParameterNode
|
34
34
|
super()
|
35
35
|
else
|
36
36
|
raise RubyModKit::Error, "unexpected prism node #{prism_node.class}"
|
@@ -20,6 +20,8 @@ module RubyModKit
|
|
20
20
|
# @rbs return: Node::BaseNode
|
21
21
|
def wrap(prism_node, parent:, prev: nil)
|
22
22
|
case prism_node
|
23
|
+
when Prism::BeginNode
|
24
|
+
Node::BeginNode.new(prism_node, parent: parent, prev: prev)
|
23
25
|
when Prism::CallNode
|
24
26
|
Node::CallNode.new(prism_node, parent: parent, prev: prev)
|
25
27
|
when Prism::DefNode
|
@@ -28,7 +30,7 @@ module RubyModKit
|
|
28
30
|
Node::DefParentNode.new(prism_node, parent: parent, prev: prev)
|
29
31
|
when Prism::RequiredParameterNode, Prism::OptionalKeywordParameterNode,
|
30
32
|
Prism::OptionalParameterNode, Prism::RequiredKeywordParameterNode,
|
31
|
-
Prism::RestParameterNode
|
33
|
+
Prism::RestParameterNode, Prism::BlockParameterNode
|
32
34
|
Node::ParameterNode.new(prism_node, parent: parent, prev: prev)
|
33
35
|
when Prism::StatementsNode
|
34
36
|
Node::StatementsNode.new(prism_node, parent: parent, prev: prev)
|
data/lib/ruby_mod_kit/node.rb
CHANGED
data/lib/ruby_mod_kit/version.rb
CHANGED
data/lib/ruby_mod_kit.rb
CHANGED
@@ -89,8 +89,3 @@ require_relative "ruby_mod_kit/memo_pad"
|
|
89
89
|
require_relative "ruby_mod_kit/mission"
|
90
90
|
require_relative "ruby_mod_kit/node"
|
91
91
|
require_relative "ruby_mod_kit/offset_diff"
|
92
|
-
|
93
|
-
require_relative "ruby_mod_kit/feature/instance_variable_parameter"
|
94
|
-
require_relative "ruby_mod_kit/feature/overload"
|
95
|
-
require_relative "ruby_mod_kit/feature/type"
|
96
|
-
require_relative "ruby_mod_kit/feature/type/rbs_inline"
|
@@ -6,10 +6,12 @@ module RubyModKit
|
|
6
6
|
# the extension for eval
|
7
7
|
module Eval
|
8
8
|
# @rbs expr: String
|
9
|
-
# @rbs
|
9
|
+
# @rbs binding: Binding
|
10
|
+
# @rbs fname: String
|
11
|
+
# @rbs lineno: Integer
|
10
12
|
# @rbs transpile: bool
|
11
13
|
# @rbs return: Object
|
12
|
-
def self?.eval: (String expr,
|
14
|
+
def self?.eval: (String expr, ?Binding binding, ?String fname, ?Integer lineno, ?transpile: bool) -> Object
|
13
15
|
end
|
14
16
|
end
|
15
17
|
|
data/sig/generated/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rbs
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/check/arguments/add_arguments_checker_mission.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RubyModKit
|
4
|
+
class Feature
|
5
|
+
class Type
|
6
|
+
module Check
|
7
|
+
# The mission to add magic comment
|
8
|
+
class AddArgumentsCheckerMission < 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,15 @@
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/check/arguments.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RubyModKit
|
4
|
+
class Feature
|
5
|
+
class Type
|
6
|
+
module Check
|
7
|
+
# namespace for arguments type checker
|
8
|
+
class Arguments < Feature
|
9
|
+
# @rbs return: Array[Mission]
|
10
|
+
def create_missions: () -> Array[Mission]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -5,9 +5,14 @@ module RubyModKit
|
|
5
5
|
class Type
|
6
6
|
# the class to correct `def foo(Bar => bar, *Buz => buz)` -> `def foo(bar, *buz)`
|
7
7
|
class ParameterArrowCorrector < Corrector
|
8
|
+
@last_parameter_offsets: Set[Integer]
|
9
|
+
|
8
10
|
# @rbs return: Array[Symbol]
|
9
11
|
def correctable_error_types: () -> Array[Symbol]
|
10
12
|
|
13
|
+
# @rbs return: void
|
14
|
+
def setup: () -> void
|
15
|
+
|
11
16
|
# @rbs parse_error: Prism::ParseError
|
12
17
|
# @rbs generation: Generation
|
13
18
|
# @rbs return: void
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/yard/type_parameter_mission.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RubyModKit
|
4
|
+
class Feature
|
5
|
+
class Type
|
6
|
+
class Yard
|
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/yard/type_return_mission.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RubyModKit
|
4
|
+
class Feature
|
5
|
+
class Type
|
6
|
+
class Yard
|
7
|
+
# The mission for return value type
|
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,17 @@
|
|
1
|
+
# Generated from lib/ruby_mod_kit/feature/type/yard.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RubyModKit
|
4
|
+
class Feature
|
5
|
+
class Type
|
6
|
+
# namespace for type with rbs-line feature
|
7
|
+
class Yard < Feature
|
8
|
+
# @rbs return: Array[Mission]
|
9
|
+
def create_missions: () -> Array[Mission]
|
10
|
+
|
11
|
+
# @rbs type: String
|
12
|
+
# @rbs return: String
|
13
|
+
def self.rbs2yard: (String type) -> String
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -29,6 +29,8 @@ module RubyModKit
|
|
29
29
|
|
30
30
|
@offsets: Array[Integer]
|
31
31
|
|
32
|
+
@source: String
|
33
|
+
|
32
34
|
attr_reader script: String
|
33
35
|
|
34
36
|
attr_reader memo_pad: MemoPad
|
@@ -73,13 +75,9 @@ module RubyModKit
|
|
73
75
|
# @rbs return: String
|
74
76
|
def []=: (Integer src_offset, Integer length, String str) -> String
|
75
77
|
|
76
|
-
# @rbs src_range: Range[Integer]
|
77
|
-
# @rbs return: String
|
78
|
-
def []: (Range[Integer] src_range) -> String
|
79
|
-
|
80
|
-
# @rbs offset: Integer
|
78
|
+
# @rbs src_range: Range[Integer | nil]
|
81
79
|
# @rbs return: String
|
82
|
-
def
|
80
|
+
def []: (Range[Integer | nil] src_range) -> String
|
83
81
|
|
84
82
|
# @rbs (Integer) -> String
|
85
83
|
# | (Node::BaseNode) -> String
|
@@ -101,17 +99,43 @@ module RubyModKit
|
|
101
99
|
def line__overload2: (Prism::ParseError parse_error) -> String
|
102
100
|
|
103
101
|
# @rbs (Integer) -> (Integer | nil)
|
102
|
+
# | (Node::BaseNode) -> (Integer | nil)
|
103
|
+
# | (Node::BaseNode, Integer) -> (Integer | nil)
|
104
104
|
# | (Prism::ParseError) -> (Integer | nil)
|
105
|
-
def
|
106
|
-
|
105
|
+
def line_offset: (Integer) -> (Integer | nil)
|
106
|
+
| (Node::BaseNode) -> (Integer | nil)
|
107
|
+
| (Node::BaseNode, Integer) -> (Integer | nil)
|
108
|
+
| (Prism::ParseError) -> (Integer | nil)
|
107
109
|
|
108
110
|
# @rbs line_num: Integer
|
109
111
|
# @rbs return: Integer | nil
|
110
|
-
def
|
112
|
+
def line_offset__overload0: (Integer line_num) -> (Integer | nil)
|
113
|
+
|
114
|
+
# @rbs node: Node::BaseNode
|
115
|
+
# @rbs return: Integer | nil
|
116
|
+
def line_offset__overload1: (Node::BaseNode node) -> (Integer | nil)
|
117
|
+
|
118
|
+
# @rbs node: Node::BaseNode
|
119
|
+
# @rbs line_offset: Integer
|
120
|
+
# @rbs return: Integer | nil
|
121
|
+
def line_offset__overload2: (Node::BaseNode node, Integer line_offset) -> (Integer | nil)
|
111
122
|
|
112
123
|
# @rbs parse_error: Prism::ParseError
|
113
124
|
# @rbs return: Integer | nil
|
114
|
-
def
|
125
|
+
def line_offset__overload3: (Prism::ParseError parse_error) -> (Integer | nil)
|
126
|
+
|
127
|
+
# @rbs (Integer) -> String
|
128
|
+
# | (Node::BaseNode) -> String
|
129
|
+
def line_indent: (Integer) -> String
|
130
|
+
| (Node::BaseNode) -> String
|
131
|
+
|
132
|
+
# @rbs line_num: Integer
|
133
|
+
# @rbs return: String
|
134
|
+
def line_indent__overload0: (Integer line_num) -> String
|
135
|
+
|
136
|
+
# @rbs node: Node::BaseNode
|
137
|
+
# @rbs return: String
|
138
|
+
def line_indent__overload1: (Node::BaseNode node) -> String
|
115
139
|
|
116
140
|
# @rbs return: void
|
117
141
|
def perform_corrector: () -> void
|
@@ -16,6 +16,8 @@ module RubyModKit
|
|
16
16
|
|
17
17
|
@visibility: nil | Symbol
|
18
18
|
|
19
|
+
@separator: String
|
20
|
+
|
19
21
|
attr_reader type: nil | String
|
20
22
|
|
21
23
|
attr_reader attr_kind: nil | Symbol
|
@@ -26,6 +28,8 @@ module RubyModKit
|
|
26
28
|
|
27
29
|
attr_accessor visibility: nil | Symbol
|
28
30
|
|
31
|
+
attr_accessor separator: String
|
32
|
+
|
29
33
|
# @rbs name: Symbol
|
30
34
|
# @rbs return: void
|
31
35
|
def initialize: (Symbol name) -> void
|
@@ -8,13 +8,17 @@ module RubyModKit
|
|
8
8
|
|
9
9
|
@ivar_parameter: bool
|
10
10
|
|
11
|
-
@qualifier: String
|
11
|
+
@qualifier: String | nil
|
12
|
+
|
13
|
+
@name: Symbol
|
12
14
|
|
13
15
|
attr_reader type: String
|
14
16
|
|
15
17
|
attr_accessor ivar_parameter: bool
|
16
18
|
|
17
|
-
attr_accessor qualifier: String
|
19
|
+
attr_accessor qualifier: String | nil
|
20
|
+
|
21
|
+
attr_accessor name: Symbol
|
18
22
|
|
19
23
|
UNTYPED: ::String
|
20
24
|
|
@@ -46,5 +46,9 @@ module RubyModKit
|
|
46
46
|
# @rbs node: Node::BaseNode
|
47
47
|
# @rbs return: Memo::ParameterMemo
|
48
48
|
def parameter_memo: (Node::BaseNode node) -> Memo::ParameterMemo
|
49
|
+
|
50
|
+
# @rbs &block: (Memo::ParameterMemo) -> void
|
51
|
+
# @rbs return: void
|
52
|
+
def each_parameter_memo: () { (Memo::ParameterMemo) -> void } -> void
|
49
53
|
end
|
50
54
|
end
|
@@ -51,8 +51,9 @@ module RubyModKit
|
|
51
51
|
def parameter_node_at: (Integer offset) -> (Node::ParameterNode | nil)
|
52
52
|
|
53
53
|
# @rbs offset: Integer
|
54
|
+
# @rbs allowed: Array[Class] | nil
|
54
55
|
# @rbs return: Node::DefParentNode | nil
|
55
|
-
def def_parent_node_at: (Integer offset) -> (Node::DefParentNode | nil)
|
56
|
+
def def_parent_node_at: (Integer offset, ?allowed: Array[Class] | nil) -> (Node::DefParentNode | nil)
|
56
57
|
|
57
58
|
# @rbs offset: Integer
|
58
59
|
# @rbs return: bool
|
@@ -61,6 +62,9 @@ module RubyModKit
|
|
61
62
|
# @rbs return: Integer
|
62
63
|
def offset: () -> Integer
|
63
64
|
|
65
|
+
# @rbs return: String
|
66
|
+
def slice: () -> String
|
67
|
+
|
64
68
|
# @rbs return: String
|
65
69
|
def inspect: () -> String
|
66
70
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Generated from lib/ruby_mod_kit/node/begin_node.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RubyModKit
|
4
|
+
module Node
|
5
|
+
# Transpiler program node
|
6
|
+
class BeginNode < Node::BaseNode
|
7
|
+
@prism_node: Prism::BeginNode
|
8
|
+
|
9
|
+
@parent: Node::BaseNode
|
10
|
+
|
11
|
+
@prev: Node::BaseNode | nil
|
12
|
+
|
13
|
+
attr_reader prism_node: Prism::BeginNode
|
14
|
+
|
15
|
+
attr_reader parent: Node::BaseNode
|
16
|
+
|
17
|
+
attr_reader prev: Node::BaseNode | nil
|
18
|
+
|
19
|
+
# @rbs prism_node: Prism::BeginNode
|
20
|
+
# @rbs parent: Node::BaseNode
|
21
|
+
# @rbs prev: Node::BaseNode | nil
|
22
|
+
# @rbs return: void
|
23
|
+
def initialize: (Prism::BeginNode prism_node, parent: Node::BaseNode, ?prev: Node::BaseNode | nil) -> void
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -10,7 +10,7 @@ module RubyModKit
|
|
10
10
|
|
11
11
|
@prev: Node::BaseNode | nil
|
12
12
|
|
13
|
-
type prism_node = Prism::RequiredParameterNode | Prism::OptionalKeywordParameterNode | Prism::OptionalParameterNode | Prism::RequiredKeywordParameterNode | Prism::RestParameterNode
|
13
|
+
type prism_node = Prism::RequiredParameterNode | Prism::OptionalKeywordParameterNode | Prism::OptionalParameterNode | Prism::RequiredKeywordParameterNode | Prism::RestParameterNode | Prism::BlockParameterNode
|
14
14
|
|
15
15
|
attr_reader prism_node: prism_node
|
16
16
|
|