@@ -11,6 +11,7 @@ module RuboCop
11
11
class NodePattern
12
12
module Macros
13
13
def def_node_matcher : (Symbol, String) -> void
14
+ def def_node_search : (Symbol, String) -> void
14
15
end
15
16
16
17
class Compiler
@@ -39,18 +40,55 @@ module RuboCop
39
40
40
41
module MethodDispatchNode
41
42
include MethodIdentifierPredicates
43
+ def receiver : () -> Node?
42
44
def method_name : () -> Symbol
45
+ def selector : () -> Parser::Source::Range
46
+ def block_node : () -> BlockNode?
47
+ def macro? : () -> bool
48
+ def access_modifier? : () -> bool
49
+ def bare_access_modifier? : () -> bool
50
+ def non_bare_access_modifier? : () -> bool
51
+ def special_modifier? : () -> bool
52
+ def command? : (Symbol name) -> bool
53
+ def setter_method? : () -> bool
54
+ alias assignment? setter_method?
55
+ def dot? : () -> bool
56
+ def double_colon? : () -> bool
57
+ def safe_navigation? : () -> bool
58
+ def self_receiver? : () -> bool
59
+ def const_receiver? : () -> bool
60
+ def implicit_call? : () -> bool
61
+ def block_literal? : () -> bool
62
+ def arithmetic_operation? : () -> bool
63
+ def def_modifier? : (?Node node) -> bool
64
+ def def_modifier : (?Node node) -> Node?
65
+ def lambda? : () -> bool
66
+ def lambda_literal? : () -> bool
67
+ def unary_operation? : () -> bool
68
+ def binary_operation? : () -> bool
43
69
end
44
70
45
71
module MethodIdentifierPredicates
46
72
def method? : ((Symbol | String) name) -> bool
47
73
end
48
74
49
75
module ParameterizedNode
76
+ def parenthesized? : () -> bool
50
77
def first_argument : () -> Node?
51
- def arguments : () -> Array[Node]
78
+ def last_argument : () -> Node?
79
+ def arguments? : () -> bool
80
+ def splat_argument? : () -> bool
81
+ alias rest_argument? splat_argument?
82
+ def block_argument? : () -> bool
83
+
84
+ module WrappedArguments
85
+ include ParameterizedNode
86
+ def arguments : () -> Array[Node]
87
+ end
88
+
52
89
module RestArguments
53
90
include ParameterizedNode
91
+ def arguments : () -> Array[Node]
54
92
end
55
93
end
56
94
@@ -205,10 +243,20 @@ module RuboCop
205
243
def each_ancestor : (*Symbol types) { (Node) -> void } -> self
206
244
| (*Symbol types) -> ::Enumerator[Node, self ]
207
245
def source_range : () -> Parser::Source::Range
246
+ def sibling_index : () -> (Integer | nil )
247
+ def right_sibling : () -> (Node | nil )
248
+ def left_sibling : () -> (Node | nil )
249
+ def left_siblings : () -> Array[Node]
250
+ def right_siblings : () -> Array[Node]
208
251
end
209
252
210
253
class ArrayNode < Node
211
254
alias values children
255
+ def each_value : () { (Node) -> void } -> self
256
+ | () -> ::Enumerator[Node, self ]
257
+ def square_brackets? : () -> bool
258
+ def percent_literal? : (?Symbol type ) -> bool
259
+ def bracketed? : () -> bool
212
260
end
213
261
214
262
class BlockNode < Node
@@ -278,7 +326,7 @@ module RuboCop
278
326
279
327
class StrNode < Node
280
328
include BasicLiteralNode
281
- def value : () -> String
329
+ def value : () -> ( String | StrNode)
282
330
end
283
331
284
332
class SymbolNode < Node
0 commit comments