ruby_parser 3.8.3 → 3.8.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.
data/lib/ruby23_parser.y CHANGED
@@ -652,7 +652,7 @@ rule
652
652
  | arg tDOT2 arg
653
653
  {
654
654
  v1, v2 = val[0], val[2]
655
- if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then
655
+ if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
656
656
  result = s(:lit, (v1.last)..(v2.last))
657
657
  else
658
658
  result = s(:dot2, v1, v2)
@@ -661,7 +661,7 @@ rule
661
661
  | arg tDOT3 arg
662
662
  {
663
663
  v1, v2 = val[0], val[2]
664
- if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then
664
+ if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
665
665
  result = s(:lit, (v1.last)...(v2.last))
666
666
  else
667
667
  result = s(:dot3, v1, v2)
@@ -2216,7 +2216,7 @@ keyword_variable: kNIL { result = s(:nil) }
2216
2216
  }
2217
2217
  | kwrest_mark
2218
2218
  {
2219
- debug20 36, val, result
2219
+ result = :"**"
2220
2220
  }
2221
2221
 
2222
2222
  f_opt: f_arg_asgn tEQL arg_value
data/lib/ruby_lexer.rb CHANGED
@@ -788,7 +788,7 @@ class RubyLexer
788
788
  else
789
789
  result(state, :kDO, value)
790
790
  end
791
- when in_lex_state?(:expr_beg, :expr_value) then # TODO: :expr_labelarg
791
+ when in_lex_state?(:expr_beg, :expr_value, :expr_labelarg) then
792
792
  result(state, keyword.id0, value)
793
793
  when keyword.id0 != keyword.id1 then
794
794
  result(:expr_beg, keyword.id1, value)
@@ -1,7 +1,7 @@
1
1
  # encoding: UTF-8
2
2
  #--
3
3
  # This file is automatically generated. Do not modify it.
4
- # Generated by: oedipus_lex version 2.4.1.
4
+ # Generated by: oedipus_lex version 2.5.0.
5
5
  # Source: lib/ruby_lexer.rex
6
6
  #++
7
7
 
data/lib/ruby_parser.yy CHANGED
@@ -675,7 +675,7 @@ rule
675
675
  | arg tDOT2 arg
676
676
  {
677
677
  v1, v2 = val[0], val[2]
678
- if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then
678
+ if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
679
679
  result = s(:lit, (v1.last)..(v2.last))
680
680
  else
681
681
  result = s(:dot2, v1, v2)
@@ -684,7 +684,7 @@ rule
684
684
  | arg tDOT3 arg
685
685
  {
686
686
  v1, v2 = val[0], val[2]
687
- if v1.node_type == :lit and v2.node_type == :lit and Fixnum === v1.last and Fixnum === v2.last then
687
+ if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
688
688
  result = s(:lit, (v1.last)...(v2.last))
689
689
  else
690
690
  result = s(:dot3, v1, v2)
@@ -2287,7 +2287,7 @@ keyword_variable: kNIL { result = s(:nil) }
2287
2287
  }
2288
2288
  | kwrest_mark
2289
2289
  {
2290
- debug20 36, val, result
2290
+ result = :"**"
2291
2291
  }
2292
2292
 
2293
2293
  #if defined(RUBY20)
@@ -91,7 +91,7 @@ class RPStringScanner < StringScanner
91
91
  end
92
92
 
93
93
  module RubyParserStuff
94
- VERSION = "3.8.3" unless constants.include? "VERSION" # SIGH
94
+ VERSION = "3.8.4" unless constants.include? "VERSION" # SIGH
95
95
 
96
96
  attr_accessor :lexer, :in_def, :in_single, :file
97
97
  attr_reader :env, :comments
@@ -109,7 +109,7 @@ module RubyParserStuff
109
109
 
110
110
  ruby19 = "".respond_to? :encoding
111
111
 
112
- # Rhis is in sorted order of occurrence according to
112
+ # This is in sorted order of occurrence according to
113
113
  # charlock_holmes against 500k files, with UTF_8 forced
114
114
  # to the top.
115
115
  #
@@ -2083,6 +2083,13 @@ module TestRubyParserShared19to22
2083
2083
  assert_parse rb, pt
2084
2084
  end
2085
2085
 
2086
+ def test_call_assoc_new_if_multiline
2087
+ rb = "a(b: if :c\n1\nelse\n2\nend)"
2088
+ pt = s(:call, nil, :a, s(:hash, s(:lit, :b), s(:if, s(:lit, :c), s(:lit, 1), s(:lit, 2))))
2089
+
2090
+ assert_parse rb, pt
2091
+ end
2092
+
2086
2093
  def test_do_lambda
2087
2094
  rb = "->() do end"
2088
2095
  pt = s(:iter, s(:call, nil, :lambda), s(:args))
@@ -2255,6 +2262,13 @@ module TestRubyParserShared20to22
2255
2262
  assert_parse rb, pt
2256
2263
  end
2257
2264
 
2265
+ def test_defn_kwarg_kwsplat_anon
2266
+ rb = "def a(b: 1, **) end"
2267
+ pt = s(:defn, :a, s(:args, s(:kwarg, :b, s(:lit, 1)), :"**"), s(:nil))
2268
+
2269
+ assert_parse rb, pt
2270
+ end
2271
+
2258
2272
  def test_defn_kwarg_env
2259
2273
  rb = "def test(**testing) test_splat(**testing) end"
2260
2274
  pt = s(:defn, :test, s(:args, :"**testing"),
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'minitest/autorun'
5
5
  require 'ruby_parser_extras'
6
6
 
7
- require 'minitest/unit'
7
+ require 'minitest/test'
8
8
 
9
9
  class TestStackState < Minitest::Test
10
10
  attr_reader :s
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.3
4
+ version: 3.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
@@ -30,92 +30,92 @@ cert_chain:
30
30
  E4oJcnPkJAr0rw504JGtlZtONZQblwmRJOIdXzolaE3NRGUzGVOUSptZppAKiavY
31
31
  fO6tdKQc/5RfA8oQEkg8hrxA5PQSz4TOFJGLpFvIapEk6tMruQ0bHgkhr9auXg==
32
32
  -----END CERTIFICATE-----
33
- date: 2016-10-09 00:00:00.000000000 Z
33
+ date: 2017-01-13 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: sexp_processor
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ~>
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '4.1'
42
42
  type: :runtime
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - ~>
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
48
  version: '4.1'
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - <
53
+ - - "<"
54
54
  - !ruby/object:Gem::Version
55
55
  version: '11'
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - <
60
+ - - "<"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '11'
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: oedipus_lex
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '2.1'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
76
  version: '2.1'
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: rdoc
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '4.0'
84
84
  type: :development
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: '4.0'
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: racc
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: 1.4.6
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - ~>
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
104
  version: 1.4.6
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: hoe
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - ~>
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '3.15'
111
+ version: '3.16'
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ~>
116
+ - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '3.15'
118
+ version: '3.16'
119
119
  description: |-
120
120
  ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
121
121
  racc--which does by default use a C extension). RP's output is
@@ -150,14 +150,14 @@ executables:
150
150
  - ruby_parse_extract_error
151
151
  extensions: []
152
152
  extra_rdoc_files:
153
- - History.txt
153
+ - History.rdoc
154
154
  - Manifest.txt
155
- - README.txt
155
+ - README.rdoc
156
156
  files:
157
- - .autotest
158
- - History.txt
157
+ - ".autotest"
158
+ - History.rdoc
159
159
  - Manifest.txt
160
- - README.txt
160
+ - README.rdoc
161
161
  - Rakefile
162
162
  - bin/ruby_parse
163
163
  - bin/ruby_parse_extract_error
@@ -189,23 +189,23 @@ licenses:
189
189
  metadata: {}
190
190
  post_install_message:
191
191
  rdoc_options:
192
- - --main
193
- - README.txt
192
+ - "--main"
193
+ - README.rdoc
194
194
  require_paths:
195
195
  - lib
196
196
  required_ruby_version: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - '>='
198
+ - - ">="
199
199
  - !ruby/object:Gem::Version
200
200
  version: '0'
201
201
  required_rubygems_version: !ruby/object:Gem::Requirement
202
202
  requirements:
203
- - - '>='
203
+ - - ">="
204
204
  - !ruby/object:Gem::Version
205
205
  version: '0'
206
206
  requirements: []
207
207
  rubyforge_project:
208
- rubygems_version: 2.4.5
208
+ rubygems_version: 2.6.8
209
209
  signing_key:
210
210
  specification_version: 4
211
211
  summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which
metadata.gz.sig CHANGED
Binary file