synvert-core 0.27.2 → 0.27.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|