parser 2.5.0.1 → 2.5.0.2

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
  SHA1:
3
- metadata.gz: 9ee63d086cc3d7ade55f51e03ac92d6f88315fb7
4
- data.tar.gz: 8efdd495d4866bfb27db7b0b15be94515b18a91f
3
+ metadata.gz: 1497971563a08dc36f4f331db195ebbe9d157082
4
+ data.tar.gz: 6af1b9d7f17195f6306c6de045c547ebc4dc77e4
5
5
  SHA512:
6
- metadata.gz: ae6472a338db72f9d422633eeb83fb6ba37f3f07e99f89d8d2661b840a08177aaffb2ffa8677a7d826f86278c94ba2434b68e00e265d43e7da3ca4998fceeb49
7
- data.tar.gz: 382b2d934d537bf496e74911a25a7caf286192955a50698f4a0c7b80d5b0f852feebd51d6beb0cd12381052960ab0c4687e26e965a43cab36269ec9919bf730e
6
+ metadata.gz: 0c87434346083e12a82d091d0e274ff0ef3766aac84704fad1d1b5f734bf1a884187c46570c474136bc04d0fb24122cdfc76eb5d32f0e4c79d1d31f986c8d110
7
+ data.tar.gz: bae16691e9e99837d7fc31551b31b4f2e98e0729ebf92a401a595b3b942e65de4b6819341e93e89c27cf9fa56951edd02b5201b63b77e9ec023e67e3b1f57768
@@ -1,6 +1,12 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ v2.5.0.2 (2018-02-22)
5
+ ---------------------
6
+
7
+ Bugs fixed:
8
+ * ruby24.y, ruby25.y: Replicate cmdargs handling from MRI. (#453) (Ilya Bylich)
9
+
4
10
  v2.5.0.1 (2018-02-21)
5
11
  ---------------------
6
12
 
@@ -955,20 +955,13 @@ rule
955
955
 
956
956
  result = @builder.begin_keyword(val[0], val[2], val[3])
957
957
  }
958
- | tLPAREN_ARG
959
- {
960
- result = @lexer.cmdarg.dup
961
- @lexer.cmdarg.clear
962
- }
963
- stmt
958
+ | tLPAREN_ARG stmt
964
959
  {
965
960
  @lexer.state = :expr_endarg
966
961
  }
967
962
  rparen
968
963
  {
969
- @lexer.cmdarg = val[1]
970
-
971
- result = @builder.begin(val[0], val[2], val[4])
964
+ result = @builder.begin(val[0], val[1], val[3])
972
965
  }
973
966
  | tLPAREN_ARG
974
967
  {
@@ -965,20 +965,13 @@ rule
965
965
 
966
966
  result = @builder.begin_keyword(val[0], val[2], val[3])
967
967
  }
968
- | tLPAREN_ARG
969
- {
970
- result = @lexer.cmdarg.dup
971
- @lexer.cmdarg.clear
972
- }
973
- stmt
968
+ | tLPAREN_ARG stmt
974
969
  {
975
970
  @lexer.state = :expr_endarg
976
971
  }
977
972
  rparen
978
973
  {
979
- @lexer.cmdarg = val[1]
980
-
981
- result = @builder.begin(val[0], val[2], val[4])
974
+ result = @builder.begin(val[0], val[1], val[3])
982
975
  }
983
976
  | tLPAREN_ARG
984
977
  {
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parser
4
- VERSION = '2.5.0.1'
4
+ VERSION = '2.5.0.2'
5
5
  end
@@ -122,6 +122,9 @@ module ParseHelper
122
122
 
123
123
  assert_source_range(begin_pos, end_pos, range, version, line.inspect)
124
124
  end
125
+
126
+ assert_equal parser.instance_eval { @lexer }.cmdarg.instance_eval { @stack }, 0,
127
+ "(#{version}) expected cmdarg to be empty after parsing"
125
128
  end
126
129
 
127
130
  # Use like this:
@@ -6781,4 +6781,20 @@ class TestParser < Minitest::Test
6781
6781
  %q{},
6782
6782
  SINCE_1_9)
6783
6783
  end
6784
+
6785
+ def test_bug_452
6786
+ assert_parses(
6787
+ s(:begin,
6788
+ s(:send, nil, :td,
6789
+ s(:send,
6790
+ s(:begin,
6791
+ s(:int, 1500)), :toString)),
6792
+ s(:block,
6793
+ s(:send,
6794
+ s(:send, nil, :td), :num),
6795
+ s(:args), nil)),
6796
+ %q{td (1_500).toString(); td.num do; end},
6797
+ %q{},
6798
+ ALL_VERSIONS)
6799
+ end
6784
6800
  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: 2.5.0.1
4
+ version: 2.5.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - whitequark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-21 00:00:00.000000000 Z
11
+ date: 2018-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ast