solargraph 0.54.5 → 0.55.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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/lib/solargraph/api_map/store.rb +3 -1
  4. data/lib/solargraph/api_map.rb +18 -8
  5. data/lib/solargraph/complex_type/unique_type.rb +88 -7
  6. data/lib/solargraph/complex_type.rb +35 -6
  7. data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +51 -0
  8. data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +100 -0
  9. data/lib/solargraph/convention/struct_definition.rb +101 -0
  10. data/lib/solargraph/convention.rb +1 -0
  11. data/lib/solargraph/doc_map.rb +42 -18
  12. data/lib/solargraph/language_server/host/message_worker.rb +10 -7
  13. data/lib/solargraph/language_server/host.rb +1 -0
  14. data/lib/solargraph/location.rb +8 -0
  15. data/lib/solargraph/parser/comment_ripper.rb +11 -6
  16. data/lib/solargraph/parser/flow_sensitive_typing.rb +226 -0
  17. data/lib/solargraph/parser/node_methods.rb +14 -0
  18. data/lib/solargraph/parser/node_processor.rb +0 -1
  19. data/lib/solargraph/parser/parser_gem/class_methods.rb +9 -0
  20. data/lib/solargraph/parser/parser_gem/node_chainer.rb +10 -10
  21. data/lib/solargraph/parser/parser_gem/node_methods.rb +3 -1
  22. data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +21 -0
  23. data/lib/solargraph/parser/parser_gem/node_processors/casgn_node.rb +21 -1
  24. data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +21 -0
  25. data/lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb +26 -5
  26. data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +41 -0
  27. data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +28 -0
  28. data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +28 -0
  29. data/lib/solargraph/parser/parser_gem/node_processors.rb +10 -0
  30. data/lib/solargraph/parser.rb +1 -0
  31. data/lib/solargraph/pin/base.rb +9 -3
  32. data/lib/solargraph/pin/base_variable.rb +7 -1
  33. data/lib/solargraph/pin/block.rb +2 -0
  34. data/lib/solargraph/pin/breakable.rb +9 -0
  35. data/lib/solargraph/pin/local_variable.rb +7 -1
  36. data/lib/solargraph/pin/method.rb +20 -18
  37. data/lib/solargraph/pin/namespace.rb +10 -7
  38. data/lib/solargraph/pin/parameter.rb +13 -5
  39. data/lib/solargraph/pin/proxy_type.rb +12 -6
  40. data/lib/solargraph/pin/until.rb +18 -0
  41. data/lib/solargraph/pin/while.rb +18 -0
  42. data/lib/solargraph/pin.rb +3 -0
  43. data/lib/solargraph/rbs_map/conversions.rb +8 -8
  44. data/lib/solargraph/rbs_map/core_fills.rb +10 -3
  45. data/lib/solargraph/source/chain/array.rb +4 -3
  46. data/lib/solargraph/source/chain/call.rb +46 -17
  47. data/lib/solargraph/source/chain/constant.rb +1 -1
  48. data/lib/solargraph/source/chain/hash.rb +3 -2
  49. data/lib/solargraph/source/chain/link.rb +2 -0
  50. data/lib/solargraph/source/chain/literal.rb +22 -2
  51. data/lib/solargraph/source/chain/z_super.rb +1 -1
  52. data/lib/solargraph/source/chain.rb +77 -47
  53. data/lib/solargraph/source/source_chainer.rb +2 -2
  54. data/lib/solargraph/source_map/clip.rb +3 -1
  55. data/lib/solargraph/type_checker/checks.rb +4 -0
  56. data/lib/solargraph/type_checker.rb +35 -8
  57. data/lib/solargraph/version.rb +1 -1
  58. data/lib/solargraph/yard_map/mapper/to_method.rb +42 -15
  59. metadata +14 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solargraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.54.5
