opal 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +4 -4
  3. data/.github/ISSUE_TEMPLATE/bug-report.md +47 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. data/.github/workflows/build.yml +11 -5
  6. data/.gitignore +1 -0
  7. data/.jshintrc +1 -1
  8. data/.rubocop.yml +2 -1
  9. data/CHANGELOG.md +95 -1
  10. data/Gemfile +0 -4
  11. data/HACKING.md +1 -1
  12. data/README.md +19 -15
  13. data/UNRELEASED.md +37 -96
  14. data/benchmark-ips/bm_array_unshift.rb +7 -0
  15. data/bin/build-browser-source-map-support +2 -3
  16. data/bin/opal-mspec +2 -0
  17. data/docs/compiler.md +1 -1
  18. data/examples/rack/Gemfile +0 -1
  19. data/examples/rack/Gemfile.lock +0 -4
  20. data/lib/opal/cli.rb +1 -0
  21. data/lib/opal/cli_options.rb +4 -0
  22. data/lib/opal/cli_runners/nodejs.rb +5 -1
  23. data/lib/opal/cli_runners/source-map-support-browser.js +8 -2
  24. data/lib/opal/cli_runners/source-map-support-node.js +3706 -0
  25. data/lib/opal/cli_runners/source-map-support.js +3 -1
  26. data/lib/opal/compiler.rb +2 -2
  27. data/lib/opal/nodes/args/arity_check.rb +1 -0
  28. data/lib/opal/nodes/args/parameters.rb +6 -0
  29. data/lib/opal/nodes/class.rb +1 -13
  30. data/lib/opal/nodes/literal.rb +14 -7
  31. data/lib/opal/nodes/module.rb +13 -9
  32. data/lib/opal/nodes/variables.rb +13 -4
  33. data/lib/opal/nodes/while.rb +54 -17
  34. data/lib/opal/parser.rb +1 -5
  35. data/lib/opal/parser/patch.rb +44 -0
  36. data/lib/opal/repl.rb +7 -0
  37. data/lib/opal/rewriter.rb +4 -0
  38. data/lib/opal/rewriters/arguments.rb +4 -1
  39. data/lib/opal/rewriters/forward_args.rb +54 -0
  40. data/lib/opal/rewriters/logical_operator_assignment.rb +5 -2
  41. data/lib/opal/rewriters/opal_engine_check.rb +5 -7
  42. data/lib/opal/rewriters/pattern_matching.rb +287 -0
  43. data/lib/opal/version.rb +1 -1
  44. data/opal/corelib/array.rb +42 -20
  45. data/opal/corelib/array/pack.rb +6 -1
  46. data/opal/corelib/complex.rb +2 -0
  47. data/opal/corelib/constants.rb +3 -3
  48. data/opal/corelib/hash.rb +45 -38
  49. data/opal/corelib/module.rb +2 -7
  50. data/opal/corelib/number.rb +2 -180
  51. data/opal/corelib/numeric.rb +156 -0
  52. data/opal/corelib/object_space.rb +102 -0
  53. data/opal/corelib/pattern_matching.rb +159 -0
  54. data/opal/corelib/random.rb +31 -66
  55. data/opal/corelib/random/formatter.rb +122 -0
  56. data/opal/corelib/range.rb +50 -19
  57. data/opal/corelib/runtime.js +82 -21
  58. data/opal/corelib/string.rb +86 -52
  59. data/opal/corelib/string/encoding.rb +140 -25
  60. data/opal/corelib/string/unpack.rb +26 -40
  61. data/opal/opal.rb +1 -0
  62. data/opal/opal/full.rb +2 -0
  63. data/package.json +1 -1
  64. data/spec/filters/bugs/array.rb +0 -23
  65. data/spec/filters/bugs/basicobject.rb +3 -0
  66. data/spec/filters/bugs/encoding.rb +0 -2
  67. data/spec/filters/bugs/exception.rb +1 -0
  68. data/spec/filters/bugs/float.rb +0 -2
  69. data/spec/filters/bugs/hash.rb +3 -13
  70. data/spec/filters/bugs/integer.rb +0 -2
  71. data/spec/filters/bugs/kernel.rb +16 -3
  72. data/spec/filters/bugs/language.rb +27 -90
  73. data/spec/filters/bugs/marshal.rb +1 -3
  74. data/spec/filters/bugs/module.rb +16 -1
  75. data/spec/filters/bugs/numeric.rb +4 -12
  76. data/spec/filters/bugs/objectspace.rb +67 -0
  77. data/spec/filters/bugs/pack_unpack.rb +0 -9
  78. data/spec/filters/bugs/pathname.rb +1 -0
  79. data/spec/filters/bugs/proc.rb +8 -0
  80. data/spec/filters/bugs/random.rb +3 -6
  81. data/spec/filters/bugs/range.rb +83 -113
  82. data/spec/filters/bugs/set.rb +2 -0
  83. data/spec/filters/bugs/string.rb +32 -70
  84. data/spec/filters/bugs/struct.rb +2 -10
  85. data/spec/filters/bugs/time.rb +8 -2
  86. data/spec/filters/unsupported/float.rb +3 -0
  87. data/spec/filters/unsupported/freeze.rb +1 -0
  88. data/spec/filters/unsupported/integer.rb +3 -0
  89. data/spec/filters/unsupported/refinements.rb +8 -0
  90. data/spec/filters/unsupported/string.rb +100 -95
  91. data/spec/filters/unsupported/time.rb +4 -0
  92. data/spec/lib/compiler_spec.rb +16 -0
  93. data/spec/lib/rewriters/forward_args_spec.rb +61 -0
  94. data/spec/lib/rewriters/logical_operator_assignment_spec.rb +1 -1
  95. data/spec/lib/rewriters/numblocks_spec.rb +44 -0
  96. data/spec/lib/rewriters/opal_engine_check_spec.rb +49 -4
  97. data/spec/opal/core/language/forward_args_spec.rb +53 -0
  98. data/spec/opal/core/language/infinite_range_spec.rb +13 -0
  99. data/spec/opal/core/language/memoization_spec.rb +16 -0
  100. data/spec/opal/core/language/pattern_matching_spec.rb +124 -0
  101. data/spec/opal/core/module_spec.rb +38 -2
  102. data/spec/opal/core/number/to_i_spec.rb +28 -0
  103. data/spec/opal/core/runtime/bridged_classes_spec.rb +16 -0
  104. data/spec/opal/core/runtime/constants_spec.rb +20 -1
  105. data/spec/opal/core/string/subclassing_spec.rb +16 -0
  106. data/spec/opal/core/string/unpack_spec.rb +22 -0
  107. data/spec/opal/core/string_spec.rb +4 -4
  108. data/spec/ruby_specs +4 -1
  109. data/stdlib/json.rb +3 -1
  110. data/stdlib/promise/v1.rb +1 -0
  111. data/stdlib/promise/v2.rb +386 -0
  112. data/stdlib/securerandom.rb +55 -35
  113. data/tasks/releasing.rake +1 -1
  114. data/tasks/testing.rake +6 -4
  115. data/test/nodejs/test_string.rb +25 -0
  116. data/test/opal/promisev2/test_always.rb +63 -0
  117. data/test/opal/promisev2/test_error.rb +16 -0
  118. data/test/opal/promisev2/test_rescue.rb +59 -0
  119. data/test/opal/promisev2/test_then.rb +90 -0
  120. data/test/opal/promisev2/test_trace.rb +52 -0
  121. data/test/opal/promisev2/test_value.rb +16 -0
  122. data/test/opal/promisev2/test_when.rb +35 -0
  123. data/vendored-minitest/minitest/assertions.rb +2 -0
  124. metadata +47 -8
  125. data/lib/opal/parser/with_c_lexer.rb +0 -15
