opal 0.10.0.beta2 → 0.10.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -1
- data/lib/opal/compiler.rb +15 -9
- data/lib/opal/fragment.rb +8 -1
- data/lib/opal/nodes/args/restarg.rb +6 -1
- data/lib/opal/nodes/base.rb +1 -1
- data/lib/opal/nodes/call.rb +4 -0
- data/lib/opal/nodes/def.rb +20 -25
- data/lib/opal/nodes/hash.rb +89 -17
- data/lib/opal/nodes/iter.rb +30 -2
- data/lib/opal/nodes/logic.rb +54 -4
- data/lib/opal/nodes/node_with_args.rb +72 -0
- data/lib/opal/parser.rb +16 -0
- data/lib/opal/parser/grammar.rb +2555 -2562
- data/lib/opal/parser/grammar.y +28 -20
- data/lib/opal/parser/lexer.rb +4 -4
- data/lib/opal/regexp_anchors.rb +13 -5
- data/lib/opal/source_map.rb +2 -1
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/array.rb +4 -0
- data/opal/corelib/basic_object.rb +3 -1
- data/opal/corelib/constants.rb +1 -1
- data/opal/corelib/file.rb +196 -4
- data/opal/corelib/hash.rb +7 -7
- data/opal/corelib/kernel.rb +7 -4
- data/opal/corelib/marshal.rb +31 -0
- data/opal/corelib/marshal/read_buffer.rb +427 -0
- data/opal/corelib/marshal/write_buffer.rb +383 -0
- data/opal/corelib/method.rb +8 -0
- data/opal/corelib/module.rb +21 -0
- data/opal/corelib/number.rb +19 -5
- data/opal/corelib/proc.rb +33 -6
- data/opal/corelib/range.rb +6 -0
- data/opal/corelib/regexp.rb +5 -1
- data/opal/corelib/runtime.js +69 -17
- data/opal/corelib/string.rb +8 -0
- data/opal/corelib/string/inheritance.rb +4 -0
- data/opal/corelib/struct.rb +5 -0
- data/opal/corelib/unsupported.rb +0 -18
- data/opal/opal/full.rb +1 -0
- data/spec/filters/bugs/basicobject.rb +0 -2
- data/spec/filters/bugs/compiler_opal.rb +5 -0
- data/spec/filters/bugs/enumerable.rb +1 -0
- data/spec/filters/bugs/enumerator.rb +0 -2
- data/spec/filters/bugs/exception.rb +0 -1
- data/spec/filters/bugs/kernel.rb +0 -5
- data/spec/filters/bugs/language.rb +7 -27
- data/spec/filters/bugs/marshal.rb +43 -0
- data/spec/filters/bugs/method.rb +0 -56
- data/spec/filters/bugs/module.rb +0 -1
- data/spec/filters/bugs/proc.rb +0 -46
- data/spec/filters/bugs/regexp.rb +1 -0
- data/spec/filters/bugs/unboundmethod.rb +0 -13
- data/spec/filters/unsupported/bignum.rb +5 -0
- data/spec/filters/unsupported/freeze.rb +2 -0
- data/spec/filters/unsupported/marshal.rb +46 -0
- data/spec/filters/unsupported/symbol.rb +5 -0
- data/spec/lib/compiler/call_spec.rb +29 -29
- data/spec/lib/compiler_spec.rb +7 -1
- data/spec/opal/core/kernel/instance_variables_spec.rb +40 -0
- data/spec/opal/core/language/ternary_operator_spec.rb +6 -0
- data/spec/opal/core/marshal/dump_spec.rb +53 -0
- data/spec/opal/core/marshal/load_spec.rb +7 -0
- data/spec/opal/core/source_map_spec.rb +35 -1
- data/spec/opal/javascript_api_spec.rb +16 -0
- data/spec/opal/stdlib/source_map_spec.rb +8 -0
- data/spec/ruby_specs +7 -4
- data/spec/support/match_helpers.rb +57 -0
- data/spec/support/mspec_rspec_adapter.rb +1 -1
- data/stdlib/opal-parser.rb +3 -1
- data/stdlib/pathname.rb +105 -7
- data/stdlib/racc/parser.rb +551 -138
- data/stdlib/source_map/vlq.rb +3 -2
- data/tasks/testing.rake +4 -2
- metadata +22 -2
data/stdlib/source_map/vlq.rb
CHANGED
@@ -28,12 +28,13 @@ module SourceMap
|
|
28
28
|
result = []
|
29
29
|
ary.each do |n|
|
30
30
|
vlq = n < 0 ? ((-n) << 1) + 1 : n << 1
|
31
|
-
|
31
|
+
loop do
|
32
32
|
digit = vlq & VLQ_BASE_MASK
|
33
33
|
vlq >>= VLQ_BASE_SHIFT
|
34
34
|
digit |= VLQ_CONTINUATION_BIT if vlq > 0
|
35
35
|
result << BASE64_DIGITS[digit]
|
36
|
-
|
36
|
+
break unless vlq > 0
|
37
|
+
end
|
37
38
|
end
|
38
39
|
result.join
|
39
40
|
end
|
data/tasks/testing.rake
CHANGED
@@ -18,6 +18,7 @@ module Testing
|
|
18
18
|
mspec/guards/block_device
|
19
19
|
mspec/guards/endian
|
20
20
|
a_file
|
21
|
+
lib/spec_helper
|
21
22
|
]
|
22
23
|
end
|
23
24
|
|
@@ -35,7 +36,7 @@ module Testing
|
|
35
36
|
File.directory?(path) ? Dir[path+'/*.rb'] : "#{path}.rb"
|
36
37
|
end - excepting
|
37
38
|
|
38
|
-
opalspecs = Dir['spec/{opal,lib/parser}/**/*_spec.rb'] + ['spec/lib/lexer_spec.rb']
|
39
|
+
opalspecs = Dir['spec/{opal,lib/parser}/**/*_spec.rb'] + ['spec/lib/lexer_spec.rb', 'spec/lib/compiler_spec.rb']
|
39
40
|
userspecs = Dir[pattern] if pattern
|
40
41
|
userspecs &= rubyspecs if whitelist_pattern
|
41
42
|
|
@@ -85,6 +86,7 @@ module Testing
|
|
85
86
|
File.write filename, <<-RUBY
|
86
87
|
require 'spec_helper'
|
87
88
|
require 'opal/platform'
|
89
|
+
require 'opal/full'
|
88
90
|
OSpecRunner.main.will_start
|
89
91
|
#{enter_benchmarking_mode}
|
90
92
|
#{requires.join("\n ")}
|
@@ -125,7 +127,7 @@ DESC
|
|
125
127
|
mkdir_p File.dirname(filename)
|
126
128
|
Testing.write_file filename, Testing.specs(ENV.to_hash.merge 'SUITE' => suite)
|
127
129
|
|
128
|
-
Testing.stubs.each {|s| ::Opal::
|
130
|
+
Testing.stubs.each {|s| ::Opal::Config.stubbed_files << s }
|
129
131
|
|
130
132
|
Opal::Config.arity_check_enabled = true
|
131
133
|
Opal::Config.freezing_stubs_enabled = true
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.0.
|
4
|
+
version: 0.10.0.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Beynon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sourcemap
|
@@ -462,6 +462,9 @@ files:
|
|
462
462
|
- opal/corelib/io.rb
|
463
463
|
- opal/corelib/kernel.rb
|
464
464
|
- opal/corelib/main.rb
|
465
|
+
- opal/corelib/marshal.rb
|
466
|
+
- opal/corelib/marshal/read_buffer.rb
|
467
|
+
- opal/corelib/marshal/write_buffer.rb
|
465
468
|
- opal/corelib/math.rb
|
466
469
|
- opal/corelib/method.rb
|
467
470
|
- opal/corelib/module.rb
|
@@ -483,12 +486,14 @@ files:
|
|
483
486
|
- opal/corelib/variables.rb
|
484
487
|
- opal/opal.rb
|
485
488
|
- opal/opal/base.rb
|
489
|
+
- opal/opal/full.rb
|
486
490
|
- opal/opal/mini.rb
|
487
491
|
- spec/README.md
|
488
492
|
- spec/filters/bugs/array.rb
|
489
493
|
- spec/filters/bugs/basicobject.rb
|
490
494
|
- spec/filters/bugs/bigdecimal.rb
|
491
495
|
- spec/filters/bugs/class.rb
|
496
|
+
- spec/filters/bugs/compiler_opal.rb
|
492
497
|
- spec/filters/bugs/complex.rb
|
493
498
|
- spec/filters/bugs/date.rb
|
494
499
|
- spec/filters/bugs/enumerable.rb
|
@@ -501,6 +506,7 @@ files:
|
|
501
506
|
- spec/filters/bugs/kernel.rb
|
502
507
|
- spec/filters/bugs/language.rb
|
503
508
|
- spec/filters/bugs/language_opal.rb
|
509
|
+
- spec/filters/bugs/marshal.rb
|
504
510
|
- spec/filters/bugs/method.rb
|
505
511
|
- spec/filters/bugs/module.rb
|
506
512
|
- spec/filters/bugs/numeric.rb
|
@@ -529,6 +535,7 @@ files:
|
|
529
535
|
- spec/filters/unsupported/integer.rb
|
530
536
|
- spec/filters/unsupported/kernel.rb
|
531
537
|
- spec/filters/unsupported/language.rb
|
538
|
+
- spec/filters/unsupported/marshal.rb
|
532
539
|
- spec/filters/unsupported/matchdata.rb
|
533
540
|
- spec/filters/unsupported/math.rb
|
534
541
|
- spec/filters/unsupported/module.rb
|
@@ -731,6 +738,8 @@ files:
|
|
731
738
|
- spec/opal/core/language/versions/symbol_1.9.rb
|
732
739
|
- spec/opal/core/language/versions/variables_1.9.rb
|
733
740
|
- spec/opal/core/language_spec.rb
|
741
|
+
- spec/opal/core/marshal/dump_spec.rb
|
742
|
+
- spec/opal/core/marshal/load_spec.rb
|
734
743
|
- spec/opal/core/method/to_proc_spec.rb
|
735
744
|
- spec/opal/core/module/alias_method_spec.rb
|
736
745
|
- spec/opal/core/module/ancestors_spec.rb
|
@@ -810,6 +819,7 @@ files:
|
|
810
819
|
- spec/opal/core/runtime_spec.rb
|
811
820
|
- spec/opal/core/source_map_spec.rb
|
812
821
|
- spec/opal/core/string_spec.rb
|
822
|
+
- spec/opal/javascript_api_spec.rb
|
813
823
|
- spec/opal/stdlib/erb/erb_spec.rb
|
814
824
|
- spec/opal/stdlib/erb/inline_block.opalerb
|
815
825
|
- spec/opal/stdlib/erb/quoted.opalerb
|
@@ -840,6 +850,7 @@ files:
|
|
840
850
|
- spec/opal/stdlib/promise/trace_spec.rb
|
841
851
|
- spec/opal/stdlib/promise/value_spec.rb
|
842
852
|
- spec/opal/stdlib/promise/when_spec.rb
|
853
|
+
- spec/opal/stdlib/source_map_spec.rb
|
843
854
|
- spec/opal/stdlib/strscan/scan_spec.rb
|
844
855
|
- spec/opal/stdlib/template/paths_spec.rb
|
845
856
|
- spec/opal/stdlib/thread/mutex_spec.rb
|
@@ -847,6 +858,7 @@ files:
|
|
847
858
|
- spec/opal/stdlib/thread/thread_spec.rb
|
848
859
|
- spec/ruby_specs
|
849
860
|
- spec/spec_helper.rb
|
861
|
+
- spec/support/match_helpers.rb
|
850
862
|
- spec/support/mspec_rspec_adapter.rb
|
851
863
|
- spec/support/parser_helpers.rb
|
852
864
|
- stdlib/README.md
|
@@ -1153,6 +1165,7 @@ test_files:
|
|
1153
1165
|
- spec/filters/bugs/basicobject.rb
|
1154
1166
|
- spec/filters/bugs/bigdecimal.rb
|
1155
1167
|
- spec/filters/bugs/class.rb
|
1168
|
+
- spec/filters/bugs/compiler_opal.rb
|
1156
1169
|
- spec/filters/bugs/complex.rb
|
1157
1170
|
- spec/filters/bugs/date.rb
|
1158
1171
|
- spec/filters/bugs/enumerable.rb
|
@@ -1165,6 +1178,7 @@ test_files:
|
|
1165
1178
|
- spec/filters/bugs/kernel.rb
|
1166
1179
|
- spec/filters/bugs/language.rb
|
1167
1180
|
- spec/filters/bugs/language_opal.rb
|
1181
|
+
- spec/filters/bugs/marshal.rb
|
1168
1182
|
- spec/filters/bugs/method.rb
|
1169
1183
|
- spec/filters/bugs/module.rb
|
1170
1184
|
- spec/filters/bugs/numeric.rb
|
@@ -1193,6 +1207,7 @@ test_files:
|
|
1193
1207
|
- spec/filters/unsupported/integer.rb
|
1194
1208
|
- spec/filters/unsupported/kernel.rb
|
1195
1209
|
- spec/filters/unsupported/language.rb
|
1210
|
+
- spec/filters/unsupported/marshal.rb
|
1196
1211
|
- spec/filters/unsupported/matchdata.rb
|
1197
1212
|
- spec/filters/unsupported/math.rb
|
1198
1213
|
- spec/filters/unsupported/module.rb
|
@@ -1395,6 +1410,8 @@ test_files:
|
|
1395
1410
|
- spec/opal/core/language/versions/symbol_1.9.rb
|
1396
1411
|
- spec/opal/core/language/versions/variables_1.9.rb
|
1397
1412
|
- spec/opal/core/language_spec.rb
|
1413
|
+
- spec/opal/core/marshal/dump_spec.rb
|
1414
|
+
- spec/opal/core/marshal/load_spec.rb
|
1398
1415
|
- spec/opal/core/method/to_proc_spec.rb
|
1399
1416
|
- spec/opal/core/module/alias_method_spec.rb
|
1400
1417
|
- spec/opal/core/module/ancestors_spec.rb
|
@@ -1474,6 +1491,7 @@ test_files:
|
|
1474
1491
|
- spec/opal/core/runtime_spec.rb
|
1475
1492
|
- spec/opal/core/source_map_spec.rb
|
1476
1493
|
- spec/opal/core/string_spec.rb
|
1494
|
+
- spec/opal/javascript_api_spec.rb
|
1477
1495
|
- spec/opal/stdlib/erb/erb_spec.rb
|
1478
1496
|
- spec/opal/stdlib/erb/inline_block.opalerb
|
1479
1497
|
- spec/opal/stdlib/erb/quoted.opalerb
|
@@ -1504,6 +1522,7 @@ test_files:
|
|
1504
1522
|
- spec/opal/stdlib/promise/trace_spec.rb
|
1505
1523
|
- spec/opal/stdlib/promise/value_spec.rb
|
1506
1524
|
- spec/opal/stdlib/promise/when_spec.rb
|
1525
|
+
- spec/opal/stdlib/source_map_spec.rb
|
1507
1526
|
- spec/opal/stdlib/strscan/scan_spec.rb
|
1508
1527
|
- spec/opal/stdlib/template/paths_spec.rb
|
1509
1528
|
- spec/opal/stdlib/thread/mutex_spec.rb
|
@@ -1511,6 +1530,7 @@ test_files:
|
|
1511
1530
|
- spec/opal/stdlib/thread/thread_spec.rb
|
1512
1531
|
- spec/ruby_specs
|
1513
1532
|
- spec/spec_helper.rb
|
1533
|
+
- spec/support/match_helpers.rb
|
1514
1534
|
- spec/support/mspec_rspec_adapter.rb
|
1515
1535
|
- spec/support/parser_helpers.rb
|
1516
1536
|
- test/opal/test_keyword.rb
|