solargraph 0.56.2 → 0.58.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 (147) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/linting.yml +127 -0
  3. data/.github/workflows/plugins.yml +183 -7
  4. data/.github/workflows/rspec.yml +55 -5
  5. data/.github/workflows/typecheck.yml +6 -3
  6. data/.gitignore +5 -0
  7. data/.overcommit.yml +72 -0
  8. data/.rspec +1 -0
  9. data/.rubocop.yml +66 -0
  10. data/.rubocop_todo.yml +1279 -0
  11. data/.yardopts +1 -0
  12. data/CHANGELOG.md +69 -0
  13. data/README.md +8 -4
  14. data/Rakefile +125 -13
  15. data/bin/solargraph +8 -5
  16. data/lib/solargraph/api_map/cache.rb +3 -2
  17. data/lib/solargraph/api_map/constants.rb +279 -0
  18. data/lib/solargraph/api_map/index.rb +49 -31
  19. data/lib/solargraph/api_map/source_to_yard.rb +13 -4
  20. data/lib/solargraph/api_map/store.rb +144 -26
  21. data/lib/solargraph/api_map.rb +217 -245
  22. data/lib/solargraph/bench.rb +1 -0
  23. data/lib/solargraph/complex_type/type_methods.rb +6 -0
  24. data/lib/solargraph/complex_type/unique_type.rb +19 -12
  25. data/lib/solargraph/complex_type.rb +24 -3
  26. data/lib/solargraph/convention/active_support_concern.rb +111 -0
  27. data/lib/solargraph/convention/base.rb +17 -0
  28. data/lib/solargraph/convention/data_definition/data_assignment_node.rb +1 -0
  29. data/lib/solargraph/convention/data_definition/data_definition_node.rb +4 -2
  30. data/lib/solargraph/convention/data_definition.rb +2 -1
  31. data/lib/solargraph/convention/gemspec.rb +1 -1
  32. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +1 -0
  33. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +3 -1
  34. data/lib/solargraph/convention/struct_definition.rb +36 -13
  35. data/lib/solargraph/convention.rb +31 -2
  36. data/lib/solargraph/diagnostics/rubocop.rb +6 -1
  37. data/lib/solargraph/diagnostics/rubocop_helpers.rb +5 -3
  38. data/lib/solargraph/doc_map.rb +44 -13
  39. data/lib/solargraph/environ.rb +9 -2
  40. data/lib/solargraph/equality.rb +1 -0
  41. data/lib/solargraph/gem_pins.rb +21 -11
  42. data/lib/solargraph/language_server/host/dispatch.rb +2 -0
  43. data/lib/solargraph/language_server/host/message_worker.rb +3 -0
  44. data/lib/solargraph/language_server/host.rb +12 -5
  45. data/lib/solargraph/language_server/message/base.rb +2 -1
  46. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +1 -1
  47. data/lib/solargraph/language_server/message/text_document/definition.rb +2 -0
  48. data/lib/solargraph/language_server/message/text_document/formatting.rb +19 -2
  49. data/lib/solargraph/language_server/message/text_document/type_definition.rb +1 -0
  50. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +2 -0
  51. data/lib/solargraph/language_server/progress.rb +8 -0
  52. data/lib/solargraph/language_server/request.rb +4 -1
  53. data/lib/solargraph/library.rb +11 -18
  54. data/lib/solargraph/location.rb +3 -0
  55. data/lib/solargraph/logging.rb +11 -2
  56. data/lib/solargraph/page.rb +3 -0
  57. data/lib/solargraph/parser/comment_ripper.rb +8 -1
  58. data/lib/solargraph/parser/flow_sensitive_typing.rb +33 -5
  59. data/lib/solargraph/parser/node_processor/base.rb +1 -1
  60. data/lib/solargraph/parser/node_processor.rb +6 -2
  61. data/lib/solargraph/parser/parser_gem/class_methods.rb +3 -13
  62. data/lib/solargraph/parser/parser_gem/flawed_builder.rb +1 -0
  63. data/lib/solargraph/parser/parser_gem/node_chainer.rb +3 -1
  64. data/lib/solargraph/parser/parser_gem/node_methods.rb +5 -16
  65. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +1 -0
  66. data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +3 -2
  67. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +2 -0
  68. data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +3 -0
  69. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +64 -8
  70. data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +12 -3
  71. data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +36 -16
  72. data/lib/solargraph/parser/region.rb +3 -0
  73. data/lib/solargraph/parser/snippet.rb +2 -0
  74. data/lib/solargraph/pin/base.rb +77 -14
  75. data/lib/solargraph/pin/base_variable.rb +6 -5
  76. data/lib/solargraph/pin/block.rb +3 -2
  77. data/lib/solargraph/pin/callable.rb +14 -1
  78. data/lib/solargraph/pin/closure.rb +5 -7
  79. data/lib/solargraph/pin/common.rb +6 -2
  80. data/lib/solargraph/pin/constant.rb +2 -0
  81. data/lib/solargraph/pin/local_variable.rb +1 -2
  82. data/lib/solargraph/pin/method.rb +28 -9
  83. data/lib/solargraph/pin/method_alias.rb +3 -0
  84. data/lib/solargraph/pin/parameter.rb +24 -10
  85. data/lib/solargraph/pin/proxy_type.rb +5 -1
  86. data/lib/solargraph/pin/reference/override.rb +15 -1
  87. data/lib/solargraph/pin/reference/superclass.rb +5 -0
  88. data/lib/solargraph/pin/reference.rb +17 -0
  89. data/lib/solargraph/pin/search.rb +6 -1
  90. data/lib/solargraph/pin/signature.rb +2 -0
  91. data/lib/solargraph/pin/symbol.rb +5 -0
  92. data/lib/solargraph/pin_cache.rb +64 -4
  93. data/lib/solargraph/position.rb +3 -0
  94. data/lib/solargraph/range.rb +5 -0
  95. data/lib/solargraph/rbs_map/conversions.rb +29 -6
  96. data/lib/solargraph/rbs_map/core_fills.rb +18 -0
  97. data/lib/solargraph/rbs_map/core_map.rb +14 -7
  98. data/lib/solargraph/rbs_map.rb +14 -1
  99. data/lib/solargraph/shell.rb +85 -1
  100. data/lib/solargraph/source/chain/call.rb +7 -3
  101. data/lib/solargraph/source/chain/constant.rb +3 -66
  102. data/lib/solargraph/source/chain/if.rb +1 -1
  103. data/lib/solargraph/source/chain/link.rb +11 -2
  104. data/lib/solargraph/source/chain/or.rb +1 -1
  105. data/lib/solargraph/source/chain.rb +11 -2
  106. data/lib/solargraph/source/change.rb +2 -2
  107. data/lib/solargraph/source/cursor.rb +2 -3
  108. data/lib/solargraph/source/source_chainer.rb +1 -1
  109. data/lib/solargraph/source.rb +6 -3
  110. data/lib/solargraph/source_map/clip.rb +18 -26
  111. data/lib/solargraph/source_map/data.rb +4 -0
  112. data/lib/solargraph/source_map/mapper.rb +2 -2
  113. data/lib/solargraph/source_map.rb +28 -16
  114. data/lib/solargraph/type_checker/param_def.rb +2 -0
  115. data/lib/solargraph/type_checker/rules.rb +30 -8
  116. data/lib/solargraph/type_checker.rb +301 -186
  117. data/lib/solargraph/version.rb +1 -1
  118. data/lib/solargraph/workspace/config.rb +21 -5
  119. data/lib/solargraph/workspace/require_paths.rb +97 -0
  120. data/lib/solargraph/workspace.rb +30 -67
  121. data/lib/solargraph/yard_map/mapper/to_method.rb +4 -3
  122. data/lib/solargraph/yard_map/mapper/to_namespace.rb +1 -0
  123. data/lib/solargraph/yard_map/to_method.rb +2 -1
  124. data/lib/solargraph/yardoc.rb +39 -3
  125. data/lib/solargraph.rb +2 -0
  126. data/rbs/fills/bundler/0/bundler.rbs +4271 -0
  127. data/rbs/fills/open3/0/open3.rbs +172 -0
  128. data/rbs/fills/rubygems/0/basic_specification.rbs +326 -0
  129. data/rbs/fills/rubygems/0/errors.rbs +364 -0
  130. data/rbs/fills/rubygems/0/spec_fetcher.rbs +107 -0
  131. data/rbs/fills/rubygems/0/specification.rbs +1753 -0
  132. data/rbs/fills/{tuple.rbs → tuple/tuple.rbs} +2 -3
  133. data/rbs_collection.yaml +4 -4
  134. data/sig/shims/ast/0/node.rbs +5 -0
  135. data/sig/shims/ast/2.4/.rbs_meta.yaml +9 -0
  136. data/sig/shims/ast/2.4/ast.rbs +73 -0
  137. data/sig/shims/parser/3.2.0.1/builders/default.rbs +195 -0
  138. data/sig/shims/parser/3.2.0.1/manifest.yaml +7 -0
  139. data/sig/shims/parser/3.2.0.1/parser.rbs +201 -0
  140. data/sig/shims/parser/3.2.0.1/polyfill.rbs +4 -0
  141. data/sig/shims/thor/1.2.0.1/.rbs_meta.yaml +9 -0
  142. data/sig/shims/thor/1.2.0.1/manifest.yaml +7 -0
  143. data/sig/shims/thor/1.2.0.1/thor.rbs +17 -0
  144. data/solargraph.gemspec +26 -5
  145. metadata +181 -13
  146. data/lib/.rubocop.yml +0 -22
  147. data/lib/solargraph/parser/node_methods.rb +0 -97