@@ -0,0 +1,16 @@
1
+ require 'test/unit'
2
+ require 'promise/v2'
3
+
4
+ class TestPromiseValue < Test::Unit::TestCase
5
+ def test_resolves_the_promise_with_the_given_value
6
+ assert_equal(PromiseV2.value(23).value, 23)
7
+ end
8
+
9
+ def test_marks_the_promise_as_realized
10
+ assert_equal(PromiseV2.value(23).realized?, true)
11
+ end
12
+
13
+ def test_marks_the_promise_as_resolved
14
+ assert_equal(PromiseV2.value(23).resolved?, true)
15
+ end
16
+ end
@@ -0,0 +1,35 @@
1
+ require 'test/unit'
2
+ require 'promise/v2'
3
+
4
+ class TestPromiseWhen < Test::Unit::TestCase
5
+ def test_calls_the_block_with_all_promises_results
6
+ a = PromiseV2.new
7
+ b = PromiseV2.new
8
+
9
+ x = 42
10
+
11
+ p = PromiseV2.when(a, b).then {|y, z|
12
+ x = y + z
13
+ }
14
+
15
+ a.resolve(1)
16
+ b.resolve(2)
17
+
18
+ p.always { assert_equal(x, 3) }
19
+ end
20
+
21
+ def test_can_be_built_lazily
22
+ a = PromiseV2.new
23
+ b = PromiseV2.value(3)
24
+
25
+ x = 42
26
+
27
+ p = PromiseV2.when(a).and(b).then {|c, d|
28
+ x = c + d
29
+ }
30
+
31
+ a.resolve(2)
32
+
33
+ p.always { assert_equal(x, 5) }
34
+ end
35
+ end
@@ -417,6 +417,8 @@ module Minitest
417
417
  end
