sxn 0.2.0

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 (156) hide show
  1. checksums.yaml +7 -0
  2. data/.gem_rbs_collection/addressable/2.8/.rbs_meta.yaml +9 -0
  3. data/.gem_rbs_collection/addressable/2.8/addressable.rbs +62 -0
  4. data/.gem_rbs_collection/async/2.12/.rbs_meta.yaml +9 -0
  5. data/.gem_rbs_collection/async/2.12/async.rbs +119 -0
  6. data/.gem_rbs_collection/async/2.12/kernel.rbs +5 -0
  7. data/.gem_rbs_collection/async/2.12/manifest.yaml +7 -0
  8. data/.gem_rbs_collection/bcrypt/3.1/.rbs_meta.yaml +9 -0
  9. data/.gem_rbs_collection/bcrypt/3.1/bcrypt.rbs +47 -0
  10. data/.gem_rbs_collection/bcrypt/3.1/manifest.yaml +2 -0
  11. data/.gem_rbs_collection/bigdecimal/3.1/.rbs_meta.yaml +9 -0
  12. data/.gem_rbs_collection/bigdecimal/3.1/bigdecimal-math.rbs +119 -0
  13. data/.gem_rbs_collection/bigdecimal/3.1/bigdecimal.rbs +1630 -0
  14. data/.gem_rbs_collection/concurrent-ruby/1.1/.rbs_meta.yaml +9 -0
  15. data/.gem_rbs_collection/concurrent-ruby/1.1/array.rbs +4 -0
  16. data/.gem_rbs_collection/concurrent-ruby/1.1/executor.rbs +26 -0
  17. data/.gem_rbs_collection/concurrent-ruby/1.1/hash.rbs +4 -0
  18. data/.gem_rbs_collection/concurrent-ruby/1.1/map.rbs +65 -0
  19. data/.gem_rbs_collection/concurrent-ruby/1.1/promises.rbs +249 -0
  20. data/.gem_rbs_collection/concurrent-ruby/1.1/utility/processor_counter.rbs +5 -0
  21. data/.gem_rbs_collection/diff-lcs/1.5/.rbs_meta.yaml +9 -0
  22. data/.gem_rbs_collection/diff-lcs/1.5/diff-lcs.rbs +11 -0
  23. data/.gem_rbs_collection/listen/3.9/.rbs_meta.yaml +9 -0
  24. data/.gem_rbs_collection/listen/3.9/listen.rbs +25 -0
  25. data/.gem_rbs_collection/listen/3.9/listener.rbs +24 -0
  26. data/.gem_rbs_collection/mini_mime/0.1/.rbs_meta.yaml +9 -0
  27. data/.gem_rbs_collection/mini_mime/0.1/mini_mime.rbs +14 -0
  28. data/.gem_rbs_collection/parallel/1.20/.rbs_meta.yaml +9 -0
  29. data/.gem_rbs_collection/parallel/1.20/parallel.rbs +86 -0
  30. data/.gem_rbs_collection/rake/13.0/.rbs_meta.yaml +9 -0
  31. data/.gem_rbs_collection/rake/13.0/manifest.yaml +2 -0
  32. data/.gem_rbs_collection/rake/13.0/rake.rbs +39 -0
  33. data/.gem_rbs_collection/rubocop-ast/1.46/.rbs_meta.yaml +9 -0
  34. data/.gem_rbs_collection/rubocop-ast/1.46/rubocop-ast.rbs +822 -0
  35. data/.gem_rbs_collection/sqlite3/2.0/.rbs_meta.yaml +9 -0
  36. data/.gem_rbs_collection/sqlite3/2.0/database.rbs +20 -0
  37. data/.gem_rbs_collection/sqlite3/2.0/pragmas.rbs +5 -0
  38. data/.rspec +4 -0
  39. data/.rubocop.yml +121 -0
  40. data/.simplecov +51 -0
  41. data/CHANGELOG.md +49 -0
  42. data/Gemfile +24 -0
  43. data/Gemfile.lock +329 -0
  44. data/LICENSE.txt +21 -0
  45. data/README.md +225 -0
  46. data/Rakefile +54 -0
  47. data/Steepfile +50 -0
  48. data/bin/sxn +6 -0
  49. data/lib/sxn/CLI.rb +275 -0
  50. data/lib/sxn/commands/init.rb +137 -0
  51. data/lib/sxn/commands/projects.rb +350 -0
  52. data/lib/sxn/commands/rules.rb +435 -0
  53. data/lib/sxn/commands/sessions.rb +300 -0
  54. data/lib/sxn/commands/worktrees.rb +416 -0
  55. data/lib/sxn/commands.rb +13 -0
  56. data/lib/sxn/config/config_cache.rb +295 -0
  57. data/lib/sxn/config/config_discovery.rb +242 -0
  58. data/lib/sxn/config/config_validator.rb +562 -0
  59. data/lib/sxn/config.rb +259 -0
  60. data/lib/sxn/core/config_manager.rb +290 -0
  61. data/lib/sxn/core/project_manager.rb +307 -0
  62. data/lib/sxn/core/rules_manager.rb +306 -0
  63. data/lib/sxn/core/session_manager.rb +336 -0
  64. data/lib/sxn/core/worktree_manager.rb +281 -0
  65. data/lib/sxn/core.rb +13 -0
  66. data/lib/sxn/database/errors.rb +29 -0
  67. data/lib/sxn/database/session_database.rb +691 -0
  68. data/lib/sxn/database.rb +24 -0
  69. data/lib/sxn/errors.rb +76 -0
  70. data/lib/sxn/rules/base_rule.rb +367 -0
  71. data/lib/sxn/rules/copy_files_rule.rb +346 -0
  72. data/lib/sxn/rules/errors.rb +28 -0
  73. data/lib/sxn/rules/project_detector.rb +871 -0
  74. data/lib/sxn/rules/rules_engine.rb +485 -0
  75. data/lib/sxn/rules/setup_commands_rule.rb +307 -0
  76. data/lib/sxn/rules/template_rule.rb +262 -0
  77. data/lib/sxn/rules.rb +148 -0
  78. data/lib/sxn/runtime_validations.rb +96 -0
  79. data/lib/sxn/security/secure_command_executor.rb +364 -0
  80. data/lib/sxn/security/secure_file_copier.rb +478 -0
  81. data/lib/sxn/security/secure_path_validator.rb +258 -0
  82. data/lib/sxn/security.rb +15 -0
  83. data/lib/sxn/templates/common/gitignore.liquid +99 -0
  84. data/lib/sxn/templates/common/session-info.md.liquid +58 -0
  85. data/lib/sxn/templates/errors.rb +36 -0
  86. data/lib/sxn/templates/javascript/README.md.liquid +59 -0
  87. data/lib/sxn/templates/javascript/session-info.md.liquid +206 -0
  88. data/lib/sxn/templates/rails/CLAUDE.md.liquid +78 -0
  89. data/lib/sxn/templates/rails/database.yml.liquid +31 -0
  90. data/lib/sxn/templates/rails/session-info.md.liquid +144 -0
  91. data/lib/sxn/templates/template_engine.rb +346 -0
  92. data/lib/sxn/templates/template_processor.rb +279 -0
  93. data/lib/sxn/templates/template_security.rb +410 -0
  94. data/lib/sxn/templates/template_variables.rb +713 -0
  95. data/lib/sxn/templates.rb +28 -0
  96. data/lib/sxn/ui/output.rb +103 -0
  97. data/lib/sxn/ui/progress_bar.rb +91 -0
  98. data/lib/sxn/ui/prompt.rb +116 -0
  99. data/lib/sxn/ui/table.rb +183 -0
  100. data/lib/sxn/ui.rb +12 -0
  101. data/lib/sxn/version.rb +5 -0
  102. data/lib/sxn.rb +63 -0
  103. data/rbs_collection.lock.yaml +180 -0
  104. data/rbs_collection.yaml +39 -0
  105. data/scripts/test.sh +31 -0
  106. data/sig/external/liquid.rbs +116 -0
  107. data/sig/external/thor.rbs +99 -0
  108. data/sig/external/tty.rbs +71 -0
  109. data/sig/sxn/cli.rbs +46 -0
  110. data/sig/sxn/commands/init.rbs +38 -0
  111. data/sig/sxn/commands/projects.rbs +72 -0
  112. data/sig/sxn/commands/rules.rbs +95 -0
  113. data/sig/sxn/commands/sessions.rbs +62 -0
  114. data/sig/sxn/commands/worktrees.rbs +82 -0
  115. data/sig/sxn/commands.rbs +6 -0
  116. data/sig/sxn/config/config_cache.rbs +67 -0
  117. data/sig/sxn/config/config_discovery.rbs +64 -0
  118. data/sig/sxn/config/config_validator.rbs +64 -0
  119. data/sig/sxn/config.rbs +74 -0
  120. data/sig/sxn/core/config_manager.rbs +67 -0
  121. data/sig/sxn/core/project_manager.rbs +52 -0
  122. data/sig/sxn/core/rules_manager.rbs +54 -0
  123. data/sig/sxn/core/session_manager.rbs +59 -0
  124. data/sig/sxn/core/worktree_manager.rbs +50 -0
  125. data/sig/sxn/core.rbs +87 -0
  126. data/sig/sxn/database/errors.rbs +37 -0
  127. data/sig/sxn/database/session_database.rbs +151 -0
  128. data/sig/sxn/database.rbs +83 -0
  129. data/sig/sxn/errors.rbs +89 -0
  130. data/sig/sxn/rules/base_rule.rbs +137 -0
  131. data/sig/sxn/rules/copy_files_rule.rbs +65 -0
  132. data/sig/sxn/rules/errors.rbs +33 -0
  133. data/sig/sxn/rules/project_detector.rbs +115 -0
  134. data/sig/sxn/rules/rules_engine.rbs +118 -0
  135. data/sig/sxn/rules/setup_commands_rule.rbs +60 -0
  136. data/sig/sxn/rules/template_rule.rbs +44 -0
  137. data/sig/sxn/rules.rbs +287 -0
  138. data/sig/sxn/runtime_validations.rbs +16 -0
  139. data/sig/sxn/security/secure_command_executor.rbs +63 -0
  140. data/sig/sxn/security/secure_file_copier.rbs +79 -0
  141. data/sig/sxn/security/secure_path_validator.rbs +30 -0
  142. data/sig/sxn/security.rbs +128 -0
  143. data/sig/sxn/templates/errors.rbs +43 -0
  144. data/sig/sxn/templates/template_engine.rbs +50 -0
  145. data/sig/sxn/templates/template_processor.rbs +44 -0
  146. data/sig/sxn/templates/template_security.rbs +62 -0
  147. data/sig/sxn/templates/template_variables.rbs +103 -0
  148. data/sig/sxn/templates.rbs +104 -0
  149. data/sig/sxn/ui/output.rbs +50 -0
  150. data/sig/sxn/ui/progress_bar.rbs +39 -0
  151. data/sig/sxn/ui/prompt.rbs +38 -0
  152. data/sig/sxn/ui/table.rbs +43 -0
  153. data/sig/sxn/ui.rbs +63 -0
  154. data/sig/sxn/version.rbs +5 -0
  155. data/sig/sxn.rbs +29 -0
  156. metadata +635 -0