metadata CHANGED
@@ -1,14 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solargraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.56.2
4
+ version: 0.58.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-07-29 00:00:00.000000000 Z
10
+ date: 2026-01-01 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: ast
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 2.4.3
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 2.4.3
12
26
  - !ruby/object:Gem::Dependency
13
27
  name: backport
14
28
  requirement: !ruby/object:Gem::Requirement
@@ -41,14 +55,14 @@ dependencies:
41
55
  name: bundler
42
56
  requirement: !ruby/object:Gem::Requirement
43
57
  requirements:
44
- - - "~>"
58
+ - - ">="
45
59
  - !ruby/object:Gem::Version
46
60
  version: '2.0'
47
61
  type: :runtime
48
62
  prerelease: false
49
63
  version_requirements: !ruby/object:Gem::Requirement
50
64
  requirements:
51
- - - "~>"
65
+ - - ">="
52
66
  - !ruby/object:Gem::Version
53
67
  version: '2.0'
54
68
  - !ruby/object:Gem::Dependency
@@ -155,6 +169,20 @@ dependencies:
155
169
  - - "~>"
156
170
  - !ruby/object:Gem::Version
157
171
  version: '0.6'
172
+ - !ruby/object:Gem::Dependency
173
+ name: open3
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: 0.2.1
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: 0.2.1
158
186
  - !ruby/object:Gem::Dependency