418
418
  end
419
419
 
420
+ alias capture_output capture_io
421
+
420
422
  ##
421
423
  # Captures $stdout and $stderr into strings, using Tempfile to
422
424
  # ensure that subprocess IO is captured as well.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elia Schito
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-02-19 00:00:00.000000000 Z
13
+ date: 2021-07-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ast
@@ -238,6 +238,8 @@ files:
238
238
  - ".codeclimate.yml"
239
239
  - ".gitattributes"
240
240
  - ".github/FUNDING.yml"
241
+ - ".github/ISSUE_TEMPLATE/bug-report.md"
242
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
241
243
  - ".github/workflows/build.yml"
242
244
  - ".gitignore"
243
245
  - ".gitmodules"
@@ -261,6 +263,7 @@ files:
261
263
  - benchmark-ips/README.md
262
264
  - benchmark-ips/bm_array_pop_1.rb
263
265
  - benchmark-ips/bm_array_shift.rb
266
+ - benchmark-ips/bm_array_unshift.rb
264
267
  - benchmark-ips/bm_block_vs_yield.rb
265
268
  - benchmark-ips/bm_case.rb
266
269
  - benchmark-ips/bm_constants_lookup.rb
@@ -469,6 +472,7 @@ files:
469
472
  - lib/opal/cli_runners/package.json
470
473
  - lib/opal/cli_runners/server.rb
471
474
  - lib/opal/cli_runners/source-map-support-browser.js
475
+ - lib/opal/cli_runners/source-map-support-node.js
472
476
  - lib/opal/cli_runners/source-map-support.js
473
477
  - lib/opal/cli_runners/system_runner.rb
474
478
  - lib/opal/compiler.rb
@@ -535,7 +539,6 @@ files:
535
539
  - lib/opal/parser/default_config.rb
536
540
  - lib/opal/parser/patch.rb
537
541
  - lib/opal/parser/source_buffer.rb
538
- - lib/opal/parser/with_c_lexer.rb
539
542
  - lib/opal/parser/with_ruby_lexer.rb
540
543
  - lib/opal/path_reader.rb
541
544
  - lib/opal/paths.rb
@@ -551,6 +554,7 @@ files:
551
554
  - lib/opal/rewriters/dump_args.rb
552
555
  - lib/opal/rewriters/explicit_writer_return.rb
553
556
  - lib/opal/rewriters/for_rewriter.rb
557
+ - lib/opal/rewriters/forward_args.rb
554
558
  - lib/opal/rewriters/hashes/key_duplicates_rewriter.rb
555
559
  - lib/opal/rewriters/inline_args.rb
556
560
  - lib/opal/rewriters/js_reserved_words.rb
@@ -558,6 +562,7 @@ files:
558
562
  - lib/opal/rewriters/mlhs_args.rb
