mvz-live_ast 1.3.2 → 2.0.0
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/CHANGES.rdoc +8 -1
- data/README.rdoc +3 -3
- data/Rakefile +20 -20
- data/lib/live_ast.rb +4 -4
- data/lib/live_ast/ast_eval.rb +1 -1
- data/lib/live_ast/ast_load.rb +1 -1
- data/lib/live_ast/base.rb +13 -12
- data/lib/live_ast/common.rb +2 -10
- data/lib/live_ast/evaler.rb +3 -3
- data/lib/live_ast/full.rb +2 -2
- data/lib/live_ast/irb_spy.rb +4 -4
- data/lib/live_ast/loader.rb +2 -2
- data/lib/live_ast/reader.rb +1 -1
- data/lib/live_ast/replace_eval.rb +12 -13
- data/lib/live_ast/replace_load.rb +1 -1
- data/lib/live_ast/replace_raise.rb +3 -3
- data/lib/live_ast/ruby_parser.rb +4 -4
- data/lib/live_ast/ruby_parser/test.rb +12 -0
- data/lib/live_ast/ruby_parser/unparser.rb +1 -1
- data/lib/live_ast/to_ast.rb +13 -18
- data/lib/live_ast/to_ruby.rb +8 -18
- data/lib/live_ast/version.rb +1 -1
- data/test/alias_test.rb +1 -1
- data/test/ast_eval/ast_eval_test.rb +2 -2
- data/test/ast_load/ast_load_test.rb +2 -2
- data/test/attr_test.rb +1 -1
- data/test/backtrace_test.rb +4 -4
- data/test/base/noninvasive_test.rb +1 -1
- data/test/base/reload_test.rb +1 -1
- data/test/covert_define_method_test.rb +1 -1
- data/test/def_test.rb +1 -1
- data/test/define_method_test.rb +2 -2
- data/test/define_singleton_method_test.rb +1 -1
- data/test/encoding_test.rb +1 -1
- data/test/error_test.rb +3 -3
- data/test/eval_test.rb +1 -1
- data/test/flush_cache_test.rb +3 -1
- data/test/full/ast_reload_test.rb +1 -1
- data/test/full/replace_eval_test.rb +8 -8
- data/test/irb_test.rb +2 -2
- data/test/lambda_test.rb +2 -2
- data/test/load_path_test.rb +2 -2
- data/test/load_test.rb +3 -3
- data/test/main.rb +18 -18
- data/test/nested_test.rb +1 -1
- data/test/readme_test.rb +3 -3
- data/test/recursive_eval_test.rb +1 -1
- data/test/redefine_method_test.rb +1 -1
- data/test/rubygems_test.rb +4 -4
- data/test/rubyspec_test.rb +8 -8
- data/test/singleton_test.rb +1 -1
- data/test/stdlib_test.rb +1 -1
- data/test/thread_test.rb +2 -2
- data/test/to_ast/to_ast_feature_test.rb +2 -2
- data/test/to_ruby/to_ruby_feature_test.rb +2 -2
- data/test/to_ruby/to_ruby_test.rb +15 -15
- metadata +74 -60
data/test/nested_test.rb
CHANGED
data/test/readme_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative "main"
|
4
|
+
require_relative "../devel/levitate"
|
5
5
|
|
6
6
|
if RUBY_ENGINE != "jruby" # jruby takes about a minute
|
7
7
|
sections = [
|
@@ -9,7 +9,7 @@ if RUBY_ENGINE != "jruby" # jruby takes about a minute
|
|
9
9
|
"+to_ruby+",
|
10
10
|
"Noninvasive Interface",
|
11
11
|
"Pure Ruby and +ast_eval+",
|
12
|
-
"Full Integration"
|
12
|
+
"Full Integration"
|
13
13
|
]
|
14
14
|
|
15
15
|
Levitate.doc_to_test("README.rdoc", *sections)
|
data/test/recursive_eval_test.rb
CHANGED
data/test/rubygems_test.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative "main"
|
4
|
+
require_relative "../devel/levitate"
|
5
5
|
|
6
6
|
class RubygemsTest < RegularTest
|
7
7
|
def test_rubygems
|
8
|
-
lib = File.expand_path(File.dirname(__FILE__)
|
8
|
+
lib = File.expand_path("../lib", File.dirname(__FILE__))
|
9
9
|
extra_req =
|
10
10
|
if defined?(LiveASTRipper) && LiveAST.parser == LiveASTRipper
|
11
11
|
%{require 'live_ast_ripper'}
|
@@ -22,6 +22,6 @@ class RubygemsTest < RegularTest
|
|
22
22
|
}
|
23
23
|
p f.to_ast
|
24
24
|
}
|
25
|
-
assert_equal no_arg_block(:lambda,
|
25
|
+
assert_equal no_arg_block(:lambda, "abc").to_s, result.chomp
|
26
26
|
end
|
27
27
|
end
|
data/test/rubyspec_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative "main"
|
4
|
+
require_relative "../devel/levitate"
|
5
5
|
|
6
6
|
#
|
7
7
|
# Tests against rubyspec branch which discards '|ast@' tokens
|
@@ -9,12 +9,12 @@ require_relative '../devel/levitate'
|
|
9
9
|
if ENV["LIVE_AST_RUBYSPEC_HOME"]
|
10
10
|
class RubySpecTest < RegularTest
|
11
11
|
FILES = [
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
"core/basicobject/instance_eval_spec.rb",
|
13
|
+
"core/binding/eval_spec.rb",
|
14
|
+
"core/kernel/eval_spec.rb",
|
15
|
+
"core/kernel/instance_eval_spec.rb",
|
16
|
+
"core/module/class_eval_spec.rb",
|
17
|
+
"core/module/module_eval_spec.rb"
|
18
18
|
].freeze
|
19
19
|
|
20
20
|
def setup
|
data/test/singleton_test.rb
CHANGED
data/test/stdlib_test.rb
CHANGED
data/test/thread_test.rb
CHANGED
@@ -1,70 +1,70 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "main"
|
4
4
|
|
5
5
|
if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
|
6
|
-
|
6
|
+
LiveAST.parser::Test.unparser_matches_ruby2ruby?
|
7
7
|
class ToRubyTest < RegularTest
|
8
8
|
def setup
|
9
9
|
super
|
10
|
-
require
|
10
|
+
require "live_ast/to_ruby"
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
13
|
+
def test_lambda_one
|
14
14
|
src = %{lambda { "moo" }}
|
15
15
|
dst = ast_eval(src, binding).to_ruby
|
16
16
|
assert_equal src, dst
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
19
|
+
def test_lambda_two
|
20
20
|
src = %{lambda { |x| (x ** 2) }}
|
21
21
|
dst = ast_eval(src, binding).to_ruby
|
22
22
|
assert_equal src, dst
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def test_lambda_three
|
26
26
|
src = %{lambda { |x, y| (x + y) }}
|
27
27
|
dst = ast_eval(src, binding).to_ruby
|
28
28
|
assert_equal src, dst
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
31
|
+
def test_proc_one
|
32
32
|
src = %{proc { "moo" }}
|
33
33
|
dst = ast_eval(src, binding).to_ruby
|
34
34
|
assert_equal src, dst
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
37
|
+
def test_proc_two
|
38
38
|
src = %{proc { |x| (x ** 2) }}
|
39
39
|
dst = ast_eval(src, binding).to_ruby
|
40
40
|
assert_equal src, dst
|
41
41
|
end
|
42
42
|
|
43
|
-
def
|
43
|
+
def test_proc_three
|
44
44
|
src = %{proc { |x, y| (x * y) }}
|
45
45
|
dst = ast_eval(src, binding).to_ruby
|
46
46
|
assert_equal src, dst
|
47
47
|
end
|
48
48
|
|
49
|
-
def
|
49
|
+
def test_block_one
|
50
50
|
src = %{return_block { "moo" }}
|
51
51
|
dst = ast_eval(src, binding).to_ruby
|
52
52
|
assert_equal src, dst
|
53
53
|
end
|
54
54
|
|
55
|
-
def
|
55
|
+
def test_block_two
|
56
56
|
src = %{return_block { |x| (x ** 2) }}
|
57
57
|
dst = ast_eval(src, binding).to_ruby
|
58
58
|
assert_equal src, dst
|
59
59
|
end
|
60
60
|
|
61
|
-
def
|
61
|
+
def test_block_three
|
62
62
|
src = %{return_block { |x, y| (x - y) }}
|
63
63
|
dst = ast_eval(src, binding).to_ruby
|
64
64
|
assert_equal src, dst
|
65
65
|
end
|
66
66
|
|
67
|
-
def
|
67
|
+
def test_method_one
|
68
68
|
src = %{def f\n "moo"\nend}
|
69
69
|
dst = Class.new do
|
70
70
|
ast_eval(src, binding)
|
@@ -72,7 +72,7 @@ if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
|
|
72
72
|
assert_equal src, dst
|
73
73
|
end
|
74
74
|
|
75
|
-
def
|
75
|
+
def test_method_two
|
76
76
|
src = %{def f(x)\n (x ** 2)\nend}
|
77
77
|
dst = Class.new do
|
78
78
|
ast_eval(src, binding)
|
@@ -80,7 +80,7 @@ if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
|
|
80
80
|
assert_equal src, dst
|
81
81
|
end
|
82
82
|
|
83
|
-
def
|
83
|
+
def test_method_three
|
84
84
|
src = %{def f(x, y)\n (x / y)\nend}
|
85
85
|
dst = Class.new do
|
86
86
|
ast_eval(src, binding)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mvz-live_ast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James M. Lawrence
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-12-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby2ruby
|
@@ -31,84 +31,98 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '3.
|
34
|
+
version: '3.14'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '3.
|
41
|
+
version: '3.14'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: bindings
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: 0.
|
48
|
+
version: 1.0.0
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.
|
55
|
+
version: 1.0.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: minitest
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
62
|
+
version: '5.0'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
69
|
+
version: '5.0'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: rake
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
76
|
+
version: '13.0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
83
|
+
version: '13.0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: rdoc
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- - "
|
88
|
+
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
90
|
+
version: '6.2'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
|
-
- - "
|
95
|
+
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
97
|
+
version: '6.2'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
99
|
+
name: rubocop
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
|
-
- - "
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 1.6.0
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 1.6.0
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: rubocop-performance
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
103
117
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
118
|
+
version: 1.9.1
|
105
119
|
type: :development
|
106
120
|
prerelease: false
|
107
121
|
version_requirements: !ruby/object:Gem::Requirement
|
108
122
|
requirements:
|
109
|
-
- - "
|
123
|
+
- - "~>"
|
110
124
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
125
|
+
version: 1.9.1
|
112
126
|
description: |2
|
113
127
|
LiveAST enables a program to find the ASTs of objects created by dynamically
|
114
128
|
generated code.
|
@@ -213,65 +227,65 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
213
227
|
requirements:
|
214
228
|
- - ">="
|
215
229
|
- !ruby/object:Gem::Version
|
216
|
-
version: 2.
|
230
|
+
version: 2.6.0
|
217
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
232
|
requirements:
|
219
233
|
- - ">="
|
220
234
|
- !ruby/object:Gem::Version
|
221
235
|
version: '0'
|
222
236
|
requirements: []
|
223
|
-
rubygems_version: 3.
|
237
|
+
rubygems_version: 3.2.3
|
224
238
|
signing_key:
|
225
239
|
specification_version: 4
|
226
240
|
summary: Live abstract syntax trees of methods and procs.
|
227
241
|
test_files:
|
242
|
+
- test/alias_test.rb
|
243
|
+
- test/full/ast_reload_test.rb
|
244
|
+
- test/full/replace_eval_test.rb
|
245
|
+
- test/eval_test.rb
|
246
|
+
- test/load_path_test.rb
|
228
247
|
- test/readme_test.rb
|
229
|
-
- test/rubyspec_test.rb
|
230
|
-
- test/lambda_test.rb
|
231
|
-
- test/redefine_method_test.rb
|
232
248
|
- test/stdlib_test.rb
|
233
|
-
- test/
|
234
|
-
- test/full/ast_reload_test.rb
|
235
|
-
- test/to_ruby/to_ruby_test.rb
|
236
|
-
- test/to_ruby/to_ruby_feature_test.rb
|
237
|
-
- test/to_ast/to_ast_feature_test.rb
|
238
|
-
- test/encoding_test/utf8mac_alt.rb
|
239
|
-
- test/encoding_test/usascii.rb
|
240
|
-
- test/encoding_test/default.rb
|
249
|
+
- test/encoding_test/koi8_shebang.rb
|
241
250
|
- test/encoding_test/utf8dos.rb
|
251
|
+
- test/encoding_test/koi8.rb
|
242
252
|
- test/encoding_test/eucjp.rb
|
243
|
-
- test/encoding_test/
|
244
|
-
- test/encoding_test/koi8_with_utf8bom.rb
|
253
|
+
- test/encoding_test/utf8bom.rb
|
245
254
|
- test/encoding_test/utf8bom_only.rb
|
246
|
-
- test/encoding_test/koi8_shebang.rb
|
247
|
-
- test/encoding_test/utf8unix.rb
|
248
255
|
- test/encoding_test/cp932.rb
|
256
|
+
- test/encoding_test/usascii.rb
|
249
257
|
- test/encoding_test/utf8.rb
|
250
|
-
- test/encoding_test/koi8.rb
|
251
|
-
- test/encoding_test/utf8bom.rb
|
252
258
|
- test/encoding_test/usascii_with_utf8bom.rb
|
259
|
+
- test/encoding_test/utf8mac_alt.rb
|
260
|
+
- test/encoding_test/default.rb
|
261
|
+
- test/encoding_test/koi8_with_utf8bom.rb
|
262
|
+
- test/encoding_test/utf8unix.rb
|
253
263
|
- test/encoding_test/utf8mac.rb
|
254
|
-
- test/encoding_test.rb
|
255
|
-
- test/
|
256
|
-
- test/
|
264
|
+
- test/encoding_test/bad.rb
|
265
|
+
- test/to_ruby/to_ruby_test.rb
|
266
|
+
- test/to_ruby/to_ruby_feature_test.rb
|
267
|
+
- test/nested_test.rb
|
268
|
+
- test/singleton_test.rb
|
257
269
|
- test/define_singleton_method_test.rb
|
258
|
-
- test/
|
259
|
-
- test/
|
260
|
-
- test/
|
270
|
+
- test/irb_test.rb
|
271
|
+
- test/attr_test.rb
|
272
|
+
- test/lambda_test.rb
|
261
273
|
- test/load_test.rb
|
262
|
-
- test/singleton_test.rb
|
263
|
-
- test/recursive_eval_test.rb
|
264
|
-
- test/base/reload_test.rb
|
265
274
|
- test/base/noninvasive_test.rb
|
275
|
+
- test/base/reload_test.rb
|
276
|
+
- test/encoding_test.rb
|
277
|
+
- test/rubyspec_test.rb
|
278
|
+
- test/main.rb
|
266
279
|
- test/define_method_test.rb
|
267
|
-
- test/eval_test.rb
|
268
|
-
- test/attr_test.rb
|
269
|
-
- test/irb_test.rb
|
270
|
-
- test/load_path_test.rb
|
271
|
-
- test/nested_test.rb
|
272
|
-
- test/def_test.rb
|
273
|
-
- test/thread_test.rb
|
274
|
-
- test/flush_cache_test.rb
|
275
280
|
- test/error_test.rb
|
281
|
+
- test/rubygems_test.rb
|
282
|
+
- test/ast_load/ast_load_test.rb
|
283
|
+
- test/def_test.rb
|
284
|
+
- test/recursive_eval_test.rb
|
276
285
|
- test/ast_eval/ast_eval_test.rb
|
277
|
-
- test/
|
286
|
+
- test/flush_cache_test.rb
|
287
|
+
- test/thread_test.rb
|
288
|
+
- test/redefine_method_test.rb
|
289
|
+
- test/backtrace_test.rb
|
290
|
+
- test/covert_define_method_test.rb
|
291
|
+
- test/to_ast/to_ast_feature_test.rb
|