159
187
  name: parser
160
188
  requirement: !ruby/object:Gem::Requirement
@@ -187,16 +215,22 @@ dependencies:
187
215
  name: rbs
188
216
  requirement: !ruby/object:Gem::Requirement
189
217
  requirements:
190
- - - "~>"
218
+ - - ">="
191
219
  - !ruby/object:Gem::Version
192
220
  version: 3.6.1
221
+ - - "<="
222
+ - !ruby/object:Gem::Version
223
+ version: 4.0.0.dev.4
193
224
  type: :runtime
194
225
  prerelease: false
195
226
  version_requirements: !ruby/object:Gem::Requirement
196
227
  requirements:
197
- - - "~>"
228
+ - - ">="
198
229
  - !ruby/object:Gem::Version
199
230
  version: 3.6.1
231
+ - - "<="
232
+ - !ruby/object:Gem::Version
233
+ version: 4.0.0.dev.4
200
234
  - !ruby/object:Gem::Dependency
201
235
  name: reverse_markdown
202
236
  requirement: !ruby/object:Gem::Requirement
@@ -217,14 +251,14 @@ dependencies:
217
251
  requirements:
218
252
  - - "~>"
219
253
  - !ruby/object:Gem::Version
220
- version: '1.38'
254
+ version: '1.76'
221
255
  type: :runtime
222
256
  prerelease: false
223
257
  version_requirements: !ruby/object:Gem::Requirement
224
258
  requirements:
225
259
  - - "~>"
226
260
  - !ruby/object:Gem::Version
227
- version: '1.38'
261
+ version: '1.76'
228
262
  - !ruby/object:Gem::Dependency
229
263
  name: thor
230
264
  requirement: !ruby/object:Gem::Requirement
@@ -287,6 +321,20 @@ dependencies:
287
321
  - - "~>"
288
322
  - !ruby/object:Gem::Version
289
323
  version: '0.1'
324
+ - !ruby/object:Gem::Dependency
325
+ name: yard-activesupport-concern
326
+ requirement: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - "~>"
329
+ - !ruby/object:Gem::Version
330
+ version: '0.0'
331
+ type: :runtime
332
+ prerelease: false
333
+ version_requirements: !ruby/object:Gem::Requirement
334
+ requirements:
335
+ - - "~>"
336
+ - !ruby/object:Gem::Version
337
+ version: '0.0'
290
338
  - !ruby/object:Gem::Dependency
