From 3d38fc46b0bcf4f25fc2d7a65929a472109be138 Mon Sep 17 00:00:00 2001 From: y00576111 Date: Tue, 7 Sep 2021 22:01:20 +0800 Subject: [PATCH 1/7] upload dev ts2abc to openharmony Signed-off-by: y00576111 Change-Id: I036bf71c774b5fdeafe0f4bbe63f6123edb75da1 --- test262/es2015_tests.txt | 682 +++- test262/es5_tests.txt | 0 test262/run_sunspider.py | 5 +- test262/skip_tests.json | 131 +- ts2panda/.gitignore | 0 ts2panda/BUILD.gn | 29 +- ts2panda/README.md | 8 +- ts2panda/package-lock.json | 0 ts2panda/package.json | 0 ts2panda/scripts/diagnosticMessages.json | 4 + ts2panda/scripts/gen_diagnostic.sh | 1 - ts2panda/scripts/gen_irnodes.sh | 0 ts2panda/scripts/generate_js_bytecode.py | 4 +- ts2panda/scripts/run.py | 20 +- ts2panda/scripts/ts2abc.js | 16 +- ts2panda/src/addVariable2Scope.ts | 0 ts2panda/src/assemblyDumper.ts | 47 +- ts2panda/src/astutils.ts | 0 ts2panda/src/base/bcGenUtil.ts | 310 +- ts2panda/src/base/builtIn.ts | 99 +- ts2panda/src/base/iterator.ts | 4 +- ts2panda/src/base/lexEnv.ts | 0 ts2panda/src/base/literal.ts | 3 +- ts2panda/src/base/lreference.ts | 0 ts2panda/src/base/properties.ts | 1 - ts2panda/src/base/util.ts | 86 +- ts2panda/src/base/vregisterCache.ts | 42 +- ts2panda/src/compiler.ts | 126 +- ts2panda/src/compilerDriver.ts | 81 +- ts2panda/src/compilerStatistics.ts | 24 +- ts2panda/src/compilerUtils.ts | 7 +- ts2panda/src/debuginfo.ts | 1 + .../src/expression/arrayLiteralExpression.ts | 2 +- ts2panda/src/expression/callExpression.ts | 0 .../src/expression/memberAccessExpression.ts | 1 - ts2panda/src/expression/metaProperty.ts | 1 - ts2panda/src/expression/newExpression.ts | 0 ts2panda/src/expression/numericLiteral.ts | 7 +- .../src/expression/objectLiteralExpression.ts | 13 +- .../src/expression/parenthesizedExpression.ts | 0 ts2panda/src/expression/regularExpression.ts | 87 + ts2panda/src/expression/stringLiteral.ts | 0 ts2panda/src/expression/templateExpression.ts | 0 ts2panda/src/expression/yieldExpression.ts | 0 ts2panda/src/function/asyncFunctionBuilder.ts | 2 +- ts2panda/src/function/functionBuilder.ts | 0 .../src/function/generatorFunctionBuilder.ts | 5 +- ts2panda/src/hoisting.ts | 19 +- ts2panda/src/index.ts | 4 +- ts2panda/src/intrinsicExpander.ts | 0 ts2panda/src/jshelpers.d.ts | 0 ts2panda/src/jshelpers.js | 0 ts2panda/src/lexenv.ts | 0 ts2panda/src/log.ts | 0 ts2panda/src/modules.ts | 0 ts2panda/src/pandagen.ts | 433 +-- ts2panda/src/pandasm.ts | 9 - ts2panda/src/pass.ts | 0 ts2panda/src/pass/ICPass.ts | 1 - ts2panda/src/pass/cacheExpander.ts | 0 ts2panda/src/pass/intrinsicVariantExpander.ts | 173 - ts2panda/src/recorder.ts | 17 + ts2panda/src/regAllocator.ts | 57 +- ts2panda/src/scope.ts | 12 +- ts2panda/src/statement/classStatement.ts | 64 +- ts2panda/src/statement/forOfStatement.ts | 0 ts2panda/src/statement/labelTarget.ts | 6 +- ts2panda/src/statement/loopStatement.ts | 6 +- ts2panda/src/statement/returnStatement.ts | 10 +- ts2panda/src/statement/switchStatement.ts | 2 +- ts2panda/src/statement/tryStatement.ts | 9 +- ts2panda/src/strictMode.ts | 0 ts2panda/src/syntaxCheckHelper.ts | 0 ts2panda/src/syntaxChecker.ts | 25 +- ts2panda/src/syntaxCheckerForStrcitMode.ts | 3 +- ts2panda/src/ts2panda.ts | 8 +- ts2panda/src/tsconfig.json | 0 ts2panda/src/tsconfig.mac.json | 0 ts2panda/src/tsconfig.win.json | 0 ts2panda/src/variable.ts | 0 ts2panda/templates/builtinsMap.ts.erb | 0 ts2panda/templates/diagnostic.ts.erb | 0 ts2panda/templates/irnodes.ts.erb | 3182 +---------------- ts2panda/tests/binary.test.ts | 0 ts2panda/tests/builtIns.test.ts | 0 ts2panda/tests/conditions.test.ts | 0 ts2panda/tests/declaration.test.ts | 0 ts2panda/tests/elementAccess.test.ts | 0 ts2panda/tests/example_hello/hello.test.ts | 0 ts2panda/tests/example_hello/hello.ts | 0 .../expression/TemplateExpression.test.ts | 0 ts2panda/tests/expression/call.test.ts | 0 .../expression/functionExpression.test.ts | 0 ts2panda/tests/expression/new.test.ts | 0 .../tests/expression/numericLiteral.test.ts | 0 .../tests/expression/stringLiteral.test.ts | 0 ts2panda/tests/hoist.test.ts | 2 +- ts2panda/tests/intrinsicExpander.test.ts | 0 ts2panda/tests/lexenv.test.ts | 4 +- ts2panda/tests/literal.test.ts | 0 ts2panda/tests/loops.test.ts | 0 ts2panda/tests/otherExpressions.test.ts | 0 ts2panda/tests/otherStatements.test.ts | 0 ts2panda/tests/pandagen.test.ts | 0 ts2panda/tests/propertyAccess.test.ts | 0 ts2panda/tests/regAllocator.test.ts | 6 +- ts2panda/tests/returnStatement.test.ts | 0 ts2panda/tests/scope.test.ts | 2 +- ts2panda/tests/statements/forIn.test.ts | 0 ts2panda/tests/statements/switch.test.ts | 0 ts2panda/tests/strictmode/function.js | 6 +- ts2panda/tests/strictmode/function_nest1.js | 0 ts2panda/tests/strictmode/function_nest2.js | 0 ts2panda/tests/strictmode/global.js | 0 ts2panda/tests/strictmode/strictmode.test.ts | 0 ts2panda/tests/tryCatch.test.ts | 0 ts2panda/tests/tsconfig.json | 0 ts2panda/tests/unary.test.ts | 3 + ts2panda/tests/utils/asthelper.ts | 4 +- ts2panda/tests/utils/base.ts | 2 +- ts2panda/tests/utils/example_asthelper.ts | 0 ts2panda/tools/astPrinter.ts | 2 +- ts2panda/tools/tsconfig.json | 0 ts2panda/ts2abc/BUILD.gn | 0 ts2panda/ts2abc/CMakeLists.txt | 0 ts2panda/ts2abc/ts2abc.cpp | 51 +- ts2panda/ts2abc/ts2abc_options.h | 0 ts2panda/ts2abc_config.gni | 18 +- ts2panda/tsconfig.json | 0 129 files changed, 1675 insertions(+), 4314 deletions(-) mode change 100644 => 100755 test262/es2015_tests.txt mode change 100644 => 100755 test262/es5_tests.txt mode change 100644 => 100755 test262/skip_tests.json mode change 100644 => 100755 ts2panda/.gitignore mode change 100644 => 100755 ts2panda/BUILD.gn mode change 100644 => 100755 ts2panda/README.md mode change 100644 => 100755 ts2panda/package-lock.json mode change 100644 => 100755 ts2panda/package.json mode change 100644 => 100755 ts2panda/scripts/diagnosticMessages.json mode change 100644 => 100755 ts2panda/scripts/gen_diagnostic.sh mode change 100644 => 100755 ts2panda/scripts/gen_irnodes.sh mode change 100644 => 100755 ts2panda/scripts/ts2abc.js mode change 100644 => 100755 ts2panda/src/addVariable2Scope.ts mode change 100644 => 100755 ts2panda/src/assemblyDumper.ts mode change 100644 => 100755 ts2panda/src/astutils.ts mode change 100644 => 100755 ts2panda/src/base/bcGenUtil.ts mode change 100644 => 100755 ts2panda/src/base/builtIn.ts mode change 100644 => 100755 ts2panda/src/base/iterator.ts mode change 100644 => 100755 ts2panda/src/base/lexEnv.ts mode change 100644 => 100755 ts2panda/src/base/literal.ts mode change 100644 => 100755 ts2panda/src/base/lreference.ts mode change 100644 => 100755 ts2panda/src/base/properties.ts mode change 100644 => 100755 ts2panda/src/base/util.ts mode change 100644 => 100755 ts2panda/src/base/vregisterCache.ts mode change 100644 => 100755 ts2panda/src/compiler.ts mode change 100644 => 100755 ts2panda/src/compilerDriver.ts mode change 100644 => 100755 ts2panda/src/compilerStatistics.ts mode change 100644 => 100755 ts2panda/src/compilerUtils.ts mode change 100644 => 100755 ts2panda/src/debuginfo.ts mode change 100644 => 100755 ts2panda/src/expression/arrayLiteralExpression.ts mode change 100644 => 100755 ts2panda/src/expression/callExpression.ts mode change 100644 => 100755 ts2panda/src/expression/memberAccessExpression.ts mode change 100644 => 100755 ts2panda/src/expression/metaProperty.ts mode change 100644 => 100755 ts2panda/src/expression/newExpression.ts mode change 100644 => 100755 ts2panda/src/expression/numericLiteral.ts mode change 100644 => 100755 ts2panda/src/expression/objectLiteralExpression.ts mode change 100644 => 100755 ts2panda/src/expression/parenthesizedExpression.ts create mode 100755 ts2panda/src/expression/regularExpression.ts mode change 100644 => 100755 ts2panda/src/expression/stringLiteral.ts mode change 100644 => 100755 ts2panda/src/expression/templateExpression.ts mode change 100644 => 100755 ts2panda/src/expression/yieldExpression.ts mode change 100644 => 100755 ts2panda/src/function/asyncFunctionBuilder.ts mode change 100644 => 100755 ts2panda/src/function/functionBuilder.ts mode change 100644 => 100755 ts2panda/src/function/generatorFunctionBuilder.ts mode change 100644 => 100755 ts2panda/src/hoisting.ts mode change 100644 => 100755 ts2panda/src/index.ts mode change 100644 => 100755 ts2panda/src/intrinsicExpander.ts mode change 100644 => 100755 ts2panda/src/jshelpers.d.ts mode change 100644 => 100755 ts2panda/src/jshelpers.js mode change 100644 => 100755 ts2panda/src/lexenv.ts mode change 100644 => 100755 ts2panda/src/log.ts mode change 100644 => 100755 ts2panda/src/modules.ts mode change 100644 => 100755 ts2panda/src/pandagen.ts mode change 100644 => 100755 ts2panda/src/pandasm.ts mode change 100644 => 100755 ts2panda/src/pass.ts mode change 100644 => 100755 ts2panda/src/pass/ICPass.ts mode change 100644 => 100755 ts2panda/src/pass/cacheExpander.ts delete mode 100644 ts2panda/src/pass/intrinsicVariantExpander.ts mode change 100644 => 100755 ts2panda/src/recorder.ts mode change 100644 => 100755 ts2panda/src/regAllocator.ts mode change 100644 => 100755 ts2panda/src/scope.ts mode change 100644 => 100755 ts2panda/src/statement/classStatement.ts mode change 100644 => 100755 ts2panda/src/statement/forOfStatement.ts mode change 100644 => 100755 ts2panda/src/statement/labelTarget.ts mode change 100644 => 100755 ts2panda/src/statement/loopStatement.ts mode change 100644 => 100755 ts2panda/src/statement/returnStatement.ts mode change 100644 => 100755 ts2panda/src/statement/switchStatement.ts mode change 100644 => 100755 ts2panda/src/statement/tryStatement.ts mode change 100644 => 100755 ts2panda/src/strictMode.ts mode change 100644 => 100755 ts2panda/src/syntaxCheckHelper.ts mode change 100644 => 100755 ts2panda/src/syntaxChecker.ts mode change 100644 => 100755 ts2panda/src/syntaxCheckerForStrcitMode.ts mode change 100644 => 100755 ts2panda/src/ts2panda.ts mode change 100644 => 100755 ts2panda/src/tsconfig.json mode change 100644 => 100755 ts2panda/src/tsconfig.mac.json mode change 100644 => 100755 ts2panda/src/tsconfig.win.json mode change 100644 => 100755 ts2panda/src/variable.ts mode change 100644 => 100755 ts2panda/templates/builtinsMap.ts.erb mode change 100644 => 100755 ts2panda/templates/diagnostic.ts.erb mode change 100644 => 100755 ts2panda/templates/irnodes.ts.erb mode change 100644 => 100755 ts2panda/tests/binary.test.ts mode change 100644 => 100755 ts2panda/tests/builtIns.test.ts mode change 100644 => 100755 ts2panda/tests/conditions.test.ts mode change 100644 => 100755 ts2panda/tests/declaration.test.ts mode change 100644 => 100755 ts2panda/tests/elementAccess.test.ts mode change 100644 => 100755 ts2panda/tests/example_hello/hello.test.ts mode change 100644 => 100755 ts2panda/tests/example_hello/hello.ts mode change 100644 => 100755 ts2panda/tests/expression/TemplateExpression.test.ts mode change 100644 => 100755 ts2panda/tests/expression/call.test.ts mode change 100644 => 100755 ts2panda/tests/expression/functionExpression.test.ts mode change 100644 => 100755 ts2panda/tests/expression/new.test.ts mode change 100644 => 100755 ts2panda/tests/expression/numericLiteral.test.ts mode change 100644 => 100755 ts2panda/tests/expression/stringLiteral.test.ts mode change 100644 => 100755 ts2panda/tests/hoist.test.ts mode change 100644 => 100755 ts2panda/tests/intrinsicExpander.test.ts mode change 100644 => 100755 ts2panda/tests/lexenv.test.ts mode change 100644 => 100755 ts2panda/tests/literal.test.ts mode change 100644 => 100755 ts2panda/tests/loops.test.ts mode change 100644 => 100755 ts2panda/tests/otherExpressions.test.ts mode change 100644 => 100755 ts2panda/tests/otherStatements.test.ts mode change 100644 => 100755 ts2panda/tests/pandagen.test.ts mode change 100644 => 100755 ts2panda/tests/propertyAccess.test.ts mode change 100644 => 100755 ts2panda/tests/regAllocator.test.ts mode change 100644 => 100755 ts2panda/tests/returnStatement.test.ts mode change 100644 => 100755 ts2panda/tests/scope.test.ts mode change 100644 => 100755 ts2panda/tests/statements/forIn.test.ts mode change 100644 => 100755 ts2panda/tests/statements/switch.test.ts mode change 100644 => 100755 ts2panda/tests/strictmode/function.js mode change 100644 => 100755 ts2panda/tests/strictmode/function_nest1.js mode change 100644 => 100755 ts2panda/tests/strictmode/function_nest2.js mode change 100644 => 100755 ts2panda/tests/strictmode/global.js mode change 100644 => 100755 ts2panda/tests/strictmode/strictmode.test.ts mode change 100644 => 100755 ts2panda/tests/tryCatch.test.ts mode change 100644 => 100755 ts2panda/tests/tsconfig.json mode change 100644 => 100755 ts2panda/tests/unary.test.ts mode change 100644 => 100755 ts2panda/tests/utils/asthelper.ts mode change 100644 => 100755 ts2panda/tests/utils/base.ts mode change 100644 => 100755 ts2panda/tests/utils/example_asthelper.ts mode change 100644 => 100755 ts2panda/tools/astPrinter.ts mode change 100644 => 100755 ts2panda/tools/tsconfig.json mode change 100644 => 100755 ts2panda/ts2abc/BUILD.gn mode change 100644 => 100755 ts2panda/ts2abc/CMakeLists.txt mode change 100644 => 100755 ts2panda/ts2abc/ts2abc.cpp mode change 100644 => 100755 ts2panda/ts2abc/ts2abc_options.h mode change 100644 => 100755 ts2panda/ts2abc_config.gni mode change 100644 => 100755 ts2panda/tsconfig.json diff --git a/test262/es2015_tests.txt b/test262/es2015_tests.txt old mode 100644 new mode 100755 index 01eae6e32b..92acde0ddc --- a/test262/es2015_tests.txt +++ b/test262/es2015_tests.txt @@ -4547,4 +4547,684 @@ built-ins/encodeURI/S15.1.3.3_A5.4.js built-ins/encodeURI/S15.1.3.3_A5.5.js built-ins/encodeURI/S15.1.3.3_A5.6.js built-ins/encodeURI/S15.1.3.3_A5.7.js -built-ins/encodeURI/S15.1.3.3_A6_T1.js \ No newline at end of file +built-ins/encodeURI/S15.1.3.3_A6_T1.js +intl402/NumberFormat/casing-numbering-system-options.js +intl402/NumberFormat/builtin.js +intl402/NumberFormat/constructor-default-value.js +intl402/NumberFormat/constructor-options-throwing-getters.js +intl402/NumberFormat/test-option-currency.js +intl402/NumberFormat/constructor-locales-get-tostring.js +intl402/NumberFormat/test-option-style.js +intl402/NumberFormat/currencyDisplay-unit.js +intl402/NumberFormat/this-value-ignored.js +intl402/NumberFormat/currency-digits.js +intl402/NumberFormat/supportedLocalesOf/builtin.js +intl402/NumberFormat/supportedLocalesOf/length.js +intl402/NumberFormat/supportedLocalesOf/basic.js +intl402/NumberFormat/supportedLocalesOf/name.js +intl402/NumberFormat/supportedLocalesOf/prop-desc.js +intl402/NumberFormat/supportedLocalesOf/taint-Object-prototype.js +intl402/NumberFormat/numbering-system-options.js +intl402/NumberFormat/length.js +intl402/NumberFormat/constructor-compactDisplay-compact.js +intl402/NumberFormat/constructor-signDisplay.js +intl402/NumberFormat/legacy-regexp-statics-not-modified.js +intl402/NumberFormat/dft-currency-mnfd-range-check-mxfd.js +intl402/NumberFormat/intl-legacy-constructed-symbol-on-unwrap.js +intl402/NumberFormat/throws-for-currency-style-without-currency-option.js +intl402/NumberFormat/default-options-object-prototype.js +intl402/NumberFormat/constructor-locales-arraylike.js +intl402/NumberFormat/instance-proto-and-extensible.js +intl402/NumberFormat/constructor-locales-string.js +intl402/NumberFormat/test-option-useGrouping.js +intl402/NumberFormat/currency-code-well-formed.js +intl402/NumberFormat/constructor-unitDisplay.js +intl402/NumberFormat/constructor-locales-hasproperty.js +intl402/NumberFormat/name.js +intl402/NumberFormat/prop-desc.js +intl402/NumberFormat/constructor-notation.js +intl402/NumberFormat/constructor-options-toobject.js +intl402/NumberFormat/significant-digits-options-get-sequence.js +intl402/NumberFormat/taint-Object-prototype.js +intl402/NumberFormat/prototype/builtin.js +intl402/NumberFormat/prototype/format/format-fraction-digits.js +intl402/NumberFormat/prototype/format/format-non-finite-numbers.js +intl402/NumberFormat/prototype/format/format-negative-numbers.js +intl402/NumberFormat/prototype/format/builtin.js +intl402/NumberFormat/prototype/format/notation-compact-ko-KR.js +intl402/NumberFormat/prototype/format/signDisplay-de-DE.js +intl402/NumberFormat/prototype/format/units.js +intl402/NumberFormat/prototype/format/signDisplay-rounding.js +intl402/NumberFormat/prototype/format/format-function-length.js +intl402/NumberFormat/prototype/format/engineering-scientific-zh-TW.js +intl402/NumberFormat/prototype/format/signDisplay-currency-zh-TW.js +intl402/NumberFormat/prototype/format/default-value.js +intl402/NumberFormat/prototype/format/signDisplay-zh-TW.js +intl402/NumberFormat/prototype/format/engineering-scientific-ko-KR.js +intl402/NumberFormat/prototype/format/length.js +intl402/NumberFormat/prototype/format/notation-compact-ja-JP.js +intl402/NumberFormat/prototype/format/notation-compact-de-DE.js +intl402/NumberFormat/prototype/format/value-tonumber.js +intl402/NumberFormat/prototype/format/format-function-name.js +intl402/NumberFormat/prototype/format/bound-to-numberformat-instance.js +intl402/NumberFormat/prototype/format/engineering-scientific-de-DE.js +intl402/NumberFormat/prototype/format/format-significant-digits.js +intl402/NumberFormat/prototype/format/signDisplay-en-US.js +intl402/NumberFormat/prototype/format/this-value-not-numberformat.js +intl402/NumberFormat/prototype/format/signDisplay-currency-ko-KR.js +intl402/NumberFormat/prototype/format/units-invalid.js +intl402/NumberFormat/prototype/format/engineering-scientific-en-US.js +intl402/NumberFormat/prototype/format/numbering-systems.js +intl402/NumberFormat/prototype/format/unit-de-DE.js +intl402/NumberFormat/prototype/format/name.js +intl402/NumberFormat/prototype/format/prop-desc.js +intl402/NumberFormat/prototype/format/signDisplay-currency-en-US.js +intl402/NumberFormat/prototype/format/notation-compact-en-US.js +intl402/NumberFormat/prototype/format/unit-en-US.js +intl402/NumberFormat/prototype/format/signDisplay-ja-JP.js +intl402/NumberFormat/prototype/format/value-arg-coerced-to-number.js +intl402/NumberFormat/prototype/format/unit-ja-JP.js +intl402/NumberFormat/prototype/format/signDisplay-currency-ja-JP.js +intl402/NumberFormat/prototype/format/signDisplay-ko-KR.js +intl402/NumberFormat/prototype/format/engineering-scientific-ja-JP.js +intl402/NumberFormat/prototype/format/format-function-builtin.js +intl402/NumberFormat/prototype/format/unit-zh-TW.js +intl402/NumberFormat/prototype/format/format-fraction-digits-precision.js +intl402/NumberFormat/prototype/format/signDisplay-currency-de-DE.js +intl402/NumberFormat/prototype/format/format-significant-digits-precision.js +intl402/NumberFormat/prototype/format/notation-compact-zh-TW.js +intl402/NumberFormat/prototype/format/percent-formatter.js +intl402/NumberFormat/prototype/format/unit-ko-KR.js +intl402/NumberFormat/prototype/constructor/value.js +intl402/NumberFormat/prototype/constructor/prop-desc.js +intl402/NumberFormat/prototype/resolvedOptions/builtin.js +intl402/NumberFormat/prototype/resolvedOptions/length.js +intl402/NumberFormat/prototype/resolvedOptions/basic.js +intl402/NumberFormat/prototype/resolvedOptions/order.js +intl402/NumberFormat/prototype/resolvedOptions/this-value-not-numberformat.js +intl402/NumberFormat/prototype/resolvedOptions/name.js +intl402/NumberFormat/prototype/resolvedOptions/prop-desc.js +intl402/NumberFormat/prototype/resolvedOptions/compactDisplay.js +intl402/NumberFormat/prototype/prop-desc.js +intl402/NumberFormat/prototype/toStringTag/configurable.js +intl402/NumberFormat/prototype/toStringTag/prop-desc.js +intl402/NumberFormat/prototype/formatToParts/notation-compact-ko-KR.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-de-DE.js +intl402/NumberFormat/prototype/formatToParts/engineering-scientific-zh-TW.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-zh-TW.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-zh-TW.js +intl402/NumberFormat/prototype/formatToParts/engineering-scientific-ko-KR.js +intl402/NumberFormat/prototype/formatToParts/length.js +intl402/NumberFormat/prototype/formatToParts/notation-compact-ja-JP.js +intl402/NumberFormat/prototype/formatToParts/notation-compact-de-DE.js +intl402/NumberFormat/prototype/formatToParts/value-tonumber.js +intl402/NumberFormat/prototype/formatToParts/engineering-scientific-de-DE.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-en-US.js +intl402/NumberFormat/prototype/formatToParts/this-value-not-numberformat.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-ko-KR.js +intl402/NumberFormat/prototype/formatToParts/engineering-scientific-en-US.js +intl402/NumberFormat/prototype/formatToParts/main.js +intl402/NumberFormat/prototype/formatToParts/unit-de-DE.js +intl402/NumberFormat/prototype/formatToParts/name.js +intl402/NumberFormat/prototype/formatToParts/prop-desc.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-en-US.js +intl402/NumberFormat/prototype/formatToParts/default-parameter.js +intl402/NumberFormat/prototype/formatToParts/notation-compact-en-US.js +intl402/NumberFormat/prototype/formatToParts/unit-en-US.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-ja-JP.js +intl402/NumberFormat/prototype/formatToParts/percent-en-US.js +intl402/NumberFormat/prototype/formatToParts/unit-ja-JP.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-ja-JP.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-ko-KR.js +intl402/NumberFormat/prototype/formatToParts/engineering-scientific-ja-JP.js +intl402/NumberFormat/prototype/formatToParts/unit-zh-TW.js +intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-de-DE.js +intl402/NumberFormat/prototype/formatToParts/notation-compact-zh-TW.js +intl402/NumberFormat/prototype/formatToParts/unit-ko-KR.js +intl402/NumberFormat/prototype/formatToParts/unit.js +intl402/NumberFormat/prototype/this-value-numberformat-prototype.js +intl402/NumberFormat/default-minimum-singificant-digits.js +intl402/NumberFormat/intl-legacy-constructed-symbol.js +intl402/NumberFormat/constructor-unit.js +intl402/NumberFormat/constructor-compactDisplay-no-compact.js +intl402/NumberFormat/test-option-currencyDisplay.js +intl402/NumberFormat/proto-from-ctor-realm.js +intl402/NumberFormat/constructor-options-numberingSystem-invalid.js +intl402/NumberFormat/ignore-invalid-unicode-ext-values.js +intl402/NumberFormat/currency-code-invalid.js +intl402/NumberFormat/constructor-locales-toobject.js +intl402/NumberFormat/fraction-digit-options-read-once.js +intl402/NumberFormat/subclassing.js +intl402/NumberFormat/test-option-localeMatcher.js +intl402/NumberFormat/constructor-numberingSystem-order.js +intl402/NumberFormat/constructor-order.js +intl402/NumberFormat/style-unit.js +intl402/supportedLocalesOf-locales-arg-coered-to-object.js +intl402/RelativeTimeFormat/instance/prototype.js +intl402/RelativeTimeFormat/instance/extensibility.js +intl402/RelativeTimeFormat/constructor/prototype.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/locales-invalid.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/result-type.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/length.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/basic.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/branding.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/name.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/prop-desc.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-null.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-undefined.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-localeMatcher-invalid.js +intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-toobject.js +intl402/RelativeTimeFormat/constructor/length.js +intl402/RelativeTimeFormat/constructor/constructor/locales-invalid.js +intl402/RelativeTimeFormat/constructor/constructor/options-numeric-valid.js +intl402/RelativeTimeFormat/constructor/constructor/options-order.js +intl402/RelativeTimeFormat/constructor/constructor/options-numberingSystem-invalid.js +intl402/RelativeTimeFormat/constructor/constructor/options-throwing-getters.js +intl402/RelativeTimeFormat/constructor/constructor/options-style-invalid.js +intl402/RelativeTimeFormat/constructor/constructor/options-style-valid.js +intl402/RelativeTimeFormat/constructor/constructor/options-toobject-prototype.js +intl402/RelativeTimeFormat/constructor/constructor/options-numeric-invalid.js +intl402/RelativeTimeFormat/constructor/constructor/options-undefined.js +intl402/RelativeTimeFormat/constructor/constructor/options-proto.js +intl402/RelativeTimeFormat/constructor/constructor/options-localeMatcher-invalid.js +intl402/RelativeTimeFormat/constructor/constructor/proto-from-ctor-realm.js +intl402/RelativeTimeFormat/constructor/constructor/newtarget-undefined.js +intl402/RelativeTimeFormat/constructor/constructor/subclassing.js +intl402/RelativeTimeFormat/constructor/constructor/options-invalid.js +intl402/RelativeTimeFormat/constructor/constructor/options-numberingSystem-valid.js +intl402/RelativeTimeFormat/constructor/constructor/options-toobject.js +intl402/RelativeTimeFormat/constructor/constructor/locales-valid.js +intl402/RelativeTimeFormat/constructor/name.js +intl402/RelativeTimeFormat/constructor/prop-desc.js +intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js +intl402/RelativeTimeFormat/prototype/format/length.js +intl402/RelativeTimeFormat/prototype/format/value-tonumber.js +intl402/RelativeTimeFormat/prototype/format/value-non-finite.js +intl402/RelativeTimeFormat/prototype/format/pl-pl-style-long.js +intl402/RelativeTimeFormat/prototype/format/unit-plural.js +intl402/RelativeTimeFormat/prototype/format/pl-pl-style-narrow.js +intl402/RelativeTimeFormat/prototype/format/branding.js +intl402/RelativeTimeFormat/prototype/format/pl-pl-style-short.js +intl402/RelativeTimeFormat/prototype/format/en-us-numeric-always.js +intl402/RelativeTimeFormat/prototype/format/name.js +intl402/RelativeTimeFormat/prototype/format/prop-desc.js +intl402/RelativeTimeFormat/prototype/format/value-symbol.js +intl402/RelativeTimeFormat/prototype/format/unit-invalid.js +intl402/RelativeTimeFormat/prototype/format/en-us-style-short.js +intl402/RelativeTimeFormat/prototype/constructor/prop-desc.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/caching.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/length.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/type.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/branding.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/order.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/name.js +intl402/RelativeTimeFormat/prototype/resolvedOptions/prop-desc.js +intl402/RelativeTimeFormat/prototype/prop-desc.js +intl402/RelativeTimeFormat/prototype/toStringTag/toStringTag.js +intl402/RelativeTimeFormat/prototype/toStringTag/toString.js +intl402/RelativeTimeFormat/prototype/formatToParts/result-type.js +intl402/RelativeTimeFormat/prototype/formatToParts/en-us-numeric-auto.js +intl402/RelativeTimeFormat/prototype/formatToParts/length.js +intl402/RelativeTimeFormat/prototype/formatToParts/value-tonumber.js +intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.js +intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-long.js +intl402/RelativeTimeFormat/prototype/formatToParts/unit-plural.js +intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-narrow.js +intl402/RelativeTimeFormat/prototype/formatToParts/branding.js +intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-short.js +intl402/RelativeTimeFormat/prototype/formatToParts/en-us-numeric-always.js +intl402/RelativeTimeFormat/prototype/formatToParts/name.js +intl402/RelativeTimeFormat/prototype/formatToParts/prop-desc.js +intl402/RelativeTimeFormat/prototype/formatToParts/value-symbol.js +intl402/RelativeTimeFormat/prototype/formatToParts/unit-invalid.js +intl402/RelativeTimeFormat/prototype/formatToParts/en-us-style-short.js +intl402/PluralRules/builtin.js +intl402/PluralRules/constructor-options-throwing-getters.js +intl402/PluralRules/supportedLocalesOf/length.js +intl402/PluralRules/supportedLocalesOf/main.js +intl402/PluralRules/supportedLocalesOf/name.js +intl402/PluralRules/supportedLocalesOf/prop-desc.js +intl402/PluralRules/supportedLocalesOf/arguments.js +intl402/PluralRules/supportedLocalesOf/supportedLocalesOf.js +intl402/PluralRules/length.js +intl402/PluralRules/undefined-newtarget-throws.js +intl402/PluralRules/default-options-object-prototype.js +intl402/PluralRules/name.js +intl402/PluralRules/prop-desc.js +intl402/PluralRules/prototype/prototype.js +intl402/PluralRules/prototype/select/length.js +intl402/PluralRules/prototype/select/tainting.js +intl402/PluralRules/prototype/select/name.js +intl402/PluralRules/prototype/select/prop-desc.js +intl402/PluralRules/prototype/select/non-finite.js +intl402/PluralRules/prototype/constructor/main.js +intl402/PluralRules/prototype/constructor/prop-desc.js +intl402/PluralRules/prototype/resolvedOptions/length.js +intl402/PluralRules/prototype/resolvedOptions/order.js +intl402/PluralRules/prototype/resolvedOptions/name.js +intl402/PluralRules/prototype/resolvedOptions/prop-desc.js +intl402/PluralRules/prototype/resolvedOptions/properties.js +intl402/PluralRules/prototype/resolvedOptions/builtins.js +intl402/PluralRules/prototype/resolvedOptions/pluralCategories.js +intl402/PluralRules/prototype/toStringTag/toStringTag.js +intl402/PluralRules/prototype/toStringTag/toString.js +intl402/PluralRules/prototype/toStringTag/toString-changed-tag.js +intl402/PluralRules/prototype/toStringTag/toString-removed-tag.js +intl402/PluralRules/prototype/properties.js +intl402/PluralRules/prototype/builtins.js +intl402/PluralRules/prototype/bind.js +intl402/PluralRules/proto-from-ctor-realm.js +intl402/PluralRules/internals.js +intl402/PluralRules/can-be-subclassed.js +intl402/Locale/constructor-options-numeric-undefined.js +intl402/Locale/getters-missing.js +intl402/Locale/constructor-non-iana-canon.js +intl402/Locale/constructor-options-throwing-getters.js +intl402/Locale/getters.js +intl402/Locale/invalid-tag-throws-symbol.js +intl402/Locale/constructor-options-language-invalid.js +intl402/Locale/constructor-getter-order.js +intl402/Locale/constructor-options-language-grandfathered.js +intl402/Locale/function-prototype.js +intl402/Locale/length.js +intl402/Locale/constructor-newtarget-undefined.js +intl402/Locale/instance.js +intl402/Locale/constructor-options-language-valid.js +intl402/Locale/constructor-options-hourcycle-invalid.js +intl402/Locale/constructor-options-casefirst-valid.js +intl402/Locale/constructor-options-script-valid.js +intl402/Locale/invalid-tag-throws-undefined.js +intl402/Locale/extensions-grandfathered.js +intl402/Locale/name.js +intl402/Locale/prop-desc.js +intl402/Locale/constructor-locale-object.js +intl402/Locale/likely-subtags.js +intl402/Locale/getters-grandfathered.js +intl402/Locale/constructor-options-region-invalid.js +intl402/Locale/prototype/script/branding.js +intl402/Locale/prototype/script/name.js +intl402/Locale/prototype/script/prop-desc.js +intl402/Locale/prototype/constructor/prop-desc.js +intl402/Locale/prototype/caseFirst/branding.js +intl402/Locale/prototype/caseFirst/name.js +intl402/Locale/prototype/caseFirst/prop-desc.js +intl402/Locale/prototype/language/branding.js +intl402/Locale/prototype/language/name.js +intl402/Locale/prototype/language/prop-desc.js +intl402/Locale/prototype/region/branding.js +intl402/Locale/prototype/region/name.js +intl402/Locale/prototype/region/prop-desc.js +intl402/Locale/prototype/baseName/branding.js +intl402/Locale/prototype/baseName/name.js +intl402/Locale/prototype/baseName/prop-desc.js +intl402/Locale/prototype/hourCycle/branding.js +intl402/Locale/prototype/hourCycle/name.js +intl402/Locale/prototype/hourCycle/prop-desc.js +intl402/Locale/prototype/prop-desc.js +intl402/Locale/prototype/toString/branding.js +intl402/Locale/prototype/toString/prop-desc.js +intl402/Locale/prototype/toStringTag/toStringTag.js +intl402/Locale/prototype/toStringTag/toString.js +intl402/Locale/prototype/toStringTag/toString-removed-tag.js +intl402/Locale/prototype/calendar/branding.js +intl402/Locale/prototype/calendar/name.js +intl402/Locale/prototype/calendar/prop-desc.js +intl402/Locale/prototype/numberingSystem/branding.js +intl402/Locale/prototype/numberingSystem/name.js +intl402/Locale/prototype/numberingSystem/prop-desc.js +intl402/Locale/prototype/minimize/length.js +intl402/Locale/prototype/minimize/branding.js +intl402/Locale/prototype/minimize/name.js +intl402/Locale/prototype/minimize/prop-desc.js +intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js +intl402/Locale/prototype/collation/branding.js +intl402/Locale/prototype/collation/name.js +intl402/Locale/prototype/collation/prop-desc.js +intl402/Locale/prototype/numeric/branding.js +intl402/Locale/prototype/numeric/name.js +intl402/Locale/prototype/numeric/prop-desc.js +intl402/Locale/prototype/maximize/length.js +intl402/Locale/prototype/maximize/branding.js +intl402/Locale/prototype/maximize/name.js +intl402/Locale/prototype/maximize/prop-desc.js +intl402/Locale/constructor-options-numberingsystem-invalid.js +intl402/Locale/constructor-options-hourcycle-valid.js +intl402/Locale/constructor-parse-twice.js +intl402/Locale/constructor-tag.js +intl402/Locale/reject-duplicate-variants-in-tlang.js +intl402/Locale/constructor-unicode-ext-invalid.js +intl402/Locale/constructor-options-calendar-valid.js +intl402/Locale/proto-from-ctor-realm.js +intl402/Locale/constructor-apply-options-canonicalizes-twice.js +intl402/Locale/invalid-tag-throws.js +intl402/Locale/constructor-options-numeric-valid.js +intl402/Locale/constructor-options-collation-invalid.js +intl402/Locale/constructor-options-language-valid-undefined.js +intl402/Locale/constructor-options-script-invalid.js +intl402/Locale/reject-duplicate-variants.js +intl402/Locale/extensions-private.js +intl402/Locale/invalid-tag-throws-boolean.js +intl402/Locale/constructor-options-region-valid.js +intl402/Locale/constructor-options-casefirst-invalid.js +intl402/Locale/subclassing.js +intl402/Locale/constructor-options-numberingsystem-valid.js +intl402/Locale/constructor-unicode-ext-valid.js +intl402/Locale/constructor-options-collation-valid.js +intl402/Locale/constructor-options-canonicalized.js +intl402/Locale/invalid-tag-throws-null.js +intl402/Locale/invalid-tag-throws-number.js +intl402/Locale/canonicalize-locale-list-take-locale.js +intl402/Locale/instance-extensibility.js +intl402/Locale/likely-subtags-grandfathered.js +intl402/Locale/constructor-tag-tostring.js +intl402/Locale/constructor-options-calendar-invalid.js +intl402/Locale/constructor-options-script-valid-undefined.js +intl402/supportedLocalesOf-throws-if-element-not-string-or-object.js +intl402/supportedLocalesOf-duplicate-elements-removed.js +intl402/supportedLocalesOf-returned-array-elements-are-not-frozen.js +intl402/supportedLocalesOf-taint-Array.js +intl402/supportedLocalesOf-default-locale-and-zxx-locale.js +intl402/supportedLocalesOf-unicode-extensions-ignored.js +intl402/Array/prototype/toLocaleString/calls-toLocaleString-number-elements.js +intl402/supportedLocalesOf-empty-and-undefined.js +intl402/language-tags-with-underscore.js +intl402/fallback-locales-are-supported.js +intl402/supportedLocalesOf-consistent-with-resolvedOptions.js +intl402/supportedLocalesOf-taint-Array-2.js +intl402/supportedLocalesOf-locales-arg-empty-array.js +intl402/Number/prototype/toLocaleString/builtin.js +intl402/Number/prototype/toLocaleString/returns-same-results-as-NumberFormat.js +intl402/Number/prototype/toLocaleString/this-number-value.js +intl402/Number/prototype/toLocaleString/length.js +intl402/Number/prototype/toLocaleString/default-options-object-prototype.js +intl402/Number/prototype/toLocaleString/taint-Intl-NumberFormat.js +intl402/Number/prototype/toLocaleString/throws-same-exceptions-as-NumberFormat.js +intl402/TypedArray/prototype/toLocaleString/calls-toLocaleString-number-elements.js +intl402/default-locale-is-canonicalized.js +intl402/Intl/builtin.js +intl402/Intl/toStringTag/toStringTag.js +intl402/Intl/toStringTag/toString.js +intl402/Intl/getCanonicalLocales/complex-language-subtag-replacement.js +intl402/Intl/getCanonicalLocales/transformed-ext-canonical.js +intl402/Intl/getCanonicalLocales/preferred-variant.js +intl402/Intl/getCanonicalLocales/non-iana-canon.js +intl402/Intl/getCanonicalLocales/has-property.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-col-strength.js +intl402/Intl/getCanonicalLocales/length.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-region.js +intl402/Intl/getCanonicalLocales/weird-cases.js +intl402/Intl/getCanonicalLocales/overriden-push.js +intl402/Intl/getCanonicalLocales/locales-is-not-a-string.js +intl402/Intl/getCanonicalLocales/transformed-ext-invalid.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-measurement-system.js +intl402/Intl/getCanonicalLocales/canonicalized-tags.js +intl402/Intl/getCanonicalLocales/complex-region-subtag-replacement.js +intl402/Intl/getCanonicalLocales/to-string.js +intl402/Intl/getCanonicalLocales/unicode-ext-key-with-digit.js +intl402/Intl/getCanonicalLocales/error-cases.js +intl402/Intl/getCanonicalLocales/grandfathered.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-subdivision.js +intl402/Intl/getCanonicalLocales/getCanonicalLocales.js +intl402/Intl/getCanonicalLocales/descriptor.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-yes-to-true.js +intl402/Intl/getCanonicalLocales/main.js +intl402/Intl/getCanonicalLocales/name.js +intl402/Intl/getCanonicalLocales/elements-not-reordered.js +intl402/Intl/getCanonicalLocales/transformed-ext-valid.js +intl402/Intl/getCanonicalLocales/Locale-object.js +intl402/Intl/getCanonicalLocales/get-locale.js +intl402/Intl/getCanonicalLocales/canonicalized-unicode-ext-seq.js +intl402/Intl/getCanonicalLocales/overriden-arg-length.js +intl402/Intl/getCanonicalLocales/returned-object-is-mutable.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-timezone.js +intl402/Intl/getCanonicalLocales/duplicates.js +intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-calendar.js +intl402/Intl/getCanonicalLocales/invalid-tags.js +intl402/Intl/getCanonicalLocales/returned-object-is-an-array.js +intl402/Intl/getCanonicalLocales/preferred-grandfathered.js +intl402/constructors-taint-Object-prototype.js +intl402/DateTimeFormat/builtin.js +intl402/DateTimeFormat/constructor-default-value.js +intl402/DateTimeFormat/constructor-options-throwing-getters.js +intl402/DateTimeFormat/timezone-utc.js +intl402/DateTimeFormat/taint-Object-prototype-fractionalSecondDigits.js +intl402/DateTimeFormat/this-value-ignored.js +intl402/DateTimeFormat/supportedLocalesOf/builtin.js +intl402/DateTimeFormat/supportedLocalesOf/length.js +intl402/DateTimeFormat/supportedLocalesOf/basic.js +intl402/DateTimeFormat/supportedLocalesOf/name.js +intl402/DateTimeFormat/supportedLocalesOf/prop-desc.js +intl402/DateTimeFormat/supportedLocalesOf/taint-Object-prototype.js +intl402/DateTimeFormat/length.js +intl402/DateTimeFormat/constructor-options-dayPeriod-valid.js +intl402/DateTimeFormat/test-option-hour12.js +intl402/DateTimeFormat/constructor-options-fractionalSecondDigits-valid.js +intl402/DateTimeFormat/constructor-options-throwing-getters-fractionalSecondDigits.js +intl402/DateTimeFormat/constructor-calendar-numberingSystem-order.js +intl402/DateTimeFormat/date-time-options.js +intl402/DateTimeFormat/legacy-regexp-statics-not-modified.js +intl402/DateTimeFormat/constructor-options-order.js +intl402/DateTimeFormat/intl-legacy-constructed-symbol-on-unwrap.js +intl402/DateTimeFormat/constructor-options-order-fractionalSecondDigits.js +intl402/DateTimeFormat/taint-Object-prototype-dayPeriod.js +intl402/DateTimeFormat/default-options-object-prototype.js +intl402/DateTimeFormat/constructor-options-throwing-getters-dayPeriod.js +intl402/DateTimeFormat/constructor-options-order-dayPeriod.js +intl402/DateTimeFormat/instance-proto-and-extensible.js +intl402/DateTimeFormat/name.js +intl402/DateTimeFormat/prop-desc.js +intl402/DateTimeFormat/constructor-options-throwing-getters-timedate-style.js +intl402/DateTimeFormat/timezone-invalid.js +intl402/DateTimeFormat/constructor-options-toobject.js +intl402/DateTimeFormat/taint-Object-prototype.js +intl402/DateTimeFormat/prototype/this-value-datetimeformat-prototype.js +intl402/DateTimeFormat/prototype/builtin.js +intl402/DateTimeFormat/prototype/this-value-not-datetimeformat.js +intl402/DateTimeFormat/prototype/format/dayPeriod-narrow-en.js +intl402/DateTimeFormat/prototype/format/time-clip-to-integer.js +intl402/DateTimeFormat/prototype/format/builtin.js +intl402/DateTimeFormat/prototype/format/format-function-length.js +intl402/DateTimeFormat/prototype/format/length.js +intl402/DateTimeFormat/prototype/format/format-function-name.js +intl402/DateTimeFormat/prototype/format/throws-value-non-finite.js +intl402/DateTimeFormat/prototype/format/name.js +intl402/DateTimeFormat/prototype/format/prop-desc.js +intl402/DateTimeFormat/prototype/format/proleptic-gregorian-calendar.js +intl402/DateTimeFormat/prototype/format/time-clip-near-time-boundaries.js +intl402/DateTimeFormat/prototype/format/taint-Object-prototype.js +intl402/DateTimeFormat/prototype/format/dayPeriod-short-en.js +intl402/DateTimeFormat/prototype/format/fractionalSecondDigits.js +intl402/DateTimeFormat/prototype/format/timedatestyle-en.js +intl402/DateTimeFormat/prototype/format/format-function-builtin.js +intl402/DateTimeFormat/prototype/format/related-year-zh.js +intl402/DateTimeFormat/prototype/format/bound-to-datetimeformat-instance.js +intl402/DateTimeFormat/prototype/format/date-constructor-not-called.js +intl402/DateTimeFormat/prototype/format/dayPeriod-long-en.js +intl402/DateTimeFormat/prototype/constructor/value.js +intl402/DateTimeFormat/prototype/constructor/prop-desc.js +intl402/DateTimeFormat/prototype/formatRangeToParts/builtin.js +intl402/DateTimeFormat/prototype/formatRangeToParts/length.js +intl402/DateTimeFormat/prototype/formatRangeToParts/pattern-on-calendar.js +intl402/DateTimeFormat/prototype/formatRangeToParts/argument-date-string.js +intl402/DateTimeFormat/prototype/formatRangeToParts/this-is-not-object-throws.js +intl402/DateTimeFormat/prototype/formatRangeToParts/this-bad-object.js +intl402/DateTimeFormat/prototype/formatRangeToParts/name.js +intl402/DateTimeFormat/prototype/formatRangeToParts/prop-desc.js +intl402/DateTimeFormat/prototype/formatRangeToParts/date-is-nan-throws.js +intl402/DateTimeFormat/prototype/formatRangeToParts/argument-to-integer.js +intl402/DateTimeFormat/prototype/formatRangeToParts/date-is-infinity-throws.js +intl402/DateTimeFormat/prototype/formatRangeToParts/date-x-greater-than-y-throws.js +intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js +intl402/DateTimeFormat/prototype/formatRangeToParts/argument-tonumber-throws.js +intl402/DateTimeFormat/prototype/formatRangeToParts/argument-near-time-boundaries.js +intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js +intl402/DateTimeFormat/prototype/formatRangeToParts/date-undefined-throws.js +intl402/DateTimeFormat/prototype/resolvedOptions/builtin.js +intl402/DateTimeFormat/prototype/resolvedOptions/order-dayPeriod.js +intl402/DateTimeFormat/prototype/resolvedOptions/resolved-locale-with-hc-unicode.js +intl402/DateTimeFormat/prototype/resolvedOptions/length.js +intl402/DateTimeFormat/prototype/resolvedOptions/order-fractionalSecondDigits.js +intl402/DateTimeFormat/prototype/resolvedOptions/basic.js +intl402/DateTimeFormat/prototype/resolvedOptions/order.js +intl402/DateTimeFormat/prototype/resolvedOptions/name.js +intl402/DateTimeFormat/prototype/resolvedOptions/prop-desc.js +intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-timeStyle.js +intl402/DateTimeFormat/prototype/resolvedOptions/order-style.js +intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-dateStyle.js +intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-default.js +intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle.js +intl402/DateTimeFormat/prototype/prop-desc.js +intl402/DateTimeFormat/prototype/toStringTag/toStringTag.js +intl402/DateTimeFormat/prototype/toStringTag/toString.js +intl402/DateTimeFormat/prototype/toStringTag/toString-changed-tag.js +intl402/DateTimeFormat/prototype/toStringTag/toString-removed-tag.js +intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-narrow-en.js +intl402/DateTimeFormat/prototype/formatToParts/time-clip-to-integer.js +intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js +intl402/DateTimeFormat/prototype/formatToParts/length.js +intl402/DateTimeFormat/prototype/formatToParts/pattern-on-calendar.js +intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js +intl402/DateTimeFormat/prototype/formatToParts/main.js +intl402/DateTimeFormat/prototype/formatToParts/name.js +intl402/DateTimeFormat/prototype/formatToParts/time-clip-near-time-boundaries.js +intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js +intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js +intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-short-en.js +intl402/DateTimeFormat/prototype/formatToParts/fractionalSecondDigits.js +intl402/DateTimeFormat/prototype/formatToParts/related-year-zh.js +intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js +intl402/DateTimeFormat/prototype/formatToParts/date-constructor-not-called.js +intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js +intl402/DateTimeFormat/prototype/formatToParts/related-year.js +intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-long-en.js +intl402/DateTimeFormat/prototype/formatRange/builtin.js +intl402/DateTimeFormat/prototype/formatRange/length.js +intl402/DateTimeFormat/prototype/formatRange/argument-date-string.js +intl402/DateTimeFormat/prototype/formatRange/this-is-not-object-throws.js +intl402/DateTimeFormat/prototype/formatRange/this-bad-object.js +intl402/DateTimeFormat/prototype/formatRange/name.js +intl402/DateTimeFormat/prototype/formatRange/prop-desc.js +intl402/DateTimeFormat/prototype/formatRange/date-is-nan-throws.js +intl402/DateTimeFormat/prototype/formatRange/argument-to-integer.js +intl402/DateTimeFormat/prototype/formatRange/date-is-infinity-throws.js +intl402/DateTimeFormat/prototype/formatRange/date-x-greater-than-y-throws.js +intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js +intl402/DateTimeFormat/prototype/formatRange/argument-tonumber-throws.js +intl402/DateTimeFormat/prototype/formatRange/argument-near-time-boundaries.js +intl402/DateTimeFormat/prototype/formatRange/en-US.js +intl402/DateTimeFormat/prototype/formatRange/date-undefined-throws.js +intl402/DateTimeFormat/constructor-options-order-timedate-style.js +intl402/DateTimeFormat/intl-legacy-constructed-symbol.js +intl402/DateTimeFormat/required-date-time-formats.js +intl402/DateTimeFormat/constructor-options-timeStyle-invalid.js +intl402/DateTimeFormat/constructor-options-dateStyle-valid.js +intl402/DateTimeFormat/proto-from-ctor-realm.js +intl402/DateTimeFormat/timezone-canonicalized.js +intl402/DateTimeFormat/numbering-system-calendar-options.js +intl402/DateTimeFormat/constructor-options-numberingSystem-invalid.js +intl402/DateTimeFormat/constructor-options-fractionalSecondDigits-invalid.js +intl402/DateTimeFormat/taint-Object-prototype-date-time-components.js +intl402/DateTimeFormat/test-option-formatMatcher.js +intl402/DateTimeFormat/test-option-date-time-components.js +intl402/DateTimeFormat/ignore-invalid-unicode-ext-values.js +intl402/DateTimeFormat/casing-numbering-system-calendar-options.js +intl402/DateTimeFormat/constructor-options-dateStyle-invalid.js +intl402/DateTimeFormat/subclassing.js +intl402/DateTimeFormat/constructor-options-timeStyle-valid.js +intl402/DateTimeFormat/test-option-localeMatcher.js +intl402/DateTimeFormat/constructor-options-calendar-invalid.js +intl402/DateTimeFormat/constructor-options-dayPeriod-invalid.js +intl402/default-locale-is-supported.js +intl402/constructors-string-and-single-element-array.js +intl402/language-tags-invalid.js +intl402/supportedLocalesOf-test-option-localeMatcher.js +intl402/constructors-taint-Object-prototype-2.js +intl402/String/prototype/toLocaleLowerCase/special_casing_Azeri.js +intl402/String/prototype/toLocaleLowerCase/capital_I_with_dot.js +intl402/String/prototype/toLocaleLowerCase/special_casing_Lithuanian.js +intl402/String/prototype/toLocaleLowerCase/special_casing_Turkish.js +intl402/String/prototype/toLocaleUpperCase/special_casing_Azeri.js +intl402/String/prototype/toLocaleUpperCase/special_casing_Lithuanian.js +intl402/String/prototype/toLocaleUpperCase/special_casing_Turkish.js +intl402/String/prototype/localeCompare/return-abrupt-this-value.js +intl402/String/prototype/localeCompare/builtin.js +intl402/String/prototype/localeCompare/length.js +intl402/String/prototype/localeCompare/missing-arguments-coerced-to-undefined.js +intl402/String/prototype/localeCompare/default-options-object-prototype.js +intl402/String/prototype/localeCompare/taint-Intl-Collator.js +intl402/String/prototype/localeCompare/returns-same-results-as-Collator.js +intl402/String/prototype/localeCompare/this-value-coerced-to-string.js +intl402/String/prototype/localeCompare/throws-same-exceptions-as-Collator.js +intl402/String/prototype/localeCompare/that-arg-coerced-to-string.js +intl402/Collator/builtin.js +intl402/Collator/test-option-usage.js +intl402/Collator/constructor-options-throwing-getters.js +intl402/Collator/this-value-ignored.js +intl402/Collator/supportedLocalesOf/builtin.js +intl402/Collator/supportedLocalesOf/length.js +intl402/Collator/supportedLocalesOf/basic.js +intl402/Collator/supportedLocalesOf/name.js +intl402/Collator/supportedLocalesOf/prop-desc.js +intl402/Collator/supportedLocalesOf/taint-Object-prototype.js +intl402/Collator/length.js +intl402/Collator/legacy-regexp-statics-not-modified.js +intl402/Collator/test-option-ignorePunctuation.js +intl402/Collator/default-options-object-prototype.js +intl402/Collator/unicode-ext-value-collation.js +intl402/Collator/instance-proto-and-extensible.js +intl402/Collator/name.js +intl402/Collator/prop-desc.js +intl402/Collator/test-option-sensitivity.js +intl402/Collator/missing-unicode-ext-value-defaults-to-true.js +intl402/Collator/taint-Object-prototype.js +intl402/Collator/prototype/builtin.js +intl402/Collator/prototype/this-value-collator-prototype.js +intl402/Collator/prototype/constructor/value.js +intl402/Collator/prototype/constructor/prop-desc.js +intl402/Collator/prototype/resolvedOptions/builtin.js +intl402/Collator/prototype/resolvedOptions/length.js +intl402/Collator/prototype/resolvedOptions/basic.js +intl402/Collator/prototype/resolvedOptions/order.js +intl402/Collator/prototype/resolvedOptions/name.js +intl402/Collator/prototype/resolvedOptions/prop-desc.js +intl402/Collator/prototype/prop-desc.js +intl402/Collator/prototype/toStringTag/toStringTag.js +intl402/Collator/prototype/toStringTag/toString.js +intl402/Collator/prototype/toStringTag/toString-changed-tag.js +intl402/Collator/prototype/toStringTag/toString-removed-tag.js +intl402/Collator/prototype/compare/builtin.js +intl402/Collator/prototype/compare/compare-function-name.js +intl402/Collator/prototype/compare/non-normative-phonebook.js +intl402/Collator/prototype/compare/length.js +intl402/Collator/prototype/compare/canonically-equivalent-strings.js +intl402/Collator/prototype/compare/bound-to-collator-instance.js +intl402/Collator/prototype/compare/non-normative-sensitivity.js +intl402/Collator/prototype/compare/name.js +intl402/Collator/prototype/compare/prop-desc.js +intl402/Collator/prototype/compare/compare-function-length.js +intl402/Collator/prototype/compare/non-normative-basic.js +intl402/Collator/prototype/compare/compare-function-builtin.js +intl402/Collator/prototype/this-value-not-collator.js +intl402/Collator/usage-de.js +intl402/Collator/proto-from-ctor-realm.js +intl402/Collator/ignore-invalid-unicode-ext-values.js +intl402/Collator/numeric-and-caseFirst.js +intl402/Collator/unicode-ext-seq-in-private-tag.js +intl402/Collator/unicode-ext-seq-with-attribute.js +intl402/Collator/subclassing.js +intl402/Collator/test-option-numeric-and-caseFirst.js +intl402/Collator/test-option-localeMatcher.js +intl402/Date/prototype/taint-Intl-DateTimeFormat.js +intl402/Date/prototype/toLocaleTimeString/builtin.js +intl402/Date/prototype/toLocaleTimeString/length.js +intl402/Date/prototype/throws-same-exceptions-as-DateTimeFormat.js +intl402/Date/prototype/returns-same-results-as-DateTimeFormat.js +intl402/Date/prototype/toLocaleDateString/builtin.js +intl402/Date/prototype/toLocaleDateString/length.js +intl402/Date/prototype/this-value-invalid-date.js +intl402/Date/prototype/this-value-non-date.js +intl402/Date/prototype/toLocaleString/builtin.js +intl402/Date/prototype/toLocaleString/length.js +intl402/Date/prototype/toLocaleString/default-options-object-prototype.js +intl402/language-tags-valid.js +intl402/language-tags-canonicalized.js \ No newline at end of file diff --git a/test262/es5_tests.txt b/test262/es5_tests.txt old mode 100644 new mode 100755 diff --git a/test262/run_sunspider.py b/test262/run_sunspider.py index 6064c59093..73a64ff631 100755 --- a/test262/run_sunspider.py +++ b/test262/run_sunspider.py @@ -46,7 +46,7 @@ def parse_args(): ARK_ARGS = "--gc-type=epsilon" - +ICU_PATH = f"--icu-data-path={CODE_ROOT}/third_party/icu/ohos_icu4j/data" ARK_TOOL = DEFAULT_ARK_TOOL ARK_FRONTEND_TOOL = DEFAULT_ARK_FRONTEND_TOOL LIBS_DIR = DEFAULT_LIBS_DIR @@ -155,10 +155,11 @@ class ArkProgram(): return retcode def execute(self): + os.environ["LD_LIBRARY_PATH"] = self.libs_dir file_name_pre = os.path.splitext(self.js_file)[0] - cmd_args = [self.ark_tool, ARK_ARGS, + cmd_args = [self.ark_tool, ARK_ARGS, ICU_PATH, f'{file_name_pre}.abc'] retcode = exec_command(cmd_args) return retcode diff --git a/test262/skip_tests.json b/test262/skip_tests.json old mode 100644 new mode 100755 index a314372025..09271c54d8 --- a/test262/skip_tests.json +++ b/test262/skip_tests.json @@ -1214,9 +1214,9 @@ "reason": "Missing Symbol.toStringTag.js", "files": [ "language/module-code/namespace/Symbol.toStringTag.js" - ] - }, - { + ] + }, + { "reason": "Not support [[delete]]", "files": [ "built-ins/TypedArrayConstructors/internals/Delete/indexed-value-ab-strict.js", @@ -1224,14 +1224,6 @@ "built-ins/TypedArrayConstructors/internals/Delete/key-is-out-of-bounds-strict.js" ] }, - { - "reason": "Intl402 Not support Collator", - "files": [ - "intl402/String/prototype/localeCompare/returns-same-results-as-Collator.js", - "intl402/String/prototype/localeCompare/throws-same-exceptions-as-Collator.js", - "intl402/String/prototype/localeCompare/default-options-object-prototype.js" - ] - }, { "reason": "Not support at and includes", "files": [ @@ -1280,76 +1272,55 @@ ] }, { - "reason": "remove intl related testcases for temporarily isolating Intl code", + "reason": "Temporary shielding of unstable test cases", "files": [ - "built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-80.js", - "built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-159.js", - "built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-90.js", - "built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-158.js", - "built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-79.js", - "built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-152.js", - "built-ins/Number/prototype/S15.7.4_A3.3.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T6.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T5.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A6.js", - "built-ins/String/prototype/toLocaleLowerCase/name.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A10.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A11.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T10.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T11.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T4.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T12.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A9.js", - "built-ins/String/prototype/toLocaleLowerCase/special_casing.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T14.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T13.js", - "built-ins/String/prototype/toLocaleLowerCase/special_casing_conditional.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T9.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T1.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T8.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T7.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A1_T2.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A8.js", - "built-ins/String/prototype/toLocaleLowerCase/supplementary_plane.js", - "built-ins/String/prototype/toLocaleLowerCase/S15.5.4.17_A2_T1.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T9.js", - "built-ins/String/prototype/toLocaleUpperCase/name.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A10.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A6.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T12.js", - "built-ins/String/prototype/toLocaleUpperCase/special_casing.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T7.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T13.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A11.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A9.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T1.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A2_T1.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T8.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T14.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T10.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T4.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T5.js", - "built-ins/String/prototype/toLocaleUpperCase/supplementary_plane.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T11.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A8.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T6.js", - "built-ins/String/prototype/toLocaleUpperCase/S15.5.4.19_A1_T2.js", - "built-ins/String/prototype/normalize/length.js", - "built-ins/String/prototype/normalize/name.js", - "built-ins/String/prototype/normalize/return-normalized-string-using-default-parameter.js", - "built-ins/String/prototype/normalize/return-abrupt-from-form.js", - "built-ins/String/prototype/normalize/form-is-not-valid-throws.js", - "built-ins/String/prototype/normalize/return-normalized-string.js", - "built-ins/String/prototype/normalize/return-normalized-string-from-coerced-form.js", - "built-ins/String/prototype/normalize/return-abrupt-from-this.js", - "built-ins/String/prototype/normalize/normalize.js", - "intl402/String/prototype/toLocaleLowerCase/special_casing_Azeri.js", - "intl402/String/prototype/toLocaleLowerCase/special_casing_Turkish.js", - "intl402/String/prototype/toLocaleLowerCase/capital_I_with_dot.js", - "intl402/String/prototype/toLocaleLowerCase/special_casing_Lithuanian.js", - "intl402/String/prototype/toLocaleUpperCase/special_casing_Azeri.js", - "intl402/String/prototype/toLocaleUpperCase/special_casing_Turkish.js", - "intl402/String/prototype/toLocaleUpperCase/special_casing_Lithuanian.js" + "language/statements/class/gen-method-param-dflt-yield.js", + "language/expressions/class/static-gen-method-param-dflt-yield.js", + "language/statements/switch/S12.11_A2_T1.js", + "language/statements/generators/param-dflt-yield.js", + "language/module-code/early-export-global.js" + ] + }, + { + "reason": "Current ICU version not support yet", + "files": [ + "intl402/language-tags-canonicalized.js", + "intl402/constructors-string-and-single-element-array.js", + "intl402/language-tags-valid.js", + "intl402/fallback-locales-are-supported.js", + "intl402/supportedLocalesOf-consistent-with-resolvedOptions.js", + "intl402/supportedLocalesOf-unicode-extensions-ignored.js", + "intl402/String/prototype/localeCompare/returns-same-results-as-Collator.js", + "intl402/String/prototype/localeCompare/throws-same-exceptions-as-Collator.js", + "intl402/String/prototype/localeCompare/default-options-object-prototype.js", + "intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle.js", + "intl402/DateTimeFormat/prototype/resolvedOptions/hourCycle-timeStyle.js", + "intl402/DateTimeFormat/casing-numbering-system-calendar-options.js", + "intl402/DateTimeFormat/prototype/format/timedatestyle-en.js", + "intl402/DateTimeFormat/prototype/formatToParts/main.js", + "intl402/DateTimeFormat/prototype/format/related-year-zh.js", + "intl402/PluralRules/prototype/resolvedOptions/pluralCategories.js", + "intl402/RelativeTimeFormat/prototype/format/pl-pl-style-long.js", + "intl402/RelativeTimeFormat/prototype/format/pl-pl-style-short.js", + "intl402/RelativeTimeFormat/prototype/format/pl-pl-style-narrow.js", + "intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-long.js", + "intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-short.js", + "intl402/RelativeTimeFormat/prototype/formatToParts/pl-pl-style-narrow.js", + "intl402/NumberFormat/prototype/formatToParts/main.js", + "intl402/NumberFormat/currency-digits.js", + "intl402/NumberFormat/casing-numbering-system-options.js", + "intl402/Locale/constructor-non-iana-canon.js", + "intl402/Locale/extensions-grandfathered.js", + "intl402/Locale/likely-subtags-grandfathered.js", + "intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js", + "intl402/Intl/getCanonicalLocales/non-iana-canon.js", + "intl402/Intl/getCanonicalLocales/transformed-ext-canonical.js", + "intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-yes-to-true.js", + "intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-region.js", + "intl402/Intl/getCanonicalLocales/preferred-grandfathered.js", + "intl402/Intl/getCanonicalLocales/unicode-ext-canonicalize-subdivision.js", + "intl402/Intl/getCanonicalLocales/canonicalized-tags.js", + "intl402/Intl/getCanonicalLocales/transformed-ext-invalid.js" ] } ] diff --git a/ts2panda/.gitignore b/ts2panda/.gitignore old mode 100644 new mode 100755 diff --git a/ts2panda/BUILD.gn b/ts2panda/BUILD.gn old mode 100644 new mode 100755 index a5662adb25..c2b4309140 --- a/ts2panda/BUILD.gn +++ b/ts2panda/BUILD.gn @@ -50,30 +50,21 @@ action("ts2abc_diagnostic_ts") { ark_gen_file("ts2abc_irnodes_ts") { template_file = "templates/irnodes.ts.erb" - data_file = "$ark_root/isa/isa.yaml" + data_file = "$root_gen_dir/isa/isa.yaml" requires = [ "$ark_root/isa/isapi.rb", "$ark_root/libpandafile/pandafile_isapi.rb", ] output_file = "$src_dir/irnodes.ts" - extra_dependencies = [ "$ts2abc_root:ts2abc_src" ] -} - -ark_gen_file("ts2abc_builtinsMap_ts") { - template_file = "templates/builtinsMap.ts.erb" - data_file = "$ark_root/isa/builtins.yaml" - requires = [ - "$ark_root/isa/builtinsapi.rb", - "//ark/js_runtime/ecmascript/ecma_builtins.rb", + extra_dependencies = [ + "$ts2abc_root:ts2abc_src", + "$ark_root/isa:isa_combine" ] - output_file = "$src_dir/builtinsMap.ts" - extra_dependencies = [ "$ts2abc_root:ts2abc_src" ] } action("npm_run_build") { visibility = [ ":*" ] deps = [ - "$ts2abc_root:ts2abc_builtinsMap_ts", "$ts2abc_root:ts2abc_diagnostic_ts", "$ts2abc_root:ts2abc_irnodes_ts", "$ts2abc_root:ts2abc_src", @@ -88,10 +79,15 @@ action("npm_run_build") { rebase_path(target_out_dir), "--node", rebase_path(node_path), - "--node-modules", - rebase_path(node_modules), ] + if (build_public_version == false) { + args += [ + "--node-modules", + rebase_path(node_modules), + ] + } + if (is_linux) { args += [ "--platform", @@ -227,7 +223,6 @@ if (is_mingw) { ":src_win", ":ts2abc_build_win", ] - sources = [ "${root_out_dir}/ark/ark/build-win" ] outputs = [ "${root_out_dir}/ark/ark/build-win-ets" ] module_source_dir = "${root_out_dir}/ark/ark/build-win-ets" @@ -285,7 +280,6 @@ if (is_mac) { ":src_mac", ":ts2abc_build_mac", ] - sources = [ "${root_out_dir}/ark/ark/build-mac" ] outputs = [ "${root_out_dir}/ark/ark/build-mac-ets" ] module_source_dir = "${root_out_dir}/ark/ark/build-mac-ets" @@ -303,7 +297,6 @@ ohos_copy("panda_ts2abc") { ohos_copy("panda_ts2abc_ets") { sources = [ "${ts2abc_root}/scripts/ts2abc.js" ] - outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] module_source_dir = target_out_dir + "/$target_name/" module_install_name = "" diff --git a/ts2panda/README.md b/ts2panda/README.md old mode 100644 new mode 100755 index 6e1fe3daa2..ee1b8e7c94 --- a/ts2panda/README.md +++ b/ts2panda/README.md @@ -1,8 +1,8 @@ ### ts2panda -ts2panda aims to translate JavaScript source files into ARK bytecode which could be executed by the ARK runtime. +ts2panda aims to translate JavaScript source files into ark bytecode which could be executed by the ark runtime. -The whole converter could be splited into several phases. -* tsc(TypeScript compiler) automatically builds the AST for us +the whole converter could be splited into several phases. +* tsc(TypeScript compiler) automatically build the AST for us * translate TypeScript AST into panda instruction arrays * apply several passes with the instruction arrays, including: * [register allocator](doc/register_allocator.md) @@ -11,7 +11,7 @@ The whole converter could be splited into several phases. * [panda binary dumper](doc/binary_dumper.md) ### Run a case -The whole ARK project needs to be built before running cases. +The whole ark project needs to be built before running cases. #### dump panda binary ``` node --expose-gc ../../out/release/clang_x64/ark/ark/build/src/index.js <--> <--output> diff --git a/ts2panda/package-lock.json b/ts2panda/package-lock.json old mode 100644 new mode 100755 diff --git a/ts2panda/package.json b/ts2panda/package.json old mode 100644 new mode 100755 diff --git a/ts2panda/scripts/diagnosticMessages.json b/ts2panda/scripts/diagnosticMessages.json old mode 100644 new mode 100755 index c9ce61034d..b4142d717d --- a/ts2panda/scripts/diagnosticMessages.json +++ b/ts2panda/scripts/diagnosticMessages.json @@ -511,5 +511,9 @@ "Lexical declaration 'const' not allowed in statement position": { "category": "Error", "code": 19009 + }, + "Invalid regular expression flag '{0}'":{ + "category": "Error", + "code": 19010 } } \ No newline at end of file diff --git a/ts2panda/scripts/gen_diagnostic.sh b/ts2panda/scripts/gen_diagnostic.sh old mode 100644 new mode 100755 index 7b6481a0a9..3f5e53eb61 --- a/ts2panda/scripts/gen_diagnostic.sh +++ b/ts2panda/scripts/gen_diagnostic.sh @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. - set -e PANDA_ROOT="../submodules/panda" diff --git a/ts2panda/scripts/gen_irnodes.sh b/ts2panda/scripts/gen_irnodes.sh old mode 100644 new mode 100755 diff --git a/ts2panda/scripts/generate_js_bytecode.py b/ts2panda/scripts/generate_js_bytecode.py index d330635db0..7ec4af8373 100755 --- a/ts2panda/scripts/generate_js_bytecode.py +++ b/ts2panda/scripts/generate_js_bytecode.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# coding: utf-8 +#coding: utf-8 """ Copyright (c) 2021 Huawei Device Co., Ltd. @@ -65,7 +65,7 @@ def gen_abc_info(input_arguments): if not os.path.exists(os.path.join(path, "node_modules")): if input_arguments.node_modules: - cmd = ['cp', "-rf", input_arguments.node_modules, path] + cmd = ['cp', "-r", input_arguments.node_modules, path] run_command(cmd, path) else: cmd = ['npm', 'install'] diff --git a/ts2panda/scripts/run.py b/ts2panda/scripts/run.py index 2f3e6e33af..cb67cd9ef7 100755 --- a/ts2panda/scripts/run.py +++ b/ts2panda/scripts/run.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# coding: utf-8 +#coding: utf-8 """ Copyright (c) 2021 Huawei Device Co., Ltd. @@ -22,6 +22,7 @@ import os import subprocess import argparse import platform +import shutil def parse_args(): @@ -50,7 +51,7 @@ def set_env(node_dir): os.environ["PATH"] = f'{node_dir}{jsoner_format}{os.environ["PATH"]}' -def run_command(cmd, execution_path=os.getcwd()): +def run_command(cmd, execution_path): print(" ".join(cmd) + " | execution_path: " + execution_path) proc = subprocess.Popen(cmd, cwd=execution_path) ret = proc.wait() @@ -60,14 +61,14 @@ def run_command(cmd, execution_path=os.getcwd()): def node_modules(options): src_dir = options.src_dir dist_dir = options.dist_dir - run_command(['cp', '-f', os.path.join(src_dir, "package.json"), - os.path.join(dist_dir, "package.json")]) - run_command(['cp', '-f', os.path.join(src_dir, "package-lock.json"), - os.path.join(dist_dir, "package-lock.json")]) + shutil.copy(os.path.join(src_dir, "package.json"), + os.path.join(dist_dir, "package.json")) + shutil.copy(os.path.join(src_dir, "package-lock.json"), + os.path.join(dist_dir, "package-lock.json")) if options.node_modules: - run_command(['cp', '-rf', options.node_modules, - os.path.join(dist_dir, "node_modules")]) + shutil.copytree(options.node_modules, + os.path.join(dist_dir, "node_modules")) else: run_command(['npm', 'install'], dist_dir) @@ -91,5 +92,6 @@ def npm_run_build(options): if __name__ == "__main__": ARGS = parse_args() set_env(ARGS.node) - node_modules(ARGS) + if not os.path.exists(os.path.join(ARGS.dist_dir, 'node_modules')): + node_modules(ARGS) npm_run_build(ARGS) diff --git a/ts2panda/scripts/ts2abc.js b/ts2panda/scripts/ts2abc.js old mode 100644 new mode 100755 index f71d019624..d5e0fd5b2c --- a/ts2panda/scripts/ts2abc.js +++ b/ts2panda/scripts/ts2abc.js @@ -21,23 +21,23 @@ const spawn = require('child_process').spawn; let isWin = !1; let isMac = !1; -const arkDir = path.resolve(__dirname); +const ark_dir = path.resolve(__dirname); -if (fs.existsSync(path.join(arkDir, 'build-win'))) { +if (fs.existsSync(path.join(ark_dir, "build-win"))) { isWin = !0; -} else if (fs.existsSync(path.join(arkDir, 'build-mac'))) { +} else if (fs.existsSync(path.join(ark_dir, "build-mac"))) { isMac = !0; -} else if (!fs.existsSync(path.join(arkDir, 'build'))) { - throw Error('find build fail').message; +} else if (!fs.existsSync(path.join(ark_dir, "build"))) { + throw Error("find build fail").message; } let js2abc; if (isWin) { - js2abc = path.join(arkDir, 'build-win', 'bin', 'js2abc.exe'); + js2abc = path.join(ark_dir, 'build-win', 'bin', "js2abc.exe"); } else if (isMac) { - js2abc = path.join(arkDir, 'build-mac', 'bin', 'js2abc'); + js2abc = path.join(ark_dir, 'build-mac', 'bin', "js2abc"); } else { - js2abc = path.join(arkDir, 'build', 'bin', 'js2abc'); + js2abc = path.join(ark_dir, 'build', 'bin', "js2abc"); } let args = process.argv.splice(2); diff --git a/ts2panda/src/addVariable2Scope.ts b/ts2panda/src/addVariable2Scope.ts old mode 100644 new mode 100755 diff --git a/ts2panda/src/assemblyDumper.ts b/ts2panda/src/assemblyDumper.ts old mode 100644 new mode 100755 index cf52cbb5d0..c425d876fd --- a/ts2panda/src/assemblyDumper.ts +++ b/ts2panda/src/assemblyDumper.ts @@ -14,7 +14,6 @@ */ import { - BuiltinR2i, Imm, IRNode, IRNodeKind, @@ -24,8 +23,10 @@ import { } from "./irnodes"; import { generateCatchTables } from "./statement/tryStatement"; import { PandaGen } from "./pandagen"; -import { CmdOptions } from "./cmdOptions"; -import { builtinsCodeMap } from "./builtinsMap"; +import { + isRangeInst, + getRangeExplicitVregNums, +} from "./base/util"; export class IntrinsicInfo { readonly intrinsicName: string; @@ -59,21 +60,6 @@ export class AssemblyDumper { out.str += "\n"; } - static writeIntrinsicDecl(out: any): void { - out.str += ".record Ecmascript.Intrinsics \n"; - AssemblyDumper.intrinsicRec.forEach((intrinsicInfo, mnemonic) => { - out.str += ".function " + intrinsicInfo!.returnType + " Ecmascript.Intrinsics." + mnemonic + "("; - let intrinsicArgNum = intrinsicInfo!.argsNum; - for (let i = 0; i < intrinsicArgNum; i++) { - out.str += "any a" + i.toString(); - if (i != intrinsicArgNum - 1) { - out.str += ", "; - } - } - out.str += ") \n"; - }) - } - writeFunctionHeader(): void { let parametersCount = this.pg.getParametersCount(); this.output += ".function any " + this.pg.internalName + "(" @@ -90,7 +76,7 @@ export class AssemblyDumper { let irNodes: IRNode[] = this.pg.getInsns(); let parametersCount = this.pg.getParametersCount(); - /* the first parametersCount insns are mov.dyn insns for argument initialization, + /* the first parametersCount insns are move insn for argument initialization, we can directly dump them into text */ for (let i = 0; i < parametersCount; ++i) { @@ -113,7 +99,11 @@ export class AssemblyDumper { this.output += node.mnemonic + " "; let operands = node.operands; let formats = node.formats; + var outputRangeVregNum = getRangeExplicitVregNums(node); for (let j = 0; j < operands.length; ++j) { + if (outputRangeVregNum == 0) { + break; + } let format = formats[0]; let kind = format[j].kind; let op = operands[j]; @@ -135,8 +125,10 @@ export class AssemblyDumper { throw Error("invalid register, please check your insn!\nRegister was allocated at:\n" + v.getStackTrace() + "\n"); } this.output += "v" + v.num.toString(); - if (node instanceof BuiltinR2i) { - break; // we don't need to print all the registers, just the first one + // we don't need to print all the registers for range inst, just the first one + if (isRangeInst(node)) { + outputRangeVregNum--; + continue; } } else if (kind == OperandKind.Label) { this.output += this.getLabelName(