Support resource name and user value for implicit class constructors (#4771)

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2021-09-17 16:28:10 +02:00
committed by GitHub
parent 430289b27d
commit 053bfa0f9f
13 changed files with 471 additions and 327 deletions
-3
View File
@@ -2469,7 +2469,6 @@
<test id="language/expressions/class/elements/class-name-static-initializer-default-export.js"><reason></reason></test>
<test id="language/expressions/class/elements/derived-cls-direct-eval-contains-superproperty-1.js"><reason></reason></test>
<test id="language/expressions/class/elements/derived-cls-direct-eval-contains-superproperty-2.js"><reason></reason></test>
<test id="language/expressions/class/elements/direct-eval-err-contains-newtarget.js"><reason></reason></test>
<test id="language/expressions/class/elements/fields-anonymous-function-length.js"><reason></reason></test>
<test id="language/expressions/class/elements/fields-multiple-definitions-static-private-methods-proxy.js"><reason></reason></test>
<test id="language/expressions/class/elements/gen-private-method-static/yield-spread-arr-multiple.js"><reason></reason></test>
@@ -4047,7 +4046,6 @@
<test id="language/statements/class/elements/async-gen-private-method/yield-star-sync-throw.js"><reason></reason></test>
<test id="language/statements/class/elements/derived-cls-direct-eval-contains-superproperty-1.js"><reason></reason></test>
<test id="language/statements/class/elements/derived-cls-direct-eval-contains-superproperty-2.js"><reason></reason></test>
<test id="language/statements/class/elements/direct-eval-err-contains-newtarget.js"><reason></reason></test>
<test id="language/statements/class/elements/fields-anonymous-function-length.js"><reason></reason></test>
<test id="language/statements/class/elements/gen-private-method-static/yield-spread-arr-multiple.js"><reason></reason></test>
<test id="language/statements/class/elements/gen-private-method-static/yield-spread-arr-single.js"><reason></reason></test>
@@ -7952,7 +7950,6 @@
<test id="built-ins/Atomics/waitAsync/was-woken-before-timeout.js"><reason></reason></test>
<test id="built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js"><reason></reason></test>
<test id="built-ins/FinalizationRegistry/proto-from-ctor-realm.js"><reason></reason></test>
<test id="built-ins/Function/internals/Call/class-ctor-realm.js"><reason></reason></test>
<test id="intl402/Collator/proto-from-ctor-realm.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/proto-from-ctor-realm.js"><reason></reason></test>
<test id="intl402/DisplayNames/proto-from-ctor-realm.js"><reason></reason></test>
+21
View File
@@ -214,6 +214,27 @@ main (void)
jerry_release_value (parse_options.resource_name);
jerry_release_value (program);
const char *source_6 = "(class {})";
parse_options.options = JERRY_PARSE_HAS_RESOURCE;
parse_options.resource_name = jerry_create_string ((jerry_char_t *) "demo6.js");
program = jerry_parse ((const jerry_char_t *) source_6,
strlen (source_6),
&parse_options);
if (!jerry_value_is_error (program))
{
resource_value = jerry_get_resource_name (program);
compare_result = jerry_binary_operation (JERRY_BIN_OP_STRICT_EQUAL, resource_value, parse_options.resource_name);
TEST_ASSERT (jerry_value_is_true (compare_result));
jerry_release_value (resource_value);
jerry_release_value (compare_result);
}
jerry_release_value (parse_options.resource_name);
jerry_release_value (program);
jerry_cleanup ();
return 0;
+8
View File
@@ -138,6 +138,14 @@ main (void)
parse_options.options = JERRY_PARSE_HAS_USER_VALUE;
test_parse_function (source_p, &parse_options, true);
/* There is no test for ESNEXT, using SYMBOL instead. */
if (jerry_is_feature_enabled (JERRY_FEATURE_SYMBOL))
{
source_p = TEST_STRING_LITERAL ("(class {})");
parse_options.options = JERRY_PARSE_HAS_USER_VALUE;
test_parse (source_p, &parse_options, true);
}
source_p = TEST_STRING_LITERAL ("eval('function f() {}')\n"
"f");
parse_options.options = JERRY_PARSE_HAS_USER_VALUE;