291
339
  name: pry
292
340
  requirement: !ruby/object:Gem::Requirement
@@ -343,20 +391,118 @@ dependencies:
343
391
  - - "~>"
344
392
  - !ruby/object:Gem::Version
345
393
  version: '3.5'
394
+ - !ruby/object:Gem::Dependency
395
+ name: rubocop
396
+ requirement: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - "~>"
399
+ - !ruby/object:Gem::Version
400
+ version: 1.80.0.0
401
+ type: :development
402
+ prerelease: false
403
+ version_requirements: !ruby/object:Gem::Requirement
404
+ requirements:
405
+ - - "~>"
406
+ - !ruby/object:Gem::Version
407
+ version: 1.80.0.0
408
+ - !ruby/object:Gem::Dependency
409
+ name: rubocop-rake
410
+ requirement: !ruby/object:Gem::Requirement
411
+ requirements:
412
+ - - "~>"
413
+ - !ruby/object:Gem::Version
414
+ version: 0.7.1
415
+ type: :development
416
+ prerelease: false
417
+ version_requirements: !ruby/object:Gem::Requirement
418
+ requirements:
419
+ - - "~>"
420
+ - !ruby/object:Gem::Version
421
+ version: 0.7.1
422
+ - !ruby/object:Gem::Dependency
423
+ name: rubocop-rspec
424
+ requirement: !ruby/object:Gem::Requirement
425
+ requirements:
426
+ - - "~>"
427
+ - !ruby/object:Gem::Version
428
+ version: 3.6.0
429
+ type: :development
430
+ prerelease: false
431
+ version_requirements: !ruby/object:Gem::Requirement
432
+ requirements:
433
+ - - "~>"
434
+ - !ruby/object:Gem::Version
435
+ version: 3.6.0
436
+ - !ruby/object:Gem::Dependency
437
+ name: rubocop-yard
438
+ requirement: !ruby/object:Gem::Requirement
439
+ requirements:
440
+ - - "~>"
441
+ - !ruby/object:Gem::Version
442
+ version: 1.0.0
443
+ type: :development
444
+ prerelease: false
445
+ version_requirements: !ruby/object:Gem::Requirement
446
+ requirements:
447
+ - - "~>"
448
+ - !ruby/object:Gem::Version
449
+ version: 1.0.0
346
450
  - !ruby/object:Gem::Dependency
347
451
  name: simplecov
348
452
  requirement: !ruby/object:Gem::Requirement
349
453
  requirements:
350
454
  - - "~>"
351
455
  - !ruby/object:Gem::Version
352
- version: '0.14'
456
+ version: '0.21'
457
+ type: :development
458
+ prerelease: false
459
+ version_requirements: !ruby/object:Gem::Requirement
460
+ requirements:
461
+ - - "~>"
462
+ - !ruby/object:Gem::Version
463
+ version: '0.21'
464
+ - !ruby/object:Gem::Dependency
465
+ name: simplecov-lcov
466
+ requirement: !ruby/object:Gem::Requirement
467
+ requirements:
468
+ - - "~>"
469
+ - !ruby/object:Gem::Version
470
+ version: '0.8'
471
+ type: :development
472
+ prerelease: false
473
+ version_requirements: !ruby/object:Gem::Requirement
474
+ requirements:
475
+ - - "~>"
476
+ - !ruby/object:Gem::Version
477
+ version: '0.8'
478
+ - !ruby/object:Gem::Dependency
479
+ name: undercover
480
+ requirement: !ruby/object:Gem::Requirement
481
+ requirements:
482
+ - - "~>"
483
+ - !ruby/object:Gem::Version
484
+ version: '0.7'
485
+ type: :development
486
+ prerelease: false
487
+ version_requirements: !ruby/object:Gem::Requirement
488
+ requirements:
489
+ - - "~>"
490
+ - !ruby/object:Gem::Version
491
+ version: '0.7'
492
+ - !ruby/object:Gem::Dependency
493
+ name: overcommit
494
+ requirement: !ruby/object:Gem::Requirement
495
+ requirements:
496
+ - - "~>"
497
+ - !ruby/object:Gem::Version
498
+ version: 0.68.0
353
499
  type: :development
354
500
  prerelease: false
355
501
  version_requirements: !ruby/object:Gem::Requirement
356
502
  requirements:
