parser 3.3.7.3 → 3.3.7.4

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: 5db654890bf37a3f5e77076bfda47c36a58558c0a06a67d2384f5c93727c122d
4
- data.tar.gz: 04e507c2942abe2fcb0ec9fb8e8687cec667e528e25f068cad15fafe575e8e88
3
+ metadata.gz: 25b417c32007a795266f1f747b0863b4a1c121ee3261cf251b63618469944926
4
+ data.tar.gz: a191fef9e9a3862c2f062cd9f790fb844486502da486b2755e336c128545dfc3
5
5
  SHA512:
6
- metadata.gz: 1dccc24c1be72b3b5f5fb89da1e32d93b830533f1ed8eaf107a1a8ceb35d83a5ffc69e079daea19a93bc1e27072303b1ba4b8cd4aee18413bdd2be62728870a0
7
- data.tar.gz: e38ad2f5f8caedfbd1cf26b27b5936101f52e39eeab8d665c63a0aed35e2dece3f54ad7308e1e858d443aa6f54da7b3fa6fbb2dc18ea9f5dd31fbfd8b4c5dcfa
6
+ metadata.gz: 735028b66a029d6ec460b604a20ace8b640b0783006d504b41ca90c965da2aaf08017ee91d9121ea5780d7862f2a2f311725648b5102ccbaf79dd3ee2f962c6d
7
+ data.tar.gz: 24461b6d10a3edfd8a9bc56ab7a21e8d1c4ca99dae56114f0134a46b2d0f8b5843d662d876d758d2e59eced666b7dd94e08635c1fb40ae00df054043d9af3aa2
@@ -1120,15 +1120,19 @@ module Parser
1120
1120
  end
1121
1121
 
1122
1122
  def block(method_call, begin_t, args, body, end_t)
1123
- _receiver, _selector, *call_args = *method_call
1124
-
1125
1123
  if method_call.type == :yield
1126
1124
  diagnostic :error, :block_given_to_yield, nil, method_call.loc.keyword, [loc(begin_t)]
1127
1125
  end
1128
1126
 
1129
- last_arg = call_args.last
1127
+ if method_call.type == :super
1128
+ *_args, last_arg = *method_call
1129
+ else
1130
+ _receiver, _selector, *_args, last_arg = *method_call
1131
+ end
1130
1132
  if last_arg && (last_arg.type == :block_pass || last_arg.type == :forwarded_args)
1131
- diagnostic :error, :block_and_blockarg, nil, last_arg.loc.expression, [loc(begin_t)]
1133
+ if (@parser.version == 33 && method_call.type != :super) || @parser.version != 33
1134
+ diagnostic :error, :block_and_blockarg, nil, last_arg.loc.expression, [loc(begin_t)]
1135
+ end
1132
1136
  end
1133
1137
 
1134
1138
  if args.type == :numargs
@@ -1192,6 +1196,10 @@ module Parser
1192
1196
  end
1193
1197
 
1194
1198
  def index_asgn(receiver, lbrack_t, indexes, rbrack_t)
1199
+ if self.class.emit_kwargs
1200
+ rewrite_hash_args_to_kwargs(indexes)
1201
+ end
1202
+
1195
1203
  if self.class.emit_index
1196
1204
  n(:indexasgn, [ receiver, *indexes ],
1197
1205
  index_map(receiver, lbrack_t, rbrack_t))
@@ -2263,7 +2271,12 @@ module Parser
2263
2271
  source
2264
2272
  end
2265
2273
 
2266
- Regexp.new(source, (Regexp::EXTENDED if options.children.include?(:x)))
2274
+ begin
2275
+ old_verbose, $VERBOSE = $VERBOSE, nil
2276
+ Regexp.new(source, (Regexp::EXTENDED if options.children.include?(:x)))
2277
+ ensure
2278
+ $VERBOSE = old_verbose
2279
+ end
2267
2280
  end
2268
2281
 
2269
2282
  def static_regexp_node(node)