synvert-core 1.33.1 → 1.33.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 +10 -0
- data/Gemfile.lock +1 -1
- data/lib/synvert/core/rewriter/instance.rb +11 -5
- data/lib/synvert/core/rewriter.rb +27 -11
- data/lib/synvert/core/version.rb +1 -1
- data/spec/synvert/core/rewriter_spec.rb +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0b171e345173ce6e1519cc68c1fd4aca91e796d56554ba63875c0402b3b202f
|
4
|
+
data.tar.gz: 218dcbcacb00ff39d4de981dc76178c552081577fe4cfaeadad291a1b42b7d46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c96410cb92044bfeca2ebbc07cd2340973bd3320a10060c4bdad4a95db48d31d62e358a9929c40639904633dd9cd09238d34b3ce877b51d2af1a7a920cb8747
|
7
|
+
data.tar.gz: '0702947b02c043b28fc52456497e03834e94407514ccc34ae9be9f562a885cffbd9f08f0e598fe0df6d03e9c36bc4f521c1169079de748c0fadc082f76865bac'
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 1.33.3 (2024-02-28)
|
4
|
+
|
5
|
+
* Preserve current parser
|
6
|
+
|
7
|
+
## 1.33.2 (2024-02-24)
|
8
|
+
|
9
|
+
* Reset `@warnings`, `@affected_files`, and `@test_results`
|
10
|
+
* Puts `Parser::SyntaxError` message only when `ENV[DEBUG]` is true
|
11
|
+
* Raise `ParserNotSupported` if parser is not supported
|
12
|
+
|
3
13
|
## 1.33.1 (2024-02-23)
|
4
14
|
|
5
15
|
* Try 10 times at maximum when process
|
data/Gemfile.lock
CHANGED
@@ -68,8 +68,10 @@ module Synvert::Core
|
|
68
68
|
end
|
69
69
|
break unless result.conflicted?
|
70
70
|
rescue Parser::SyntaxError => e
|
71
|
-
|
72
|
-
|
71
|
+
if ENV['DEBUG'] == 'true'
|
72
|
+
puts "[Warn] file #{file_path} was not parsed correctly."
|
73
|
+
puts e.message
|
74
|
+
end
|
73
75
|
break
|
74
76
|
end
|
75
77
|
end
|
@@ -95,8 +97,10 @@ module Synvert::Core
|
|
95
97
|
result.file_path = file_path
|
96
98
|
result
|
97
99
|
rescue Parser::SyntaxError => e
|
98
|
-
|
99
|
-
|
100
|
+
if ENV['DEBUG'] == 'true'
|
101
|
+
puts "[Warn] file #{file_path} was not parsed correctly."
|
102
|
+
puts e.message
|
103
|
+
end
|
100
104
|
end
|
101
105
|
end
|
102
106
|
|
@@ -498,8 +502,10 @@ module Synvert::Core
|
|
498
502
|
parse_code_by_syntax_tree(file_path, encoded_source)
|
499
503
|
when Synvert::PRISM_PARSER
|
500
504
|
parse_code_by_prism(file_path, encoded_source)
|
501
|
-
|
505
|
+
when Synvert::PARSER_PARSER
|
502
506
|
parse_code_by_parser(file_path, encoded_source)
|
507
|
+
else
|
508
|
+
raise Errors::ParserNotSupported.new("Parser #{@rewriter.parser} not supported")
|
503
509
|
end
|
504
510
|
end
|
505
511
|
|
@@ -117,10 +117,8 @@ module Synvert::Core
|
|
117
117
|
@block = block
|
118
118
|
@helpers = []
|
119
119
|
@sub_snippets = []
|
120
|
-
@warnings = []
|
121
|
-
@affected_files = Set.new
|
122
120
|
@options = DEFAULT_OPTIONS.dup
|
123
|
-
|
121
|
+
reset
|
124
122
|
self.class.register(@group, @name, self)
|
125
123
|
end
|
126
124
|
|
@@ -184,6 +182,13 @@ module Synvert::Core
|
|
184
182
|
@options[:parser]
|
185
183
|
end
|
186
184
|
|
185
|
+
# Reset @warnings, @affected_files, and @test_results.
|
186
|
+
def reset
|
187
|
+
@warnings = []
|
188
|
+
@affected_files = Set.new
|
189
|
+
@test_results = Hash.new { |h, k| h[k] = [] }
|
190
|
+
end
|
191
|
+
|
187
192
|
#######
|
188
193
|
# DSL #
|
189
194
|
#######
|
@@ -356,13 +361,15 @@ module Synvert::Core
|
|
356
361
|
return unless rewriter && rewriter.is_a?(Rewriter)
|
357
362
|
|
358
363
|
rewriter.options = @options
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
rewriter.
|
364
|
-
|
365
|
-
|
364
|
+
preserve_current_parser do
|
365
|
+
if !rewriter.options[:write_to_file]
|
366
|
+
results = rewriter.test
|
367
|
+
merge_test_results(results)
|
368
|
+
elsif rewriter.options[:run_instance]
|
369
|
+
rewriter.process
|
370
|
+
else
|
371
|
+
rewriter.process_with_sandbox
|
372
|
+
end
|
366
373
|
end
|
367
374
|
@sub_snippets << rewriter
|
368
375
|
end
|
@@ -380,7 +387,9 @@ module Synvert::Core
|
|
380
387
|
helper = Synvert::Core::Helper.fetch(name) || Utils.eval_snippet(name)
|
381
388
|
return unless helper && helper.is_a?(Synvert::Core::Helper)
|
382
389
|
|
383
|
-
|
390
|
+
preserve_current_parser do
|
391
|
+
instance_exec(options, &helper.block)
|
392
|
+
end
|
384
393
|
end
|
385
394
|
|
386
395
|
# It defines helper method for {Synvert::Core::Rewriter::Instance}.
|
@@ -427,5 +436,12 @@ module Synvert::Core
|
|
427
436
|
def merge_test_result(result)
|
428
437
|
@test_results[result.file_path] << result
|
429
438
|
end
|
439
|
+
|
440
|
+
def preserve_current_parser
|
441
|
+
current_parser = @options[:parser]
|
442
|
+
yield
|
443
|
+
ensure
|
444
|
+
@options[:parser] = current_parser
|
445
|
+
end
|
430
446
|
end
|
431
447
|
end
|
data/lib/synvert/core/version.rb
CHANGED
@@ -4,6 +4,19 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
module Synvert::Core
|
6
6
|
RSpec.describe Rewriter do
|
7
|
+
describe '#reset' do
|
8
|
+
it 'resets warnings, affected_files, and test_results' do
|
9
|
+
rewriter = Rewriter.new 'group', 'name'
|
10
|
+
rewriter.instance_variable_set(:@warnings, ['warnings'])
|
11
|
+
rewriter.instance_variable_set(:@affected_files, ['files'])
|
12
|
+
rewriter.instance_variable_set(:@test_results, { foo: 'bar' })
|
13
|
+
rewriter.reset
|
14
|
+
expect(rewriter.warnings).to eq []
|
15
|
+
expect(rewriter.affected_files).to eq Set.new
|
16
|
+
expect(rewriter.test_results).to eq Hash.new
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
7
20
|
describe '#configure' do
|
8
21
|
it 'parses parser' do
|
9
22
|
running_mutation_adapter = nil
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: synvert-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.33.
|
4
|
+
version: 1.33.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Huang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|