4
+ version: 0.55.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-05-17 00:00:00.000000000 Z
11
+ date: 2025-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backport
@@ -410,6 +410,9 @@ files:
410
410
  - lib/solargraph/convention/gemfile.rb
411
411
  - lib/solargraph/convention/gemspec.rb
412
412
  - lib/solargraph/convention/rakefile.rb
413
+ - lib/solargraph/convention/struct_definition.rb
414
+ - lib/solargraph/convention/struct_definition/struct_assignment_node.rb
415
+ - lib/solargraph/convention/struct_definition/struct_definition_node.rb
413
416
  - lib/solargraph/converters/dd.rb
414
417
  - lib/solargraph/converters/dl.rb
415
418
  - lib/solargraph/converters/dt.rb
@@ -493,6 +496,7 @@ files:
493
496
  - lib/solargraph/page.rb
494
497
  - lib/solargraph/parser.rb
495
498
  - lib/solargraph/parser/comment_ripper.rb
499
+ - lib/solargraph/parser/flow_sensitive_typing.rb
496
500
  - lib/solargraph/parser/node_methods.rb
497
501
  - lib/solargraph/parser/node_processor.rb
498
502
  - lib/solargraph/parser/node_processor/base.rb
@@ -503,6 +507,7 @@ files:
503
507
  - lib/solargraph/parser/parser_gem/node_methods.rb
504
508
  - lib/solargraph/parser/parser_gem/node_processors.rb
505
509
  - lib/solargraph/parser/parser_gem/node_processors/alias_node.rb
510
+ - lib/solargraph/parser/parser_gem/node_processors/and_node.rb
506
511
  - lib/solargraph/parser/parser_gem/node_processors/args_node.rb
507
512
  - lib/solargraph/parser/parser_gem/node_processors/begin_node.rb
508
513
  - lib/solargraph/parser/parser_gem/node_processors/block_node.rb
@@ -511,21 +516,26 @@ files:
511
516
  - lib/solargraph/parser/parser_gem/node_processors/def_node.rb
512
517
  - lib/solargraph/parser/parser_gem/node_processors/defs_node.rb
513
518
  - lib/solargraph/parser/parser_gem/node_processors/gvasgn_node.rb
519
+ - lib/solargraph/parser/parser_gem/node_processors/if_node.rb
514
520
  - lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb
515
521
  - lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb
516
522
  - lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb
517
523
  - lib/solargraph/parser/parser_gem/node_processors/namespace_node.rb
524
+ - lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb
518
525
  - lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb
519
526
  - lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb
520
527
  - lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb
521
528
  - lib/solargraph/parser/parser_gem/node_processors/send_node.rb
522
529
  - lib/solargraph/parser/parser_gem/node_processors/sym_node.rb
530
+ - lib/solargraph/parser/parser_gem/node_processors/until_node.rb
531
+ - lib/solargraph/parser/parser_gem/node_processors/while_node.rb
523
532
  - lib/solargraph/parser/region.rb
524
533
  - lib/solargraph/parser/snippet.rb
525
534
  - lib/solargraph/pin.rb
526
535
  - lib/solargraph/pin/base.rb
527
536
  - lib/solargraph/pin/base_variable.rb
528
537
  - lib/solargraph/pin/block.rb
538
+ - lib/solargraph/pin/breakable.rb
529
539
  - lib/solargraph/pin/callable.rb
530
540
  - lib/solargraph/pin/class_variable.rb
531
541
  - lib/solargraph/pin/closure.rb
@@ -556,6 +566,8 @@ files:
556
566
  - lib/solargraph/pin/signature.rb
557
567
  - lib/solargraph/pin/singleton.rb
558
568
  - lib/solargraph/pin/symbol.rb
569
+ - lib/solargraph/pin/until.rb
570
+ - lib/solargraph/pin/while.rb
559
571
  - lib/solargraph/position.rb
560
572
  - lib/solargraph/range.rb
561
573
  - lib/solargraph/rbs_map.rb