559
563
  - lib/opal/rewriters/numblocks.rb
560
564
  - lib/opal/rewriters/opal_engine_check.rb
565
+ - lib/opal/rewriters/pattern_matching.rb
561
566
  - lib/opal/rewriters/returnable_logic.rb
562
567
  - lib/opal/rewriters/rubyspec/filters_rewriter.rb
563
568
  - lib/opal/server.rb
@@ -600,10 +605,13 @@ files:
600
605
  - opal/corelib/nil.rb
601
606
  - opal/corelib/number.rb
602
607
  - opal/corelib/numeric.rb
608
+ - opal/corelib/object_space.rb
603
609
  - opal/corelib/pack_unpack/format_string_parser.rb
610
+ - opal/corelib/pattern_matching.rb
604
611
  - opal/corelib/proc.rb
605
612
  - opal/corelib/process.rb
606
613
  - opal/corelib/random.rb
614
+ - opal/corelib/random/formatter.rb
607
615
  - opal/corelib/random/math_random.js.rb
608
616
  - opal/corelib/random/mersenne_twister.rb
609
617
  - opal/corelib/random/seedrandom.js.rb
@@ -648,6 +656,7 @@ files:
648
656
  - spec/filters/bugs/module.rb
649
657
  - spec/filters/bugs/nilclass.rb
650
658
  - spec/filters/bugs/numeric.rb
659
+ - spec/filters/bugs/objectspace.rb
651
660
  - spec/filters/bugs/openstruct.rb
652
661
  - spec/filters/bugs/pack_unpack.rb
653
662
  - spec/filters/bugs/pathname.rb
@@ -688,6 +697,7 @@ files:
688
697
  - spec/filters/unsupported/proc.rb
689
698
  - spec/filters/unsupported/random.rb
690
699
  - spec/filters/unsupported/range.rb
700
+ - spec/filters/unsupported/refinements.rb
691
701
  - spec/filters/unsupported/regexp.rb
692
702
  - spec/filters/unsupported/set.rb
693
703
  - spec/filters/unsupported/singleton.rb
@@ -731,9 +741,11 @@ files:
731
741
  - spec/lib/rewriters/dot_js_syntax_spec.rb
732
742
  - spec/lib/rewriters/explicit_writer_return_spec.rb
733
743
  - spec/lib/rewriters/for_rewriter_spec.rb
744
+ - spec/lib/rewriters/forward_args_spec.rb
734
745
  - spec/lib/rewriters/hashes/key_duplicates_rewriter_spec.rb
735
746
  - spec/lib/rewriters/js_reserved_words_spec.rb
736
747
  - spec/lib/rewriters/logical_operator_assignment_spec.rb
748
+ - spec/lib/rewriters/numblocks_spec.rb
737
749
  - spec/lib/rewriters/opal_engine_check_spec.rb
738
750
  - spec/lib/rewriters/returnable_logic_spec.rb
739
751
  - spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb
@@ -799,14 +811,19 @@ files:
799
811
  - spec/opal/core/language/DATA/empty___END___spec.rb
800
812
  - spec/opal/core/language/DATA/multiple___END___spec.rb
801
813
  - spec/opal/core/language/arguments/mlhs_arg_spec.rb
814
+ - spec/opal/core/language/forward_args_spec.rb
815
+ - spec/opal/core/language/infinite_range_spec.rb
802
816
  - spec/opal/core/language/keyword_arguments_spec.rb
817
+ - spec/opal/core/language/memoization_spec.rb
803
818
  - spec/opal/core/language/numblocks_spec.rb
819
+ - spec/opal/core/language/pattern_matching_spec.rb
804
820
  - spec/opal/core/language/safe_navigator_spec.rb
805
821
  - spec/opal/core/language/while_spec.rb
806
822
  - spec/opal/core/language_spec.rb
807
823
  - spec/opal/core/marshal/dump_spec.rb
808
824
  - spec/opal/core/marshal/load_spec.rb
809
825
  - spec/opal/core/module_spec.rb
826
+ - spec/opal/core/number/to_i_spec.rb
810
827
  - spec/opal/core/object_id_spec.rb
811
828
  - spec/opal/core/regexp/interpolation_spec.rb
812
829
  - spec/opal/core/regexp/match_spec.rb
@@ -824,7 +841,9 @@ files:
824
841
  - spec/opal/core/runtime_spec.rb
825
842
  - spec/opal/core/string/each_byte_spec.rb
826
843
  - spec/opal/core/string/gsub_spec.rb
844
+ - spec/opal/core/string/subclassing_spec.rb
827
845
  - spec/opal/core/string/to_sym_spec.rb
846
+ - spec/opal/core/string/unpack_spec.rb
828
847
  - spec/opal/core/string_spec.rb
829
848
  - spec/opal/core/struct/dup_spec.rb
830
849
  - spec/opal/core/time_spec.rb
@@ -995,6 +1014,8 @@ files:
995
1014
  - stdlib/pp.rb
996
1015
  - stdlib/prettyprint.rb
997
1016
  - stdlib/promise.rb
1017
+ - stdlib/promise/v1.rb
1018
+ - stdlib/promise/v2.rb
998
1019
  - stdlib/racc/parser.rb
999
1020
  - stdlib/rbconfig.rb
1000
1021
  - stdlib/rbconfig/sizeof.rb
@@ -1028,8 +1049,16 @@ files:
1028
1049
  - test/nodejs/test_io.rb
1029
1050
  - test/nodejs/test_opal_builder.rb
1030
1051
  - test/nodejs/test_pathname.rb
1052
+ - test/nodejs/test_string.rb
1031
1053
  - test/opal/cat.png
1032
1054
  - test/opal/http_server.rb
1055
+ - test/opal/promisev2/test_always.rb
1056
+ - test/opal/promisev2/test_error.rb
1057
+ - test/opal/promisev2/test_rescue.rb
1058
+ - test/opal/promisev2/test_then.rb
1059
+ - test/opal/promisev2/test_trace.rb
1060
+ - test/opal/promisev2/test_value.rb
1061
+ - test/opal/promisev2/test_when.rb
1033
1062
  - test/opal/test_base64.rb
1034
1063
  - test/opal/test_keyword.rb
1035
1064
  - test/opal/test_matrix.rb
@@ -1056,10 +1085,10 @@ licenses:
1056
1085
  metadata:
1057
1086
  homepage_uri: https://opalrb.com/
1058
1087
  bug_tracker_uri: https://github.com/opal/opal/issues
1059
- changelog_uri: https://github.com/opal/opal/blob/v1.1.0/CHANGELOG.md
1060
- readme_uri: https://github.com/opal/opal/blob/v1.1.0/README.md
1061
- api_documentation_uri: http://opalrb.com/docs/api/v1.1.0/index.html
1062
- guides_uri: http://opalrb.com/docs/guides/v1.1.0/index.html
1088
+ changelog_uri: https://github.com/opal/opal/blob/v1.2.0/CHANGELOG.md
1089
+ readme_uri: https://github.com/opal/opal/blob/v1.2.0/README.md
1090
+ api_documentation_uri: http://opalrb.com/docs/api/v1.2.0/index.html
1091
+ guides_uri: http://opalrb.com/docs/guides/v1.2.0/index.html
1063
1092
  chat_uri: https://gitter.im/opal/opal
1064
1093
  source_code_uri: https://github.com/opal/opal
1065
1094
  post_install_message:
@@ -1085,6 +1114,8 @@ test_files:
1085
1114
  - ".codeclimate.yml"
1086
1115
  - ".gitattributes"
1087
1116
  - ".github/FUNDING.yml"
1117
+ - ".github/ISSUE_TEMPLATE/bug-report.md"
1118
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
1088
1119
  - ".github/workflows/build.yml"
1089
1120
  - ".gitignore"
1090
1121
  - ".gitmodules"
@@ -1108,6 +1139,7 @@ test_files:
1108
1139
  - benchmark-ips/README.md
1109
1140
  - benchmark-ips/bm_array_pop_1.rb
1110
1141
  - benchmark-ips/bm_array_shift.rb
1142
+ - benchmark-ips/bm_array_unshift.rb
1111
1143
  - benchmark-ips/bm_block_vs_yield.rb
1112
1144
  - benchmark-ips/bm_case.rb
1113
1145
  - benchmark-ips/bm_constants_lookup.rb
@@ -1316,6 +1348,7 @@ test_files:
1316
1348
  - lib/opal/cli_runners/package.json
1317
1349
  - lib/opal/cli_runners/server.rb
1318
1350
  - lib/opal/cli_runners/source-map-support-browser.js
1351
+ - lib/opal/cli_runners/source-map-support-node.js
1319
1352
  - lib/opal/cli_runners/source-map-support.js
1320
1353
  - lib/opal/cli_runners/system_runner.rb
1321
1354
  - lib/opal/compiler.rb
@@ -1382,7 +1415,6 @@ test_files:
1382
1415
  - lib/opal/parser/default_config.rb
1383
1416
  - lib/opal/parser/patch.rb
1384
1417
  - lib/opal/parser/source_buffer.rb
1385
- - lib/opal/parser/with_c_lexer.rb
1386
1418
  - lib/opal/parser/with_ruby_lexer.rb
1387
1419
  - lib/opal/path_reader.rb
1388
1420
  - lib/opal/paths.rb
@@ -1398,6 +1430,7 @@ test_files:
1398
1430
  - lib/opal/rewriters/dump_args.rb
1399
1431
  - lib/opal/rewriters/explicit_writer_return.rb
1400
1432
  - lib/opal/rewriters/for_rewriter.rb
1433
+ - lib/opal/rewriters/forward_args.rb
1401
1434
  - lib/opal/rewriters/hashes/key_duplicates_rewriter.rb
1402
1435
  - lib/opal/rewriters/inline_args.rb
1403
1436
  - lib/opal/rewriters/js_reserved_words.rb
@@ -1405,6 +1438,7 @@ test_files:
1405
1438
  - lib/opal/rewriters/mlhs_args.rb
1406
1439
  - lib/opal/rewriters/numblocks.rb
1407
1440
  - lib/opal/rewriters/opal_engine_check.rb
1441
+ - lib/opal/rewriters/pattern_matching.rb
1408
1442
  - lib/opal/rewriters/returnable_logic.rb
1409
1443
  - lib/opal/rewriters/rubyspec/filters_rewriter.rb
1410
1444
  - lib/opal/server.rb
@@ -1447,10 +1481,13 @@ test_files:
1447
1481
  - opal/corelib/nil.rb
1448
1482
  - opal/corelib/number.rb
1449
1483
  - opal/corelib/numeric.rb
1484
+ - opal/corelib/object_space.rb
1450
1485
  - opal/corelib/pack_unpack/format_string_parser.rb
1486
+ - opal/corelib/pattern_matching.rb
1451
1487
  - opal/corelib/proc.rb
1452
1488
  - opal/corelib/process.rb
1453
1489
  - opal/corelib/random.rb
1490
+ - opal/corelib/random/formatter.rb
1454
1491
  - opal/corelib/random/math_random.js.rb
1455
1492
  - opal/corelib/random/mersenne_twister.rb
1456
1493
  - opal/corelib/random/seedrandom.js.rb
@@ -1590,6 +1627,8 @@ test_files:
1590
1627
  - stdlib/pp.rb
1591
1628
  - stdlib/prettyprint.rb
1592
1629
  - stdlib/promise.rb
1630
+ - stdlib/promise/v1.rb
1631
+ - stdlib/promise/v2.rb
1593
1632
  - stdlib/racc/parser.rb
1594
1633
  - stdlib/rbconfig.rb
1595
1634
  - stdlib/rbconfig/sizeof.rb
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # There's no compatible c_lexer for parser 3.0.0.0 at this point...
4
- begin
5
- require 'c_lexer'
6
- rescue LoadError
7
- $stderr.puts 'Failed to load WithCLexer, using pure Ruby lexer' if $DEBUG
8
- end
9
-
10
- if defined? Parser::Ruby25WithWithCLexer
11
- class Opal::Parser::WithCLexer < Parser::Ruby25WithWithCLexer
12
- include Opal::Parser::DefaultConfig
13
- Opal::Parser.default_parser_class = self
14
- end
15
- end