357
503
  - - "~>"
358
504
  - !ruby/object:Gem::Version
359
- version: '0.14'
505
+ version: 0.68.0
360
506
  - !ruby/object:Gem::Dependency
361
507
  name: webmock
362
508
  requirement: !ruby/object:Gem::Requirement
@@ -393,11 +539,15 @@ extensions: []
393
539
  extra_rdoc_files: []
394
540
  files:
395
541
  - ".github/FUNDING.yml"
542
+ - ".github/workflows/linting.yml"
396
543
  - ".github/workflows/plugins.yml"
397
544
  - ".github/workflows/rspec.yml"
398
545
  - ".github/workflows/typecheck.yml"
399
546
  - ".gitignore"
547
+ - ".overcommit.yml"
400
548
  - ".rspec"
549
+ - ".rubocop.yml"
550
+ - ".rubocop_todo.yml"
401
551
  - ".yardopts"
402
552
  - CHANGELOG.md
403
553
  - Gemfile
@@ -406,10 +556,10 @@ files:
406
556
  - Rakefile
407
557
  - SPONSORS.md
408
558
  - bin/solargraph
409
- - lib/.rubocop.yml
410
559
  - lib/solargraph.rb
411
560
  - lib/solargraph/api_map.rb
412
561
  - lib/solargraph/api_map/cache.rb
562
+ - lib/solargraph/api_map/constants.rb
413
563
  - lib/solargraph/api_map/index.rb
414
564
  - lib/solargraph/api_map/source_to_yard.rb
415
565
  - lib/solargraph/api_map/store.rb
@@ -418,6 +568,7 @@ files:
418
568
  - lib/solargraph/complex_type/type_methods.rb
419
569
  - lib/solargraph/complex_type/unique_type.rb
420
570
  - lib/solargraph/convention.rb
571
+ - lib/solargraph/convention/active_support_concern.rb
421
572
  - lib/solargraph/convention/base.rb
422
573
  - lib/solargraph/convention/data_definition.rb
423
574
  - lib/solargraph/convention/data_definition/data_assignment_node.rb
@@ -512,7 +663,6 @@ files:
512
663
  - lib/solargraph/parser.rb
513
664
  - lib/solargraph/parser/comment_ripper.rb
514
665
  - lib/solargraph/parser/flow_sensitive_typing.rb
515
- - lib/solargraph/parser/node_methods.rb
516
666
  - lib/solargraph/parser/node_processor.rb
517
667
  - lib/solargraph/parser/node_processor/base.rb
518
668
  - lib/solargraph/parser/parser_gem.rb
@@ -637,6 +787,7 @@ files:
637
787
  - lib/solargraph/views/search.erb
638
788
  - lib/solargraph/workspace.rb
639
789
  - lib/solargraph/workspace/config.rb
790
+ - lib/solargraph/workspace/require_paths.rb
640
791
  - lib/solargraph/yard_map.rb
641
792
  - lib/solargraph/yard_map/cache.rb
642
793
  - lib/solargraph/yard_map/helpers.rb
@@ -647,8 +798,24 @@ files:
647
798
  - lib/solargraph/yard_map/to_method.rb
648
799
  - lib/solargraph/yard_tags.rb
649
800
  - lib/solargraph/yardoc.rb
650
- - rbs/fills/tuple.rbs
801
+ - rbs/fills/bundler/0/bundler.rbs
802
+ - rbs/fills/open3/0/open3.rbs
803
+ - rbs/fills/rubygems/0/basic_specification.rbs
804
+ - rbs/fills/rubygems/0/errors.rbs
805
+ - rbs/fills/rubygems/0/spec_fetcher.rbs
806
+ - rbs/fills/rubygems/0/specification.rbs
807
+ - rbs/fills/tuple/tuple.rbs
651
808
  - rbs_collection.yaml
809
+ - sig/shims/ast/0/node.rbs
810
+ - sig/shims/ast/2.4/.rbs_meta.yaml
811
+ - sig/shims/ast/2.4/ast.rbs
812
+ - sig/shims/parser/3.2.0.1/builders/default.rbs
813
+ - sig/shims/parser/3.2.0.1/manifest.yaml
814
+ - sig/shims/parser/3.2.0.1/parser.rbs
815
+ - sig/shims/parser/3.2.0.1/polyfill.rbs
816
+ - sig/shims/thor/1.2.0.1/.rbs_meta.yaml
817
+ - sig/shims/thor/1.2.0.1/manifest.yaml
818
+ - sig/shims/thor/1.2.0.1/thor.rbs
652
819
  - solargraph.gemspec
