parser 2.7.1.4 → 3.0.1.1
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 +4 -4
- data/lib/parser.rb +1 -1
- data/lib/parser/all.rb +2 -1
- data/lib/parser/ast/processor.rb +3 -7
- data/lib/parser/base.rb +7 -5
- data/lib/parser/builders/default.rb +178 -29
- data/lib/parser/context.rb +4 -0
- data/lib/parser/current.rb +20 -11
- data/lib/parser/current_arg_stack.rb +5 -2
- data/lib/parser/lexer.rb +23780 -0
- data/lib/parser/macruby.rb +6149 -0
- data/lib/parser/max_numparam_stack.rb +13 -5
- data/lib/parser/messages.rb +3 -0
- data/lib/parser/meta.rb +7 -6
- data/lib/parser/ruby18.rb +5667 -0
- data/lib/parser/ruby19.rb +6092 -0
- data/lib/parser/ruby20.rb +6527 -0
- data/lib/parser/ruby21.rb +6578 -0
- data/lib/parser/ruby22.rb +6613 -0
- data/lib/parser/ruby23.rb +6624 -0
- data/lib/parser/ruby24.rb +6694 -0
- data/lib/parser/ruby25.rb +6662 -0
- data/lib/parser/ruby26.rb +6676 -0
- data/lib/parser/ruby27.rb +7862 -0
- data/lib/parser/ruby28.rb +8047 -0
- data/lib/parser/ruby30.rb +8060 -0
- data/lib/parser/ruby31.rb +8075 -0
- data/lib/parser/rubymotion.rb +6086 -0
- data/lib/parser/runner.rb +9 -4
- data/lib/parser/source/buffer.rb +50 -27
- data/lib/parser/source/comment.rb +14 -1
- data/lib/parser/source/comment/associator.rb +18 -5
- data/lib/parser/source/map/{endless_definition.rb → method_definition.rb} +5 -3
- data/lib/parser/source/range.rb +2 -2
- data/lib/parser/source/tree_rewriter.rb +27 -0
- data/lib/parser/static_environment.rb +4 -0
- data/lib/parser/variables_stack.rb +4 -0
- data/lib/parser/version.rb +1 -1
- data/parser.gemspec +1 -17
- metadata +9 -97
- data/.gitignore +0 -34
- data/.travis.yml +0 -40
- data/.yardopts +0 -21
- data/CHANGELOG.md +0 -1116
- data/CONTRIBUTING.md +0 -17
- data/Gemfile +0 -10
- data/README.md +0 -309
- data/Rakefile +0 -167
- data/ci/run_rubocop_specs +0 -14
- data/doc/AST_FORMAT.md +0 -2283
- data/doc/CUSTOMIZATION.md +0 -37
- data/doc/INTERNALS.md +0 -21
- data/doc/css/.gitkeep +0 -0
- data/doc/css/common.css +0 -68
- data/lib/parser/lexer.rl +0 -2550
- data/lib/parser/macruby.y +0 -2208
- data/lib/parser/ruby18.y +0 -1936
- data/lib/parser/ruby19.y +0 -2185
- data/lib/parser/ruby20.y +0 -2363
- data/lib/parser/ruby21.y +0 -2364
- data/lib/parser/ruby22.y +0 -2371
- data/lib/parser/ruby23.y +0 -2377
- data/lib/parser/ruby24.y +0 -2415
- data/lib/parser/ruby25.y +0 -2412
- data/lib/parser/ruby26.y +0 -2420
- data/lib/parser/ruby27.y +0 -2950
- data/lib/parser/ruby28.y +0 -3043
- data/lib/parser/rubymotion.y +0 -2192
- data/test/bug_163/fixtures/input.rb +0 -5
- data/test/bug_163/fixtures/output.rb +0 -5
- data/test/bug_163/rewriter.rb +0 -20
- data/test/helper.rb +0 -103
- data/test/parse_helper.rb +0 -323
- data/test/racc_coverage_helper.rb +0 -133
- data/test/test_ast_processor.rb +0 -32
- data/test/test_base.rb +0 -31
- data/test/test_current.rb +0 -31
- data/test/test_diagnostic.rb +0 -95
- data/test/test_diagnostic_engine.rb +0 -59
- data/test/test_encoding.rb +0 -99
- data/test/test_lexer.rb +0 -3617
- data/test/test_lexer_stack_state.rb +0 -78
- data/test/test_meta.rb +0 -12
- data/test/test_parse_helper.rb +0 -80
- data/test/test_parser.rb +0 -9780
- data/test/test_runner_parse.rb +0 -56
- data/test/test_runner_rewrite.rb +0 -47
- data/test/test_source_buffer.rb +0 -165
- data/test/test_source_comment.rb +0 -36
- data/test/test_source_comment_associator.rb +0 -399
- data/test/test_source_map.rb +0 -14
- data/test/test_source_range.rb +0 -192
- data/test/test_source_rewriter.rb +0 -541
- data/test/test_source_rewriter_action.rb +0 -46
- data/test/test_source_tree_rewriter.rb +0 -361
- data/test/test_static_environment.rb +0 -45
- data/test/using_tree_rewriter/fixtures/input.rb +0 -3
- data/test/using_tree_rewriter/fixtures/output.rb +0 -3
- data/test/using_tree_rewriter/using_tree_rewriter.rb +0 -9
data/lib/parser/runner.rb
CHANGED
@@ -37,7 +37,7 @@ module Parser
|
|
37
37
|
|
38
38
|
private
|
39
39
|
|
40
|
-
LEGACY_MODES = %i[lambda procarg0 encoding index arg_inside_procarg0 forward_arg].freeze
|
40
|
+
LEGACY_MODES = %i[lambda procarg0 encoding index arg_inside_procarg0 forward_arg kwargs match_pattern].freeze
|
41
41
|
|
42
42
|
def runner_name
|
43
43
|
raise NotImplementedError, "implement #{self.class}##{__callee__}"
|
@@ -113,9 +113,14 @@ module Parser
|
|
113
113
|
@parser_class = Parser::Ruby27
|
114
114
|
end
|
115
115
|
|
116
|
-
opts.on '--
|
117
|
-
require 'parser/
|
118
|
-
@parser_class = Parser::
|
116
|
+
opts.on '--30', 'Parse as Ruby 3.0 would' do
|
117
|
+
require 'parser/ruby30'
|
118
|
+
@parser_class = Parser::Ruby30
|
119
|
+
end
|
120
|
+
|
121
|
+
opts.on '--31', 'Parse as Ruby 3.1 would' do
|
122
|
+
require 'parser/ruby31'
|
123
|
+
@parser_class = Parser::Ruby31
|
119
124
|
end
|
120
125
|
|
121
126
|
opts.on '--mac', 'Parse as MacRuby 0.12 would' do
|
data/lib/parser/source/buffer.rb
CHANGED
@@ -114,8 +114,7 @@ module Parser
|
|
114
114
|
@slice_source = nil
|
115
115
|
|
116
116
|
# Cache for fast lookup
|
117
|
-
@
|
118
|
-
@column_for_position = {}
|
117
|
+
@line_index_for_position = {}
|
119
118
|
|
120
119
|
self.source = source if source
|
121
120
|
end
|
@@ -207,9 +206,10 @@ module Parser
|
|
207
206
|
# @return [[Integer, Integer]] `[line, column]`
|
208
207
|
#
|
209
208
|
def decompose_position(position)
|
210
|
-
|
209
|
+
line_index = line_index_for_position(position)
|
210
|
+
line_begin = line_begins[line_index]
|
211
211
|
|
212
|
-
[ @first_line +
|
212
|
+
[ @first_line + line_index , position - line_begin ]
|
213
213
|
end
|
214
214
|
|
215
215
|
##
|
@@ -220,10 +220,7 @@ module Parser
|
|
220
220
|
# @api private
|
221
221
|
#
|
222
222
|
def line_for_position(position)
|
223
|
-
|
224
|
-
line_no, _ = line_for(position)
|
225
|
-
@first_line + line_no
|
226
|
-
end
|
223
|
+
line_index_for_position(position) + @first_line
|
227
224
|
end
|
228
225
|
|
229
226
|
##
|
@@ -234,10 +231,8 @@ module Parser
|
|
234
231
|
# @api private
|
235
232
|
#
|
236
233
|
def column_for_position(position)
|
237
|
-
|
238
|
-
|
239
|
-
position - line_begin
|
240
|
-
end
|
234
|
+
line_index = line_index_for_position(position)
|
235
|
+
position - line_begins[line_index]
|
241
236
|
end
|
242
237
|
|
243
238
|
##
|
@@ -278,15 +273,13 @@ module Parser
|
|
278
273
|
# @raise [IndexError] if `lineno` is out of bounds
|
279
274
|
#
|
280
275
|
def line_range(lineno)
|
281
|
-
index = lineno - @first_line
|
282
|
-
if index
|
276
|
+
index = lineno - @first_line
|
277
|
+
if index < 0 || index + 1 >= line_begins.size
|
283
278
|
raise IndexError, 'Parser::Source::Buffer: range for line ' \
|
284
279
|
"#{lineno} requested, valid line numbers are #{@first_line}.." \
|
285
|
-
"#{@first_line + line_begins.size -
|
286
|
-
elsif index == line_begins.size
|
287
|
-
Range.new(self, line_begins[-index][1], @source.size)
|
280
|
+
"#{@first_line + line_begins.size - 2}"
|
288
281
|
else
|
289
|
-
Range.new(self, line_begins[
|
282
|
+
Range.new(self, line_begins[index], line_begins[index + 1] - 1)
|
290
283
|
end
|
291
284
|
end
|
292
285
|
|
@@ -303,27 +296,57 @@ module Parser
|
|
303
296
|
# @return [Integer]
|
304
297
|
#
|
305
298
|
def last_line
|
306
|
-
line_begins.size + @first_line -
|
299
|
+
line_begins.size + @first_line - 2
|
300
|
+
end
|
301
|
+
|
302
|
+
# :nodoc:
|
303
|
+
def freeze
|
304
|
+
source_lines; line_begins; source_range # build cache
|
305
|
+
super
|
306
|
+
end
|
307
|
+
|
308
|
+
# :nodoc:
|
309
|
+
def inspect
|
310
|
+
"#<#{self.class} #{name}>"
|
307
311
|
end
|
308
312
|
|
309
313
|
private
|
310
314
|
|
315
|
+
# @returns [0, line_begin_of_line_1, ..., source.size + 1]
|
311
316
|
def line_begins
|
312
|
-
|
313
|
-
|
314
|
-
|
317
|
+
@line_begins ||= begin
|
318
|
+
begins = [0]
|
319
|
+
index = 0
|
315
320
|
while index = @source.index("\n".freeze, index)
|
316
321
|
index += 1
|
317
|
-
|
322
|
+
begins << index
|
318
323
|
end
|
324
|
+
begins << @source.size + 1
|
325
|
+
begins
|
319
326
|
end
|
327
|
+
end
|
320
328
|
|
321
|
-
|
329
|
+
# @returns 0-based line index of position
|
330
|
+
def line_index_for_position(position)
|
331
|
+
@line_index_for_position[position] || begin
|
332
|
+
index = bsearch(line_begins, position) - 1
|
333
|
+
@line_index_for_position[position] = index unless @line_index_for_position.frozen?
|
334
|
+
index
|
335
|
+
end
|
322
336
|
end
|
323
337
|
|
324
|
-
|
325
|
-
line_begins
|
326
|
-
|
338
|
+
if Array.method_defined?(:bsearch_index) # RUBY_VERSION >= 2.3
|
339
|
+
def bsearch(line_begins, position)
|
340
|
+
line_begins.bsearch_index do |line_begin|
|
341
|
+
position < line_begin
|
342
|
+
end || line_begins.size - 1 # || only for out of bound values
|
343
|
+
end
|
344
|
+
else
|
345
|
+
def bsearch(line_begins, position)
|
346
|
+
@line_range ||= 0...line_begins.size
|
347
|
+
@line_range.bsearch do |i|
|
348
|
+
position < line_begins[i]
|
349
|
+
end || line_begins.size - 1 # || only for out of bound values
|
327
350
|
end
|
328
351
|
end
|
329
352
|
end
|
@@ -10,7 +10,7 @@ module Parser
|
|
10
10
|
# @return [String]
|
11
11
|
#
|
12
12
|
# @!attribute [r] location
|
13
|
-
# @return [Parser::Source::
|
13
|
+
# @return [Parser::Source::Range]
|
14
14
|
#
|
15
15
|
# @api public
|
16
16
|
#
|
@@ -48,6 +48,19 @@ module Parser
|
|
48
48
|
associator.associate_locations
|
49
49
|
end
|
50
50
|
|
51
|
+
##
|
52
|
+
# Associate `comments` with `ast` nodes using identity.
|
53
|
+
#
|
54
|
+
# @param [Parser::AST::Node] ast
|
55
|
+
# @param [Array<Comment>] comments
|
56
|
+
# @return [Hash<Parser::Source::Node, Array<Comment>>]
|
57
|
+
# @see Parser::Source::Comment::Associator#associate_by_identity
|
58
|
+
#
|
59
|
+
def self.associate_by_identity(ast, comments)
|
60
|
+
associator = Associator.new(ast, comments)
|
61
|
+
associator.associate_by_identity
|
62
|
+
end
|
63
|
+
|
51
64
|
##
|
52
65
|
# @param [Parser::Source::Range] range
|
53
66
|
#
|
@@ -84,12 +84,24 @@ module Parser
|
|
84
84
|
#
|
85
85
|
# Note that {associate} produces unexpected result for nodes which are
|
86
86
|
# equal but have distinct locations; comments for these nodes are merged.
|
87
|
+
# You may prefer using {associate_by_identity} or {associate_locations}.
|
87
88
|
#
|
88
89
|
# @return [Hash<Parser::AST::Node, Array<Parser::Source::Comment>>]
|
89
90
|
# @deprecated Use {associate_locations}.
|
90
91
|
#
|
91
92
|
def associate
|
92
|
-
@
|
93
|
+
@map_using = :eql
|
94
|
+
do_associate
|
95
|
+
end
|
96
|
+
|
97
|
+
##
|
98
|
+
# Same as {associate}, but compares by identity, thus producing an unambiguous
|
99
|
+
# result even in presence of equal nodes.
|
100
|
+
#
|
101
|
+
# @return [Hash<Parser::Source::Node, Array<Parser::Source::Comment>>]
|
102
|
+
#
|
103
|
+
def associate_locations
|
104
|
+
@map_using = :location
|
93
105
|
do_associate
|
94
106
|
end
|
95
107
|
|
@@ -100,14 +112,14 @@ module Parser
|
|
100
112
|
#
|
101
113
|
# @return [Hash<Parser::Source::Map, Array<Parser::Source::Comment>>]
|
102
114
|
#
|
103
|
-
def
|
104
|
-
@
|
115
|
+
def associate_by_identity
|
116
|
+
@map_using = :identity
|
105
117
|
do_associate
|
106
118
|
end
|
107
119
|
|
108
120
|
private
|
109
121
|
|
110
|
-
POSTFIX_TYPES = Set[:if, :while, :while_post, :until, :until_post].freeze
|
122
|
+
POSTFIX_TYPES = Set[:if, :while, :while_post, :until, :until_post, :masgn].freeze
|
111
123
|
def children_in_source_order(node)
|
112
124
|
if POSTFIX_TYPES.include?(node.type)
|
113
125
|
# All these types have either nodes with expressions, or `nil`
|
@@ -122,6 +134,7 @@ module Parser
|
|
122
134
|
|
123
135
|
def do_associate
|
124
136
|
@mapping = Hash.new { |h, k| h[k] = [] }
|
137
|
+
@mapping.compare_by_identity if @map_using == :identity
|
125
138
|
@comment_num = -1
|
126
139
|
advance_comment
|
127
140
|
|
@@ -191,7 +204,7 @@ module Parser
|
|
191
204
|
end
|
192
205
|
|
193
206
|
def associate_and_advance_comment(node)
|
194
|
-
key = @
|
207
|
+
key = @map_using == :location ? node.location : node
|
195
208
|
@mapping[key] << @current_comment
|
196
209
|
advance_comment
|
197
210
|
end
|
@@ -3,19 +3,21 @@
|
|
3
3
|
module Parser
|
4
4
|
module Source
|
5
5
|
|
6
|
-
class Map::
|
6
|
+
class Map::MethodDefinition < Map
|
7
7
|
attr_reader :keyword
|
8
8
|
attr_reader :operator
|
9
9
|
attr_reader :name
|
10
|
+
attr_reader :end
|
10
11
|
attr_reader :assignment
|
11
12
|
|
12
|
-
def initialize(keyword_l, operator_l, name_l, assignment_l, body_l)
|
13
|
+
def initialize(keyword_l, operator_l, name_l, end_l, assignment_l, body_l)
|
13
14
|
@keyword = keyword_l
|
14
15
|
@operator = operator_l
|
15
16
|
@name = name_l
|
17
|
+
@end = end_l
|
16
18
|
@assignment = assignment_l
|
17
19
|
|
18
|
-
super(@keyword.join(body_l))
|
20
|
+
super(@keyword.join(end_l || body_l))
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
data/lib/parser/source/range.rb
CHANGED
@@ -112,11 +112,11 @@ module Parser
|
|
112
112
|
# @raise RangeError
|
113
113
|
#
|
114
114
|
def column_range
|
115
|
-
if
|
115
|
+
if line != last_line
|
116
116
|
raise RangeError, "#{self.inspect} spans more than one line"
|
117
117
|
end
|
118
118
|
|
119
|
-
|
119
|
+
column...last_column
|
120
120
|
end
|
121
121
|
|
122
122
|
##
|
@@ -330,6 +330,11 @@ module Parser
|
|
330
330
|
@in_transaction
|
331
331
|
end
|
332
332
|
|
333
|
+
# :nodoc:
|
334
|
+
def inspect
|
335
|
+
"#<#{self.class} #{source_buffer.name}: #{action_summary}>"
|
336
|
+
end
|
337
|
+
|
333
338
|
##
|
334
339
|
# @api private
|
335
340
|
# @deprecated Use insert_after or wrap
|
@@ -361,6 +366,28 @@ module Parser
|
|
361
366
|
|
362
367
|
private
|
363
368
|
|
369
|
+
def action_summary
|
370
|
+
replacements = as_replacements
|
371
|
+
case replacements.size
|
372
|
+
when 0 then return 'empty'
|
373
|
+
when 1..3 then #ok
|
374
|
+
else
|
375
|
+
replacements = replacements.first(3)
|
376
|
+
suffix = '…'
|
377
|
+
end
|
378
|
+
parts = replacements.map do |(range, str)|
|
379
|
+
if str.empty? # is this a deletion?
|
380
|
+
"-#{range.to_range}"
|
381
|
+
elsif range.size == 0 # is this an insertion?
|
382
|
+
"+#{str.inspect}@#{range.begin_pos}"
|
383
|
+
else # it is a replacement
|
384
|
+
"^#{str.inspect}@#{range.to_range}"
|
385
|
+
end
|
386
|
+
end
|
387
|
+
parts << suffix if suffix
|
388
|
+
parts.join(', ')
|
389
|
+
end
|
390
|
+
|
364
391
|
ACTIONS = %i[accept warn raise].freeze
|
365
392
|
def check_policy_validity
|
366
393
|
invalid = @policy.values - ACTIONS
|
data/lib/parser/version.rb
CHANGED
data/parser.gemspec
CHANGED
@@ -20,24 +20,8 @@ Gem::Specification.new do |spec|
|
|
20
20
|
'source_code_uri' => "https://github.com/whitequark/parser/tree/v#{spec.version}"
|
21
21
|
}
|
22
22
|
|
23
|
-
spec.files =
|
24
|
-
lib/parser/lexer.rb
|
25
|
-
lib/parser/ruby18.rb
|
26
|
-
lib/parser/ruby19.rb
|
27
|
-
lib/parser/ruby20.rb
|
28
|
-
lib/parser/ruby21.rb
|
29
|
-
lib/parser/ruby22.rb
|
30
|
-
lib/parser/ruby23.rb
|
31
|
-
lib/parser/ruby24.rb
|
32
|
-
lib/parser/ruby25.rb
|
33
|
-
lib/parser/ruby26.rb
|
34
|
-
lib/parser/ruby27.rb
|
35
|
-
lib/parser/ruby28.rb
|
36
|
-
lib/parser/macruby.rb
|
37
|
-
lib/parser/rubymotion.rb
|
38
|
-
)
|
23
|
+
spec.files = Dir['bin/*', 'lib/**/*.rb', 'parser.gemspec', 'LICENSE.txt']
|
39
24
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
40
|
-
spec.test_files = spec.files.grep(%r{^test/})
|
41
25
|
spec.require_paths = ['lib']
|
42
26
|
|
43
27
|
spec.required_ruby_version = '>= 2.0.0'
|
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:
|
4
|
+
version: 3.0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whitequark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ast
|
@@ -165,23 +165,9 @@ executables:
|
|
165
165
|
extensions: []
|
166
166
|
extra_rdoc_files: []
|
167
167
|
files:
|
168
|
-
- ".gitignore"
|
169
|
-
- ".travis.yml"
|
170
|
-
- ".yardopts"
|
171
|
-
- CHANGELOG.md
|
172
|
-
- CONTRIBUTING.md
|
173
|
-
- Gemfile
|
174
168
|
- LICENSE.txt
|
175
|
-
- README.md
|
176
|
-
- Rakefile
|
177
169
|
- bin/ruby-parse
|
178
170
|
- bin/ruby-rewrite
|
179
|
-
- ci/run_rubocop_specs
|
180
|
-
- doc/AST_FORMAT.md
|
181
|
-
- doc/CUSTOMIZATION.md
|
182
|
-
- doc/INTERNALS.md
|
183
|
-
- doc/css/.gitkeep
|
184
|
-
- doc/css/common.css
|
185
171
|
- lib/gauntlet_parser.rb
|
186
172
|
- lib/parser.rb
|
187
173
|
- lib/parser/all.rb
|
@@ -198,41 +184,29 @@ files:
|
|
198
184
|
- lib/parser/diagnostic.rb
|
199
185
|
- lib/parser/diagnostic/engine.rb
|
200
186
|
- lib/parser/lexer.rb
|
201
|
-
- lib/parser/lexer.rl
|
202
187
|
- lib/parser/lexer/dedenter.rb
|
203
188
|
- lib/parser/lexer/explanation.rb
|
204
189
|
- lib/parser/lexer/literal.rb
|
205
190
|
- lib/parser/lexer/stack_state.rb
|
206
191
|
- lib/parser/macruby.rb
|
207
|
-
- lib/parser/macruby.y
|
208
192
|
- lib/parser/max_numparam_stack.rb
|
209
193
|
- lib/parser/messages.rb
|
210
194
|
- lib/parser/meta.rb
|
211
195
|
- lib/parser/rewriter.rb
|
212
196
|
- lib/parser/ruby18.rb
|
213
|
-
- lib/parser/ruby18.y
|
214
197
|
- lib/parser/ruby19.rb
|
215
|
-
- lib/parser/ruby19.y
|
216
198
|
- lib/parser/ruby20.rb
|
217
|
-
- lib/parser/ruby20.y
|
218
199
|
- lib/parser/ruby21.rb
|
219
|
-
- lib/parser/ruby21.y
|
220
200
|
- lib/parser/ruby22.rb
|
221
|
-
- lib/parser/ruby22.y
|
222
201
|
- lib/parser/ruby23.rb
|
223
|
-
- lib/parser/ruby23.y
|
224
202
|
- lib/parser/ruby24.rb
|
225
|
-
- lib/parser/ruby24.y
|
226
203
|
- lib/parser/ruby25.rb
|
227
|
-
- lib/parser/ruby25.y
|
228
204
|
- lib/parser/ruby26.rb
|
229
|
-
- lib/parser/ruby26.y
|
230
205
|
- lib/parser/ruby27.rb
|
231
|
-
- lib/parser/ruby27.y
|
232
206
|
- lib/parser/ruby28.rb
|
233
|
-
- lib/parser/
|
207
|
+
- lib/parser/ruby30.rb
|
208
|
+
- lib/parser/ruby31.rb
|
234
209
|
- lib/parser/rubymotion.rb
|
235
|
-
- lib/parser/rubymotion.y
|
236
210
|
- lib/parser/runner.rb
|
237
211
|
- lib/parser/runner/ruby_parse.rb
|
238
212
|
- lib/parser/runner/ruby_rewrite.rb
|
@@ -244,11 +218,11 @@ files:
|
|
244
218
|
- lib/parser/source/map/condition.rb
|
245
219
|
- lib/parser/source/map/constant.rb
|
246
220
|
- lib/parser/source/map/definition.rb
|
247
|
-
- lib/parser/source/map/endless_definition.rb
|
248
221
|
- lib/parser/source/map/for.rb
|
249
222
|
- lib/parser/source/map/heredoc.rb
|
250
223
|
- lib/parser/source/map/index.rb
|
251
224
|
- lib/parser/source/map/keyword.rb
|
225
|
+
- lib/parser/source/map/method_definition.rb
|
252
226
|
- lib/parser/source/map/objc_kwarg.rb
|
253
227
|
- lib/parser/source/map/operator.rb
|
254
228
|
- lib/parser/source/map/rescue_body.rb
|
@@ -266,45 +240,14 @@ files:
|
|
266
240
|
- lib/parser/variables_stack.rb
|
267
241
|
- lib/parser/version.rb
|
268
242
|
- parser.gemspec
|
269
|
-
- test/bug_163/fixtures/input.rb
|
270
|
-
- test/bug_163/fixtures/output.rb
|
271
|
-
- test/bug_163/rewriter.rb
|
272
|
-
- test/helper.rb
|
273
|
-
- test/parse_helper.rb
|
274
|
-
- test/racc_coverage_helper.rb
|
275
|
-
- test/test_ast_processor.rb
|
276
|
-
- test/test_base.rb
|
277
|
-
- test/test_current.rb
|
278
|
-
- test/test_diagnostic.rb
|
279
|
-
- test/test_diagnostic_engine.rb
|
280
|
-
- test/test_encoding.rb
|
281
|
-
- test/test_lexer.rb
|
282
|
-
- test/test_lexer_stack_state.rb
|
283
|
-
- test/test_meta.rb
|
284
|
-
- test/test_parse_helper.rb
|
285
|
-
- test/test_parser.rb
|
286
|
-
- test/test_runner_parse.rb
|
287
|
-
- test/test_runner_rewrite.rb
|
288
|
-
- test/test_source_buffer.rb
|
289
|
-
- test/test_source_comment.rb
|
290
|
-
- test/test_source_comment_associator.rb
|
291
|
-
- test/test_source_map.rb
|
292
|
-
- test/test_source_range.rb
|
293
|
-
- test/test_source_rewriter.rb
|
294
|
-
- test/test_source_rewriter_action.rb
|
295
|
-
- test/test_source_tree_rewriter.rb
|
296
|
-
- test/test_static_environment.rb
|
297
|
-
- test/using_tree_rewriter/fixtures/input.rb
|
298
|
-
- test/using_tree_rewriter/fixtures/output.rb
|
299
|
-
- test/using_tree_rewriter/using_tree_rewriter.rb
|
300
243
|
homepage: https://github.com/whitequark/parser
|
301
244
|
licenses:
|
302
245
|
- MIT
|
303
246
|
metadata:
|
304
247
|
bug_tracker_uri: https://github.com/whitequark/parser/issues
|
305
|
-
changelog_uri: https://github.com/whitequark/parser/blob/
|
306
|
-
documentation_uri: https://www.rubydoc.info/gems/parser/
|
307
|
-
source_code_uri: https://github.com/whitequark/parser/tree/
|
248
|
+
changelog_uri: https://github.com/whitequark/parser/blob/v3.0.1.1/CHANGELOG.md
|
249
|
+
documentation_uri: https://www.rubydoc.info/gems/parser/3.0.1.1
|
250
|
+
source_code_uri: https://github.com/whitequark/parser/tree/v3.0.1.1
|
308
251
|
post_install_message:
|
309
252
|
rdoc_options: []
|
310
253
|
require_paths:
|
@@ -324,35 +267,4 @@ rubygems_version: 3.0.6
|
|
324
267
|
signing_key:
|
325
268
|
specification_version: 4
|
326
269
|
summary: A Ruby parser written in pure Ruby.
|
327
|
-
test_files:
|
328
|
-
- test/bug_163/fixtures/input.rb
|
329
|
-
- test/bug_163/fixtures/output.rb
|
330
|
-
- test/bug_163/rewriter.rb
|
331
|
-
- test/helper.rb
|
332
|
-
- test/parse_helper.rb
|
333
|
-
- test/racc_coverage_helper.rb
|
334
|
-
- test/test_ast_processor.rb
|
335
|
-
- test/test_base.rb
|
336
|
-
- test/test_current.rb
|
337
|
-
- test/test_diagnostic.rb
|
338
|
-
- test/test_diagnostic_engine.rb
|
339
|
-
- test/test_encoding.rb
|
340
|
-
- test/test_lexer.rb
|
341
|
-
- test/test_lexer_stack_state.rb
|
342
|
-
- test/test_meta.rb
|
343
|
-
- test/test_parse_helper.rb
|
344
|
-
- test/test_parser.rb
|
345
|
-
- test/test_runner_parse.rb
|
346
|
-
- test/test_runner_rewrite.rb
|
347
|
-
- test/test_source_buffer.rb
|
348
|
-
- test/test_source_comment.rb
|
349
|
-
- test/test_source_comment_associator.rb
|
350
|
-
- test/test_source_map.rb
|
351
|
-
- test/test_source_range.rb
|
352
|
-
- test/test_source_rewriter.rb
|
353
|
-
- test/test_source_rewriter_action.rb
|
354
|
-
- test/test_source_tree_rewriter.rb
|
355
|
-
- test/test_static_environment.rb
|
356
|
-
- test/using_tree_rewriter/fixtures/input.rb
|
357
|
-
- test/using_tree_rewriter/fixtures/output.rb
|
358
|
-
- test/using_tree_rewriter/using_tree_rewriter.rb
|
270
|
+
test_files: []
|