parser 3.3.0.0 → 3.3.0.4

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: 780dd5ff7826fc0f5732ce77431124b80780db4aba31bb969778f856f3f3f856
4
- data.tar.gz: 597eb758eb6f50230e1541bd30b317b43ef6efa060d1ae276f556e90f23ac50e
3
+ metadata.gz: f4c06be1f5fd2e6ac1b77b2cf23b50de5f7d3d312652e08a01d9baabc5e6169b
4
+ data.tar.gz: aadb7b705dbb69ada4f4969a0260f7cb0b8a4cca215ee7196a87ac138dfeaa01
5
5
  SHA512:
6
- metadata.gz: 0c3ce1ff689c04a1bbdc85b96bca0e14d5a7db8f6226436bc7782753827d3db872d311d34ab53a25649e36d7ef9f41c8c88e739a4b34a0caa1ca8a2e703801cb
7
- data.tar.gz: 489be4885d7f1c3d011898b9790140b6aa4a1cca356dfb2a7f488d73fc3050ac08e7182bcb6a91f01a0167542ca388da3c71b5512bbdbae155163eaa496ac2ef
6
+ metadata.gz: b8405daa8407ac30047d46a21a53fd99aa1c06b5d9aad7bb0c1f9712fd870b0ac71d05e19a4c4b47a2d1a654946c78dc356498b308fcfaed616a15dc633f1564
7
+ data.tar.gz: 29129efbf1889905519ea211b695ad1a138719bb3583e6b31692f54bef7508610b8b830a4caa038e9356fe6f517c0914e78ab6e3df855e2659bc28fece75e83c
data/lib/parser/all.rb CHANGED
@@ -14,3 +14,4 @@ require 'parser/ruby30'
14
14
  require 'parser/ruby31'
15
15
  require 'parser/ruby32'
16
16
  require 'parser/ruby33'
17
+ require 'parser/ruby34'
@@ -119,6 +119,15 @@ module Parser
119
119
  require 'parser/ruby33'
120
120
  CurrentRuby = Ruby33
121
121
 
122
+ when /^3\.4\./
123
+ current_version = '3.4.0'
124
+ if RUBY_VERSION != current_version
125
+ warn_syntax_deviation 'parser/ruby34', current_version
126
+ end
127
+
128
+ require 'parser/ruby34'
129
+ CurrentRuby = Ruby34
130
+
122
131
  else # :nocov:
123
132
  # Keep this in sync with released Ruby.
124
133
  warn_syntax_deviation 'parser/ruby33', '3.3.x'
@@ -6,6 +6,7 @@ module Parser
6
6
  class Lexer::Literal
7
7
  DELIMITERS = { '(' => ')', '[' => ']', '{' => '}', '<' => '>' }
8
8
  SPACE = ' '.ord
9
+ TAB = "\t".ord
9
10
 
10
11
  TYPES = {
11
12
  # type start token interpolate?
@@ -247,7 +248,7 @@ module Parser
247
248
  # E
248
249
  # because there are not enough leading spaces in the closing delimiter.
249
250
  delimiter.end_with?(@end_delim) &&
250
- delimiter.delete_suffix(@end_delim).bytes.all? { |c| c == SPACE }
251
+ delimiter.sub(/#{Regexp.escape(@end_delim)}\z/, '').bytes.all? { |c| c == SPACE || c == TAB }
251
252
  elsif @indent
252
253
  @end_delim == delimiter.lstrip
253
254
  else