parser 3.2.1.1 → 3.2.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4e9c12d9347a88fa7fb419e76b338e1d69a647a841be6c2440b0370f6bf3e5f
4
- data.tar.gz: 2a297a328b99e43ad62241d9c8a5cf1b73f68dcc13ed5afaabbd0028b547c6f5
3
+ metadata.gz: 8675f26d1fb8a457da79bb3f675a57647eefdefec8bf05d75bf97677e20860b0
4
+ data.tar.gz: fe0759d1f51da6d85b89b5cc9d1fb34a4493f2c58e71cef9598753b9643b2a0a
5
5
  SHA512:
6
- metadata.gz: 330a825c26fdcbc939dd171df1994b5879f38ba896c5130ef70bdf703dd26f374eec9b7511363ff3b84daebf4be9470b836e98b6086725510a14300eea5b8dde
7
- data.tar.gz: aa843389469df522448da099801725c294852d2641d9bc276319fa7fdd1cbfe1af88c898b7edc821cf948bf4d307617f2c1621c7f0bf3372d9bbef8868a724a1
6
+ metadata.gz: 2271cfa20f5c8bd349e8465f0b5f4f667309c410ec7f622ec330e28adf4b896b560e0ce2f744bc267b6a7e4be687dfe351599660b200487de5ef9a7f2317121c
7
+ data.tar.gz: 86e4b5e6368f0857ebeed00fafd2fb9ff274288602458aff86eac29324fa743c5acf4d3d5e45e0ea767b2501ec315888ef37b154d8c75069826b02631320f31d
@@ -538,34 +538,23 @@ module Parser
538
538
  end
539
539
 
540
540
  def associate(begin_t, pairs, end_t)
541
- 0.upto(pairs.length - 1) do |i|
542
- (i + 1).upto(pairs.length - 1) do |j|
543
- pair_i = pairs[i]
544
- pair_j = pairs[j]
541
+ key_set = Set.new
545
542
 
546
- next if pair_i.type != :pair || pair_j.type != :pair
543
+ pairs.each do |pair|
544
+ next unless pair.type.eql?(:pair)
547
545
 
548
- key1, = *pair_i
549
- key2, = *pair_j
546
+ key, = *pair
550
547
 
551
- do_warn = false
552
-
553
- # keys have to be simple nodes, MRI ignores equal composite keys like
554
- # `{ a(1) => 1, a(1) => 1 }`
555
- case key1.type
556
- when :sym, :str, :int, :float
557
- if key1 == key2
558
- do_warn = true
559
- end
560
- when :rational, :complex, :regexp
561
- if @parser.version >= 31 && key1 == key2
562
- do_warn = true
563
- end
564
- end
548
+ case key.type
549
+ when :sym, :str, :int, :float
550
+ when :rational, :complex, :regexp
551
+ next unless @parser.version >= 31
552
+ else
553
+ next
554
+ end
565
555
 
566
- if do_warn
567
- diagnostic :warning, :duplicate_hash_key, nil, key2.loc.expression
568
- end
556
+ unless key_set.add?(key)
557
+ diagnostic :warning, :duplicate_hash_key, nil, key.loc.expression
569
558
  end
570
559
  end
571
560
 
@@ -75,7 +75,7 @@ module Parser
75
75
  CurrentRuby = Ruby26
76
76
 
77
77
  when /^2\.7\./
78
- current_version = '2.7.7'
78
+ current_version = '2.7.8'
79
79
  if RUBY_VERSION != current_version
80
80
  warn_syntax_deviation 'parser/ruby27', current_version
81
81
  end
@@ -84,7 +84,7 @@ module Parser
84
84
  CurrentRuby = Ruby27
85
85
 
86
86
  when /^3\.0\./
87
- current_version = '3.0.5'
87
+ current_version = '3.0.6'
88
88
  if RUBY_VERSION != current_version
89
89
  warn_syntax_deviation 'parser/ruby30', current_version
90
90
  end
@@ -93,7 +93,7 @@ module Parser
93
93
  CurrentRuby = Ruby30
94
94
 
95
95
  when /^3\.1\./
96
- current_version = '3.1.3'
96
+ current_version = '3.1.4'
97
97
  if RUBY_VERSION != current_version
98
98
  warn_syntax_deviation 'parser/ruby31', current_version
99
99
  end
@@ -102,7 +102,7 @@ module Parser
102
102
  CurrentRuby = Ruby31
103
103
 
104
104
  when /^3\.2\./
105
- current_version = '3.2.1'
105
+ current_version = '3.2.2'
106
106
  if RUBY_VERSION != current_version
107
107
  warn_syntax_deviation 'parser/ruby32', current_version
108
108
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parser
4
- VERSION = '3.2.1.1'
4
+ VERSION = '3.2.2.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1.1
4
+ version: 3.2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - whitequark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-08 00:00:00.000000000 Z
11
+ date: 2023-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ast
@@ -249,9 +249,9 @@ licenses:
249
249
  - MIT
250
250
  metadata:
251
251
  bug_tracker_uri: https://github.com/whitequark/parser/issues
252
- changelog_uri: https://github.com/whitequark/parser/blob/v3.2.1.1/CHANGELOG.md
253
- documentation_uri: https://www.rubydoc.info/gems/parser/3.2.1.1
254
- source_code_uri: https://github.com/whitequark/parser/tree/v3.2.1.1
252
+ changelog_uri: https://github.com/whitequark/parser/blob/v3.2.2.1/CHANGELOG.md
253
+ documentation_uri: https://www.rubydoc.info/gems/parser/3.2.2.1
254
+ source_code_uri: https://github.com/whitequark/parser/tree/v3.2.2.1
255
255
  post_install_message:
256
256
  rdoc_options: []
257
257
  require_paths: