solargraph 0.55.2 → 0.55.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a2f6018173b0c7fb772fb29ddcfac606af3bdc3495793eb88c35573164ba64d
4
- data.tar.gz: 622be262bbfda497e13caf68d769cd30d4de62ff1aa6ee04ec80f7627af1af43
3
+ metadata.gz: b92431804c7f970e2e2584375047eedef4155a24ac07e37dd0cfd5b9f3a4b562
4
+ data.tar.gz: e60ed915ee5ff35d91e66d0d15287d8a58f7c295080041d601c833092767bde9
5
5
  SHA512:
6
- metadata.gz: 4c0f53c95bacfd15f7e1d90a160df31799777ebbfd6a5728dcef38cab0e9a88741b1ce4a392a5dd5ccbec0a395867b17c766b08fce4dadd9000c51bdb36edae3
7
- data.tar.gz: '08298eef6f231bbf2379186b8d9a37885386774f164c16f45897d3d0c1347f44460b2eb997bbc5410b01a503b92bc141549724692a38414f9e4fc386177a22c6'
6
+ metadata.gz: e4d6a6fd86d4942dac41fbfe67d7860ed1bdc9534414c26adae8bba3b6cf2a402691a0de5adaf89fcf49fbb8d11fba81230d683ec4b7aed01c5b0a73671dd3fa
7
+ data.tar.gz: 1b12d4bfbdb9bcca0e87585fc985252ec6d343929b16f9317f12223f8e6d2d413ebb6a9674911eb09189c817703c35fbe5acb3c364666cb1f05dadd188279940
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.55.3 - June 25, 2025
2
+ - Nil guards in flow-sensitive typing (patch release) #980
3
+
1
4
  ## 0.55.2 - June 21, 2025
2
5
  - Require external bundle (#972)
3
6
 
@@ -152,8 +152,6 @@ module Solargraph
152
152
  # @param isa_node [Parser::AST::Node]
153
153
  # @return [Array(String, String)]
154
154
  def parse_isa(isa_node)
155
- # @todo A nil guard might be good enough here, but we might want to
156
- # see if the callers are checking for nils instead.
157
155
  return unless isa_node&.type == :send && isa_node.children[1] == :is_a?
158
156
  # Check if conditional node follows this pattern:
159
157
  # s(:send,
@@ -166,12 +164,12 @@ module Solargraph
166
164
  # check if isa_receiver looks like this:
167
165
  # s(:send, nil, :foo)
168
166
  # and set variable_name to :foo
169
- if isa_receiver.type == :send && isa_receiver.children[0].nil? && isa_receiver.children[1].is_a?(Symbol)
167
+ if isa_receiver&.type == :send && isa_receiver.children[0].nil? && isa_receiver.children[1].is_a?(Symbol)
170
168
  variable_name = isa_receiver.children[1].to_s
171
169
  end
172
170
  # or like this:
173
171
  # (lvar :repr)
174
- variable_name = isa_receiver.children[0].to_s if isa_receiver.type == :lvar
172
+ variable_name = isa_receiver.children[0].to_s if isa_receiver&.type == :lvar
175
173
  return unless variable_name
176
174
 
177
175
  [isa_type_name, variable_name]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Solargraph
4
- VERSION = '0.55.2'
4
+ VERSION = '0.55.3'
5
5
  end
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.55.2
4
+ version: 0.55.3
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-06-21 00:00:00.000000000 Z
11
+ date: 2025-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backport