@@ -0,0 +1,822 @@
1
+ module RuboCop
2
+ module AST
3
+ class ProcessedSource
4
+ def initialize: (String source, Float ruby_version, ?path?) -> untyped
5
+ def raw_source: () -> String
6
+ def buffer: () -> Parser::Source::Buffer
7
+ def comments: () -> Array[Parser::Source::Comment]
8
+ attr_reader ast: (Node | nil)
9
+ end
10
+
11
+ class NodePattern
12
+ module Macros
13
+ def def_node_matcher: (Symbol, String) -> void
14
+ def def_node_search: (Symbol, String) -> void
15
+ end
16
+
17
+ class Compiler
18
+ end
19
+
20
+ def initialize: (String str, ?Compiler compiler) -> untyped
21
+ def match: (*untyped, **untyped) -> bool
22
+ | (*untyped, **untyped) { (*untyped) -> untyped } -> bool
23
+ end
24
+
25
+ module Traversal
26
+ end
27
+
28
+ module BasicLiteralNode
29
+ def value: () -> untyped
30
+ end
31
+
32
+ module BinaryOperatorNode
33
+ def lhs: () -> Node
34
+ def rhs: () -> Node
35
+ def conditions: () -> Array[Node]
36
+ end
37
+
38
+ module CollectionNode
39
+ end
40
+
41
+ module ConditionalNode
42
+ def single_line_condition?: () -> bool
43
+ def multiline_condition?: () -> bool
44
+ def condition: () -> Node?
45
+ def body: () -> Node?
46
+ end
47
+
48
+ module ConstantNode
49
+ def namespace: () -> Node?
50
+ def short_name: () -> Symbol
51
+ def module_name?: () -> bool
52
+ alias class_name? module_name?
53
+ def absolute?: () -> bool
54
+ def relative?: () -> bool
55
+ def each_path: () { (Node) -> void } -> self
56
+ | () -> ::Enumerator[Node, self]
57
+ end
58
+
59
+ module Descendence
60
+ def each_child_node: (*Symbol types) { (Node) -> void } -> self
61
+ | (*Symbol types) -> ::Enumerator[Node, self]
62
+ def child_nodes: () -> Array[Node]
63
+ def each_descendant: (*Symbol types) { (Node) -> void } -> self
64
+ | (*Symbol types) -> ::Enumerator[Node, self]
65
+ def descendants: () -> Array[Node]
66
+ def each_node: (*Symbol types) { (Node) -> void } -> self
67
+ | (*Symbol types) -> ::Enumerator[Node, self]
68
+ end
69
+
70
+ module HashElementNode
71
+ def key: () -> Node
72
+ def value: () -> Node
73
+ def same_line?: (Node other) -> bool
74
+ def key_delta: (Node other, ?Symbol alignment) -> Integer
75
+ def value_delta: (Node other) -> Integer
76
+ def delimiter_delta: (Node other) -> Integer
77
+ end
78
+
79
+ module MethodDispatchNode
80
+ include MethodIdentifierPredicates
81
+ def receiver: () -> Node?
82
+ def method_name: () -> Symbol
83
+ def selector: () -> Parser::Source::Range
84
+ def block_node: () -> BlockNode?
85
+ def macro?: () -> bool
86
+ def access_modifier?: () -> bool
87
+ def bare_access_modifier?: () -> bool
88
+ def non_bare_access_modifier?: () -> bool
89
+ def special_modifier?: () -> bool
90
+ def command?: (Symbol name) -> bool
91
+ def setter_method?: () -> bool
92
+ alias assignment? setter_method?
93
+ def dot?: () -> bool
94
+ def double_colon?: () -> bool
95
+ def safe_navigation?: () -> bool
96
+ def self_receiver?: () -> bool
97
+ def const_receiver?: () -> bool
98
+ def implicit_call?: () -> bool
99
+ def block_literal?: () -> bool
100
+ def arithmetic_operation?: () -> bool
101
+ def def_modifier?: (?Node node) -> bool
102
+ def def_modifier: (?Node node) -> Node?
103
+ def lambda?: () -> bool
104
+ def lambda_literal?: () -> bool
105
+ def unary_operation?: () -> bool
106
+ def binary_operation?: () -> bool
107
+ end
108
+
109
+ module MethodIdentifierPredicates
110
+ def method?: ((Symbol | String) name) -> bool
111
+ def operator_method?: () -> bool
112
+ def nonmutating_binary_operator_method?: () -> bool
113
+ def nonmutating_unary_operator_method?: () -> bool
114
+ def nonmutating_operator_method?: () -> bool
115
+ def nonmutating_array_method?: () -> bool
116
+ def nonmutating_hash_method?: () -> bool
117
+ def nonmutating_string_method?: () -> bool
118
+ def comparison_method?: () -> bool
119
+ def assignment_method?: () -> bool
120
+ def enumerator_method?: () -> bool
121
+ def enumerable_method?: () -> bool
122
+ def predicate_method?: () -> bool
123
+ def bang_method?: () -> bool
124
+ def camel_case_method?: () -> boolish
125
+ def self_receiver?: () -> boolish
126
+ def const_receiver?: () -> boolish
127
+ def negation_method?: () -> boolish
128
+ def prefix_not?: () -> boolish
129
+ def prefix_bang?: () -> boolish
130
+ end
131
+
132
+ module ModifierNode
133
+ def modifier_form?: () -> bool
134
+ end
135
+
136
+ module NumericNode
137
+ def sign?: () -> bool
138
+ end
139
+
140
+ module ParameterizedNode
141
+ def parenthesized?: () -> bool
142
+ def first_argument: () -> Node?
143
+ def last_argument: () -> Node?
144
+ def arguments?: () -> bool
145
+ def splat_argument?: () -> bool
146
+ alias rest_argument? splat_argument?
147
+ def block_argument?: () -> bool
148
+
149
+ module WrappedArguments
150
+ include ParameterizedNode
151
+ def arguments: () -> Array[Node]
152
+ end
153
+
154
+ module RestArguments
155
+ include ParameterizedNode
156
+ def arguments: () -> Array[Node]
157
+ end
158
+ end
159
+
160
+ module PredicateOperatorNode
161
+ def operator: () -> String
162
+ def logical_operator?: () -> bool
163
+ def semantic_operator?: () -> bool
164
+ end
165
+
166
+ class Node < Parser::AST::Node
167
+ include Descendence
168
+ def type?: (*Symbol types) -> bool
169
+ def true_type?: () -> bool
170
+ def false_type?: () -> bool
171
+ def nil_type?: () -> bool
172
+ def int_type?: () -> bool
173
+ def float_type?: () -> bool
174
+ def str_type?: () -> bool
175
+ def dstr_type?: () -> bool
176
+ def sym_type?: () -> bool
177
+ def dsym_type?: () -> bool
178
+ def xstr_type?: () -> bool
179
+ def regopt_type?: () -> bool
180
+ def regexp_type?: () -> bool
181
+ def array_type?: () -> bool
182
+ def splat_type?: () -> bool
183
+ def pair_type?: () -> bool
184
+ def kwsplat_type?: () -> bool
185
+ def hash_type?: () -> bool
186
+ def irange_type?: () -> bool
187
+ def erange_type?: () -> bool
188
+ def self_type?: () -> bool
189
+ def lvar_type?: () -> bool
190
+ def ivar_type?: () -> bool
191
+ def cvar_type?: () -> bool
192
+ def gvar_type?: () -> bool
193
+ def const_type?: () -> bool
194
+ def defined_type?: () -> bool
195
+ def lvasgn_type?: () -> bool
196
+ def ivasgn_type?: () -> bool
197
+ def cvasgn_type?: () -> bool
198
+ def gvasgn_type?: () -> bool
199
+ def casgn_type?: () -> bool
200
+ def mlhs_type?: () -> bool
201
+ def masgn_type?: () -> bool
202
+ def op_asgn_type?: () -> bool
203
+ def and_asgn_type?: () -> bool
204
+ def ensure_type?: () -> bool
205
+ def rescue_type?: () -> bool
206
+ def arg_expr_type?: () -> bool
207
+ def or_asgn_type?: () -> bool
208
+ def back_ref_type?: () -> bool
209
+ def nth_ref_type?: () -> bool
210
+ def match_with_lvasgn_type?: () -> bool
211
+ def match_current_line_type?: () -> bool
212
+ def module_type?: () -> bool
213
+ def class_type?: () -> bool
214
+ def sclass_type?: () -> bool
215
+ def def_type?: () -> bool
216
+ def defs_type?: () -> bool
217
+ def undef_type?: () -> bool
218
+ def alias_type?: () -> bool
219
+ def args_type?: () -> bool
220
+ def cbase_type?: () -> bool
221
+ def arg_type?: () -> bool
222
+ def optarg_type?: () -> bool
223
+ def restarg_type?: () -> bool
224
+ def blockarg_type?: () -> bool
225
+ def block_pass_type?: () -> bool
226
+ def kwarg_type?: () -> bool
227
+ def kwoptarg_type?: () -> bool
228
+ def kwrestarg_type?: () -> bool
229
+ def kwnilarg_type?: () -> bool
230
+ def csend_type?: () -> bool
231
+ def super_type?: () -> bool
232
+ def zsuper_type?: () -> bool
233
+ def yield_type?: () -> bool
234
+ def block_type?: () -> bool
235
+ def and_type?: () -> bool
236
+ def not_type?: () -> bool
237
+ def or_type?: () -> bool
238
+ def if_type?: () -> bool
239
+ def when_type?: () -> bool
240
+ def case_type?: () -> bool
241
+ def while_type?: () -> bool
242
+ def until_type?: () -> bool
243
+ def while_post_type?: () -> bool
244
+ def until_post_type?: () -> bool
245
+ def for_type?: () -> bool
246
+ def break_type?: () -> bool
247
+ def next_type?: () -> bool
248
+ def redo_type?: () -> bool
249
+ def return_type?: () -> bool
250
+ def resbody_type?: () -> bool
251
+ def kwbegin_type?: () -> bool
252
+ def begin_type?: () -> bool
253
+ def retry_type?: () -> bool
254
+ def preexe_type?: () -> bool
255
+ def postexe_type?: () -> bool
256
+ def iflipflop_type?: () -> bool
257
+ def eflipflop_type?: () -> bool
258
+ def shadowarg_type?: () -> bool
259
+ def complex_type?: () -> bool
260
+ def rational_type?: () -> bool
261
+ def __FILE___type?: () -> bool
262
+ def __LINE___type?: () -> bool
263
+ def __ENCODING___type?: () -> bool
264
+ def ident_type?: () -> bool
265
+ def lambda_type?: () -> bool
266
+ def indexasgn_type?: () -> bool
267
+ def index_type?: () -> bool
268
+ def procarg0_type?: () -> bool
269
+ def restarg_expr_type?: () -> bool
270
+ def blockarg_expr_type?: () -> bool
271
+ def objc_kwarg_type?: () -> bool
272
+ def objc_restarg_type?: () -> bool
273
+ def objc_varargs_type?: () -> bool
274
+ def numargs_type?: () -> bool
275
+ def numblock_type?: () -> bool
276
+ def forward_args_type?: () -> bool
277
+ def forwarded_args_type?: () -> bool
278
+ def forward_arg_type?: () -> bool
279
+ def case_match_type?: () -> bool
280
+ def in_match_type?: () -> bool
281
+ def in_pattern_type?: () -> bool
282
+ def match_var_type?: () -> bool
283
+ def pin_type?: () -> bool
284
+ def match_alt_type?: () -> bool
285
+ def match_as_type?: () -> bool
286
+ def match_rest_type?: () -> bool
287
+ def array_pattern_type?: () -> bool
288
+ def match_with_trailing_comma_type?: () -> bool
289
+ def array_pattern_with_tail_type?: () -> bool
290
+ def hash_pattern_type?: () -> bool
291
+ def const_pattern_type?: () -> bool
292
+ def if_guard_type?: () -> bool
293
+ def unless_guard_type?: () -> bool
294
+ def match_nil_pattern_type?: () -> bool
295
+ def empty_else_type?: () -> bool
296
+ def find_pattern_type?: () -> bool
297
+ def kwargs_type?: () -> bool
298
+ def match_pattern_p_type?: () -> bool
299
+ def match_pattern_type?: () -> bool
300
+ def forwarded_restarg_type?: () -> bool
301
+ def forwarded_kwrestarg_type?: () -> bool
302
+ def itarg_type?: () -> bool
303
+ def itblock_type?: () -> bool
304
+ def send_type?: () -> bool
305
+ def parent: () -> Node?
306
+ def parent?: () -> bool
307
+ def root?: () -> bool
308
+ def to_a: () -> Array[Node]
309
+ alias node_parts to_a
310
+ def each_ancestor: (*Symbol types) { (Node) -> void } -> self
311
+ | (*Symbol types) -> ::Enumerator[Node, self]
312
+ def ancestors: () -> Array[Node]
313
+ def source: () -> String?
314
+ def source_range: () -> Parser::Source::Range
315
+ def first_line: () -> Integer
316
+ def last_line: () -> Integer
317
+ def line_count: () -> Integer
318
+ def nonempty_line_count: () -> Integer
319
+ def source_length: () -> Integer
320
+ def receiver: () -> Node?
321
+ def str_content: () -> (String | false)
322
+ def const_name: () -> String?
323
+ def defined_module: () -> ConstNode?
324
+ def defined_module_name: () -> String?
325
+ def parent_module_name: () -> String
326
+ def multiline?: () -> bool
327
+ def single_line?: () -> bool
328
+ def empty_source?: () -> bool
329
+ def assignment_or_similar?: () -> bool
330
+ def literal?: () -> bool
331
+ def basic_literal?: () -> bool
332
+ def truthy_literal?: () -> bool
333
+ def falsey_literal?: () -> bool
334
+ def mutable_literal?: () -> bool
335
+ def immutable_literal?: () -> bool
336
+ def recursive_literal?: () -> bool
337
+ def recursive_basic_literal?: () -> bool
338
+ def variable?: () -> bool
339
+ def reference?: () -> bool
340
+ def equals_asgn?: () -> bool
341
+ def shorthand_asgn?: () -> bool
342
+ def assignment?: () -> bool
343
+ def basic_conditional?: () -> bool
344
+ def conditional?: () -> bool
345
+ def post_condition_loop?: () -> bool
346
+ def loop_keyword?: () -> bool
347
+ def keyword?: () -> bool
348
+ def special_keyword?: () -> bool
349
+ def operator_keyword?: () -> bool
350
+ def parenthesized_call?: () -> bool
351
+ def call_type?: () -> bool
352
+ def chained?: () -> bool
353
+ def argument?: () -> bool
354
+ def argument_type?: () -> bool
355
+ def boolean_type?: () -> bool
356
+ def numeric_type?: () -> bool
357
+ def range_type?: () -> bool
358
+ def guard_clause?: () -> bool
359
+ def match_guard_clause?: () -> bool
360
+ def proc?: () -> bool
361
+ def lambda?: () -> bool
362
+ def lambda_or_proc?: () -> bool
363
+ def global_const?: (untyped) -> bool
364
+ def class_constructor?: () -> bool
365
+ def struct_constructor?: () -> bool
366
+ def class_definition?: () -> bool
367
+ def module_definition?: () -> bool
368
+ def value_used?: () -> bool
369
+ def pure?: () -> bool
370
+ def sibling_index: () -> (Integer | nil)
371
+ def right_sibling: () -> (Node | nil)
372
+ def left_sibling: () -> (Node | nil)
373
+ def left_siblings: () -> Array[Node]
374
+ def right_siblings: () -> Array[Node]
375
+ end
376
+
377
+ class AliasNode < Node
378
+ def old_identifier: () -> SymbolNode
379
+ def new_identifier: () -> SymbolNode
380
+ end
381
+
382
+ class AndAsgnNode < OpAsgnNode
383
+ def operator: () -> :'&&'
384
+ end
385
+
386
+ class AndNode < Node
387
+ include BinaryOperatorNode
388
+ include PredicateOperatorNode
389
+ def alternate_operator: () -> String
390
+ def inverse_operator: () -> String
391
+ end
392
+
393
+ class ArgNode < Node
394
+ def name: () -> Symbol?
395
+ def default_value: () -> Node?
396
+ def default?: () -> bool
397
+ end
398
+
399
+ class ArgsNode < Node
400
+ include CollectionNode
401
+ def empty_and_without_delimiters?: () -> bool
402
+ def argument_list: () -> Array[Node]
403
+ end
404
+
405
+ class ArrayNode < Node
406
+ alias values children
407
+ def each_value: () { (Node) -> void } -> self
408
+ | () -> ::Enumerator[Node, self]
409
+ def square_brackets?: () -> bool
410
+ def percent_literal?: (?Symbol type) -> bool
411
+ def bracketed?: () -> bool
412
+ attr_reader location: Parser::Source::Map::Collection
413
+ alias loc location
414
+ end
415
+
416
+ class AsgnNode < Node
417
+ def name: () -> Symbol
418
+ alias lhs name
419
+ def expression: () -> Node
420
+ alias rhs expression
421
+ end
422
+
423
+ class BlockNode < Node
424
+ include MethodIdentifierPredicates
425
+ def send_node: () -> SendNode
426
+ def first_argument: () -> Node?
427
+ def last_argument: () -> Node?
428
+ def arguments: () -> Array[Node]
429
+ def argument_list: () -> Array[Node]
430
+ def body: () -> Node?
431
+ def method_name: () -> Symbol
432
+ def arguments?: () -> bool
433
+ def braces?: () -> bool
434
+ def keywords?: () -> bool
435
+ def delimiters: () -> Array[String]
436
+ def opening_delimiter: () -> String
437
+ def closing_delimiter: () -> String
438
+ def single_line?: () -> bool
439
+ def multiline?: () -> bool
440
+ def lambda?: () -> bool
441
+ def void_context?: () -> bool
442
+ attr_reader location: Parser::Source::Map::Collection
443
+ alias loc location
444
+ end
445
+
446
+ class BreakNode < Node
447
+ include ParameterizedNode::WrappedArguments
448
+ end
449
+
450
+ class CaseMatchNode < Node
451
+ include ConditionalNode
452
+ def keyword: () -> 'case'
453
+ def in_pattern_branches: () -> Array[InPatternNode]
454
+ def branches: () -> Array[Node | nil]
455
+ def else_branch: () -> Node?
456
+ def else?: () -> bool
457
+ end
458
+
459
+ class CaseNode < Node
460
+ include ConditionalNode
461
+ def keyword: () -> 'case'
462
+ def when_branches: () -> Array[WhenNode]
463
+ def branches: () -> Array[Node | nil]
464
+ def else_branch: () -> Node?
465
+ def else?: () -> bool
466
+ end
467
+
468
+ class CasgnNode < Node
469
+ include ConstantNode
470
+ alias name short_name
471
+ alias lhs short_name
472
+ def expression: () -> Node
473
+ alias rhs expression
474
+ end
475
+
476
+ class ClassNode < Node
477
+ def identifier: () -> Node
478
+ def parent_class: () -> Node?
479
+ def body: () -> Node?
480
+ end
481
+
482
+ class ComplexNode < Node
483
+ include BasicLiteralNode
484
+ include NumericNode
485
+ end
486
+
487
+ class ConstNode < Node
488
+ include ConstantNode
489
+ end
490
+
491
+ class CsendNode < SendNode
492
+ def send_type?: () -> false
493
+ end
494
+
495
+ class DefNode < Node
496
+ include ParameterizedNode
497
+ include MethodIdentifierPredicates
498
+ def void_context?: () -> bool
499
+ def argument_forwarding?: () -> bool
500
+ def method_name: () -> Symbol
501
+ def arguments: () -> ArgsNode
502
+ def body: () -> Node
503
+ def receiver: () -> (Node | nil)
504
+ def endless?: () -> bool
505
+ attr_reader location: Parser::Source::Map::MethodDefinition
506
+ alias loc location
507
+ end
508
+
509
+ class DefinedNode < Node
510
+ include ParameterizedNode
511
+ include MethodDispatchNode
512
+ def node_parts: () -> Array[Node | nil]
513
+ alias arguments children
514
+ end
515
+
516
+ class DstrNode < Node
517
+ def value: () -> String
518
+ attr_reader location: (Parser::Source::Map::Collection | Parser::Source::Map::Heredoc)
519
+ alias loc location
520
+ end
521
+
522
+ class EnsureNode < Node
523
+ def body: () -> Node?
524
+ def branch: () -> Node?
525
+ def rescue_node: () -> Node?
526
+ def void_context?: () -> true
527
+ end
528
+
529
+ class FloatNode < Node
530
+ include BasicLiteralNode
531
+ include NumericNode
532
+ end
533
+
534
+ class ForNode < Node
535
+ def keyword: () -> 'for'
536
+ def do?: () -> bool
537
+ def void_context?: () -> true
538
+ def variable: () -> Node
539
+ def collection: () -> Node
540
+ def body: () -> Node?
541
+ end
542
+
543
+ class ForwardArgsNode < Node
544
+ include CollectionNode
545
+ def to_a: () -> [self]
546
+ end
547
+
548
+ class HashNode < Node
549
+ def pairs: () -> Array[PairNode]
550
+ def empty?: () -> bool
551
+ def each_pair: () { (Node, Node) -> void } -> self
552
+ | () -> ::Enumerator[PairNode, self]
553
+ def keys: () -> Array[Node]
554
+ def each_key: () { (Node) -> void } -> self
555
+ | () -> ::Enumerator[Node, self]
556
+ def values: () -> Array[Node]
557
+ def each_value: () { (Node) -> void } -> self
558
+ | () -> ::Enumerator[Node, self]
559
+ def pairs_on_same_line?: () -> bool
560
+ def mixed_delimiters?: () -> bool
561
+ def braces?: () -> bool
562
+ attr_reader location: Parser::Source::Map::Collection
563
+ alias loc location
564
+ end
565
+
566
+ class IfNode < Node
567
+ include ConditionalNode
568
+ include ModifierNode
569
+ def if?: () -> bool
570
+ def unless?: () -> bool
571
+ def then?: () -> bool
572
+ def elsif?: () -> bool
573
+ def else?: () -> bool
574
+ def ternary?: () -> bool
575
+ def keyword: () -> String
576
+ def inverse_keyword: () -> String
577
+ def modifier_form?: () -> bool
578
+ def nested_conditional?: () -> bool
579
+ def elsif_conditional?: () -> bool
580
+ def if_branch: () -> Node?
581
+ def else_branch: () -> Node?
582
+ def node_parts: () -> Array[Node]
583
+ def branches: () -> Array[Node]
584
+ attr_reader location: (Parser::Source::Map::Condition | Parser::Source::Map::Keyword | Parser::Source::Map::Ternary)
585
+ alias loc location
586
+ end
587
+
588
+ class InPatternNode < Node
589
+ def pattern: () -> Node
590
+ def branch_index: () -> Integer
591
+ def then?: () -> bool
592
+ def body: () -> Node?
593
+ end
594
+
595
+ class IndexNode < Node
596
+ include ParameterizedNode::RestArguments
597
+ include MethodDispatchNode
598
+ def attribute_accessor?: () -> false
599
+ def assignment_method?: () -> false
600
+ def method_name: () -> :[]
601
+ end
602
+
603
+ class IndexasgnNode < Node
604
+ include ParameterizedNode::RestArguments
605
+ include MethodDispatchNode
606
+ def attribute_accessor?: () -> false
607
+ def assignment_method?: () -> true
608
+ def method_name: () -> :[]=
609
+ end
610
+
611
+ class IntNode < Node
612
+ include BasicLiteralNode
613
+ include NumericNode
614
+ end
615
+
616
+ class KeywordBeginNode < Node
617
+ def body: () -> Node?
618
+ def ensure_node: () -> Node?
619
+ def rescue_node: () -> Node?
620
+ end
621
+
622
+ class KeywordSplatNode < Node
623
+ include HashElementNode
624
+ def hash_rocket?: () -> false
625
+ def colon?: () -> false
626
+ def operator: () -> String
627
+ def node_parts: () -> [self, self]
628
+ def kwsplat_type?: () -> true
629
+ end
630
+
631
+ class LambdaNode < Node
632
+ include ParameterizedNode::RestArguments
633
+ include MethodDispatchNode
634
+ def lambda?: () -> true
635
+ def lambda_literal?: () -> true
636
+ def attribute_accessor?: () -> false
637
+ def assignment_method?: () -> false
638
+ def receiver: () -> nil
639
+ def method_name: () -> :lambda
640
+ end
641
+
642
+ class MasgnNode < Node
643
+ def lhs: () -> MlhsNode
644
+ def assignments: () -> Array[Node]
645
+ def names: () -> Array[Symbol]
646
+ def expression: () -> Node
647
+ alias rhs expression
648
+ def values: () -> Array[Node]
649
+ end
650
+
651
+ class MlhsNode < Node
652
+ def assignments: () -> Array[Node]
653
+ end
654
+
655
+ class ModuleNode < Node
656
+ def identifier: () -> Node
657
+ def body: () -> Node?
658
+ end
659
+
660
+ class NextNode < Node
661
+ include ParameterizedNode::WrappedArguments
662
+ end
663
+
664
+ class OpAsgnNode < Node
665
+ def assignment_node: () -> AsgnNode
666
+ alias lhs assignment_node
667
+ def name: () -> Symbol
668
+ def operator: () -> Symbol
669
+ def expression: () -> Node
670
+ alias rhs expression
671
+ end
672
+
673
+ class OrAsgnNode < OpAsgnNode
674
+ def operator: () -> :'||'
675
+ end
676
+
677
+ class OrNode < Node
678
+ include BinaryOperatorNode
679
+ include PredicateOperatorNode
680
+ def alternate_operator: () -> String
681
+ def inverse_operator: () -> String
682
+ end
683
+
684
+ class RationalNode < Node
685
+ include BasicLiteralNode
686
+ include NumericNode
687
+ end
688
+
689
+ class PairNode < Node
690
+ include HashElementNode
691
+ def hash_rocket?: () -> bool
692
+ def colon?: () -> bool
693
+ def delimiter: (?with_spacing: bool) -> String
694
+ def inverse_delimiter: (?with_spacing: bool) -> String
695
+ def value_on_new_line?: () -> bool
696
+ def value_omission?: () -> bool
697
+ attr_reader location: Parser::Source::Map::Operator
698
+ alias loc location
699
+ end
700
+
701
+ class Procarg0Node < ArgNode
702
+ def name: () -> Symbol?
703
+ end
704
+
705
+ class RangeNode < Node
706
+ def begin: () -> Node?
707
+ def end: () -> Node?
708
+ end
709
+
710
+ class RegexpNode < Node
711
+ def to_regexp: () -> ::Regexp
712
+ def regopt: () -> Node
713
+ def options: () -> Integer
714
+ def content: () -> String
715
+ def slash_literal?: () -> bool
716
+ def percent_r_literal?: () -> bool
717
+ def delimiters: () -> String
718
+ def delimiter?: (String char) -> bool
719
+ def interpolation?: () -> bool
720
+ def multiline_mode?: () -> bool
721
+ def extended?: () -> bool
722
+ def ignore_case?: () -> bool
723
+ def single_interpolation?: () -> bool
724
+ def no_encoding?: () -> bool
725
+ def fixed_encoding?: () -> bool
726
+ attr_reader location: Parser::Source::Map::Collection
727
+ alias loc location
728
+ end
729
+
730
+ class ResbodyNode < Node
731
+ def body: () -> Node?
732
+ def exceptions: () -> Array[Node]
733
+ def exception_variable: () -> Node?
734
+ def branch_index: () -> Integer
735
+ end
736
+
737
+ class RescueNode < Node
738
+ def body: () -> Node?
739
+ def resbody_branches: () -> Array[ResbodyNode]
740
+ def branches: () -> Array[Node | nil]
741
+ def else_branch: () -> Node?
742
+ def else?: () -> bool
743
+ end
744
+
745
+ class ReturnNode < Node
746
+ include ParameterizedNode::WrappedArguments
747
+ end
748
+
749
+ class SelfClassNode < Node
750
+ def identifier: () -> Node
751
+ def body: () -> Node?
752
+ end
753
+
754
+ class SendNode < Node
755
+ include ParameterizedNode::RestArguments
756
+ include MethodDispatchNode
757
+ def send_type?: () -> true
758
+ attr_reader location: Parser::Source::Map::Send
759
+ alias loc location
760
+ end
761
+
762
+ class StrNode < Node
763
+ include BasicLiteralNode
764
+ def value: () -> (String | StrNode)
765
+ def single_quoted?: () -> bool
766
+ def double_quoted?: () -> bool
767
+ def character_literal?: () -> bool
768
+ def heredoc?: () -> bool
769
+ def percent_literal?: (?Symbol type) -> bool
770
+ attr_reader location: (Parser::Source::Map::Collection | Parser::Source::Map::Heredoc)
771
+ alias loc location
772
+ end
773
+
774
+ class SuperNode < Node
775
+ include ParameterizedNode
776
+ include MethodDispatchNode
777
+ def node_parts: () -> Array[untyped]
778
+ alias arguments children
779
+ end
780
+
781
+ class SymbolNode < Node
782
+ include BasicLiteralNode
783
+ def value: () -> Symbol
784
+ attr_reader location: Parser::Source::Map::Collection
785
+ alias loc location
786
+ end
787
+
788
+ class UntilNode < Node
789
+ include ConditionalNode
790
+ include ModifierNode
791
+ def keyword: () -> 'until'
792
+ def inverse_keyword: () -> 'while'
793
+ def do?: () -> bool
794
+ end
795
+
796
+ class VarNode < Node
797
+ def name: () -> Symbol
798
+ end
799
+
800
+ class WhenNode < Node
801
+ def conditions: () -> Array[Node]
802
+ def branch_index: () -> Integer
803
+ def then?: () -> bool
804
+ def body: () -> Node?
805
+ end
806
+
807
+ class WhileNode < Node
808
+ include ConditionalNode
809
+ include ModifierNode
810
+ def keyword: () -> 'while'
811
+ def inverse_keyword: () -> 'until'
812
+ def do?: () -> bool
813
+ end
814
+
815
+ class YieldNode < Node
816
+ include ParameterizedNode
817
+ include MethodDispatchNode
818
+ def node_parts: () -> Array[untyped]
819
+ alias arguments children
820
+ end
821
+ end
822
+ end