synvert-core 0.27.2 → 0.27.3
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/CHANGELOG.md +5 -0
- data/lib/synvert/core/node_ext.rb +18 -0
- data/lib/synvert/core/version.rb +1 -1
- data/spec/synvert/core/node_ext_spec.rb +58 -18
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ddab57669b905a8064083e20672a292f78cce5a651331d9202e3fce12a34f776
|
4
|
+
data.tar.gz: d0d9dcb748214c6d0a35609a5cdcc2fdae44e112af7ed4ce15a8e22cc9d19919
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1964409321d68628e1e73b24ed77f9c2e223dc9190fdfde722e2ab9e6be92b0be7802468dca245a34d5fba52f3a8778ca26f9299df095308b32cb2da80a3393
|
7
|
+
data.tar.gz: 42ed0ba17c74b57c3b1e0019d5f50ddf9bda0f5f1a3564b124ba2b0cf379b95b124e344113bdce8c53852fb911e9744725fa91ec3593943022636584ad6c17ff
|
data/CHANGELOG.md
CHANGED
@@ -330,6 +330,24 @@ module Parser::AST
|
|
330
330
|
when :parent_class
|
331
331
|
parent_class&.loc&.expression
|
332
332
|
end
|
333
|
+
when :def
|
334
|
+
case child_name
|
335
|
+
when :name
|
336
|
+
loc.name
|
337
|
+
when :arguments
|
338
|
+
Parser::Source::Range.new('(string)', arguments.first.loc.expression.begin_pos, arguments.last.loc.expression.end_pos) unless arguments.empty?
|
339
|
+
end
|
340
|
+
when :defs
|
341
|
+
case child_name
|
342
|
+
when :dot
|
343
|
+
loc.operator
|
344
|
+
when :self
|
345
|
+
Parser::Source::Range.new('(string)', loc.operator.begin_pos - 4, loc.operator.begin_pos)
|
346
|
+
when :name
|
347
|
+
loc.name
|
348
|
+
when :arguments
|
349
|
+
Parser::Source::Range.new('(string)', arguments.first.loc.expression.begin_pos, arguments.last.loc.expression.end_pos) unless arguments.empty?
|
350
|
+
end
|
333
351
|
when :send
|
334
352
|
case child_name
|
335
353
|
when :receiver
|
data/lib/synvert/core/version.rb
CHANGED
@@ -395,6 +395,64 @@ describe Parser::AST::Node do
|
|
395
395
|
end
|
396
396
|
|
397
397
|
describe '#child_node_range' do
|
398
|
+
context 'class node' do
|
399
|
+
it 'checks name' do
|
400
|
+
node = parse('class Post < ActiveRecord::Base; end')
|
401
|
+
range = node.child_node_range(:name)
|
402
|
+
expect(range.to_range).to eq(6...10)
|
403
|
+
end
|
404
|
+
|
405
|
+
it 'checks parent_class' do
|
406
|
+
node = parse('class Post < ActiveRecord::Base; end')
|
407
|
+
range = node.child_node_range(:parent_class)
|
408
|
+
expect(range.to_range).to eq(13...31)
|
409
|
+
|
410
|
+
node = parse('class Post; end')
|
411
|
+
range = node.child_node_range(:parent_class)
|
412
|
+
expect(range).to be_nil
|
413
|
+
end
|
414
|
+
end
|
415
|
+
|
416
|
+
context 'def node' do
|
417
|
+
it 'checks name' do
|
418
|
+
node = parse('def foo(bar); end')
|
419
|
+
range = node.child_node_range(:name)
|
420
|
+
expect(range.to_range).to eq(4...7)
|
421
|
+
end
|
422
|
+
|
423
|
+
it 'checks arguments' do
|
424
|
+
node = parse('def foo(bar); end')
|
425
|
+
range = node.child_node_range(:arguments)
|
426
|
+
expect(range.to_range).to eq(8...11)
|
427
|
+
end
|
428
|
+
end
|
429
|
+
|
430
|
+
context 'defs node' do
|
431
|
+
it 'checks self' do
|
432
|
+
node = parse('def self.foo(bar); end')
|
433
|
+
range = node.child_node_range(:self)
|
434
|
+
expect(range.to_range).to eq(4...8)
|
435
|
+
end
|
436
|
+
|
437
|
+
it 'checks dot' do
|
438
|
+
node = parse('def self.foo(bar); end')
|
439
|
+
range = node.child_node_range(:dot)
|
440
|
+
expect(range.to_range).to eq(8...9)
|
441
|
+
end
|
442
|
+
|
443
|
+
it 'checks name' do
|
444
|
+
node = parse('def self.foo(bar); end')
|
445
|
+
range = node.child_node_range(:name)
|
446
|
+
expect(range.to_range).to eq(9...12)
|
447
|
+
end
|
448
|
+
|
449
|
+
it 'checks arguments' do
|
450
|
+
node = parse('def self.foo(bar); end')
|
451
|
+
range = node.child_node_range(:arguments)
|
452
|
+
expect(range.to_range).to eq(13...16)
|
453
|
+
end
|
454
|
+
end
|
455
|
+
|
398
456
|
context 'send node' do
|
399
457
|
it 'checks receiver' do
|
400
458
|
node = parse('foo.bar(test)')
|
@@ -444,24 +502,6 @@ describe Parser::AST::Node do
|
|
444
502
|
expect(range).to be_nil
|
445
503
|
end
|
446
504
|
end
|
447
|
-
|
448
|
-
context 'class node' do
|
449
|
-
it 'checks name' do
|
450
|
-
node = parse('class Post < ActiveRecord::Base; end')
|
451
|
-
range = node.child_node_range(:name)
|
452
|
-
expect(range.to_range).to eq(6...10)
|
453
|
-
end
|
454
|
-
|
455
|
-
it 'checks parent_class' do
|
456
|
-
node = parse('class Post < ActiveRecord::Base; end')
|
457
|
-
range = node.child_node_range(:parent_class)
|
458
|
-
expect(range.to_range).to eq(13...31)
|
459
|
-
|
460
|
-
node = parse('class Post; end')
|
461
|
-
range = node.child_node_range(:parent_class)
|
462
|
-
expect(range).to be_nil
|
463
|
-
end
|
464
|
-
end
|
465
505
|
end
|
466
506
|
|
467
507
|
describe '#rewritten_source' do
|