653
820
  homepage: https://solargraph.org
654
821
  licenses:
@@ -658,6 +825,7 @@ metadata:
658
825
  bug_tracker_uri: https://github.com/castwide/solargraph/issues
659
826
  changelog_uri: https://github.com/castwide/solargraph/blob/master/CHANGELOG.md
660
827
  source_code_uri: https://github.com/castwide/solargraph
828
+ rubygems_mfa_required: 'true'
661
829
  rdoc_options: []
662
830
  require_paths:
663
831
  - lib
data/lib/.rubocop.yml DELETED
@@ -1,22 +0,0 @@
1
- AllCops:
2
- NewCops: enable
3
- Style/MethodDefParentheses:
4
- Enabled: false
5
- Layout/EmptyLineAfterGuardClause:
6
- Enabled: false
7
- Layout/SpaceAroundMethodCallOperator:
8
- Enabled: true
9
- Lint/RaiseException:
10
- Enabled: true
11
- Lint/StructNewOverride:
12
- Enabled: true
13
- Metrics/MethodLength:
14
- Max: 25
15
- Style/ExponentialNotation:
16
- Enabled: true
17
- Style/HashEachMethods:
18
- Enabled: true
19
- Style/HashTransformKeys:
20
- Enabled: true
21
- Style/HashTransformValues:
22
- Enabled: true
@@ -1,97 +0,0 @@
1
- module Solargraph
2
- module Parser
3
- class NodeMethods
4
- module_function
5
-
6
- # @abstract
7
- # @param node [Parser::AST::Node]
8
- # @return [String]
9
- def unpack_name node
10
- raise NotImplementedError
11
- end
12
-
13
- # @abstract
14
- # @todo Temporarily here for testing. Move to Solargraph::Parser.
15
- # @param node [Parser::AST::Node]
16
- # @return [Array<Parser::AST::Node>]
17
- def call_nodes_from node
18
- raise NotImplementedError
19
- end
20
-
21
- # Find all the nodes within the provided node that potentially return a
22
- # value.
23
- #
24
- # The node parameter typically represents a method's logic, e.g., the
25
- # second child (after the :args node) of a :def node. A simple one-line
26
- # method would typically return itself, while a node with conditions
27
- # would return the resulting node from each conditional branch. Nodes
28
- # that follow a :return node are assumed to be unreachable. Nil values
29
- # are converted to nil node types.
30
- #
31
- # @abstract
32
- # @param node [Parser::AST::Node]
33
- # @return [Array<Parser::AST::Node>]
34
- def returns_from_method_body node
35
- raise NotImplementedError
36
- end
37
-
38
- # @abstract
39
- # @param node [Parser::AST::Node]
40
- #
41
- # @return [Array<Parser::AST::Node>]
42
- def const_nodes_from node
43
- raise NotImplementedError
44
- end
45
-
46
- # @abstract
47
- # @param cursor [Solargraph::Source::Cursor]
48
- # @return [Parser::AST::Node, nil]
49
- def find_recipient_node cursor
50
- raise NotImplementedError
51
- end
52
-
53
- # @abstract
54
- # @param node [Parser::AST::Node]
55
- # @return [Array<AST::Node>] low-level value nodes in
56
- # value position. Does not include explicit return
57
- # statements
58
- def value_position_nodes_only(node)
59
- raise NotImplementedError
60
- end
61
-
62
- # @abstract
63
- # @param nodes [Enumerable<Parser::AST::Node>]
64
- def any_splatted_call?(nodes)
65
- raise NotImplementedError
66
- end
67
-
68
- # @abstract
69
- # @param node [Parser::AST::Node]
70
- # @return [void]
71
- def process node
72
- raise NotImplementedError
73
- end
74
-
75
- # @abstract
76
- # @param node [Parser::AST::Node]
77
- # @return [Hash{Parser::AST::Node => Source::Chain}]
78
- def convert_hash node
79
- raise NotImplementedError
80
- end
81
-
82
- # @abstract
83
- # @param node [Parser::AST::Node]
84
- # @return [Position]
85
- def get_node_start_position(node)
86
- raise NotImplementedError
87
- end
88
-
89
- # @abstract
90
- # @param node [Parser::AST::Node]
91
- # @return [Position]
92
- def get_node_end_position(node)
93
- raise NotImplementedError
94
- end
95
- end
96
- end
97
- end