Commit 42bc9e8c authored by Sathya Gunasekaran's avatar Sathya Gunasekaran Committed by Commit Bot

[class] Expand bytecode expectations coverage for class fields

Bug: v8:5367
Change-Id: Ib24190f6cfc0765794a1a5d9ac33cf1c1e2b6fba
Reviewed-on: https://chromium-review.googlesource.com/793150Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49665}
parent 301bc628
...@@ -278,8 +278,8 @@ void ProgramOptions::UpdateFromHeader(std::istream& stream) { ...@@ -278,8 +278,8 @@ void ProgramOptions::UpdateFromHeader(std::istream& stream) {
do_expressions_ = ParseBoolean(line.c_str() + 16); do_expressions_ = ParseBoolean(line.c_str() + 16);
} else if (line.compare(0, 17, "async iteration: ") == 0) { } else if (line.compare(0, 17, "async iteration: ") == 0) {
async_iteration_ = ParseBoolean(line.c_str() + 17); async_iteration_ = ParseBoolean(line.c_str() + 17);
} else if (line.compare(0, 14, "public fields: ") == 0) { } else if (line.compare(0, 15, "public fields: ") == 0) {
public_fields_ = ParseBoolean(line.c_str() + 14); public_fields_ = ParseBoolean(line.c_str() + 15);
} else if (line == "---") { } else if (line == "---") {
break; break;
} else if (line.empty()) { } else if (line.empty()) {
......
...@@ -2240,23 +2240,48 @@ TEST(ClassFields) { ...@@ -2240,23 +2240,48 @@ TEST(ClassFields) {
BytecodeExpectationsPrinter printer(CcTest::isolate()); BytecodeExpectationsPrinter printer(CcTest::isolate());
const char* snippets[] = { const char* snippets[] = {
"{\n"
" class A {\n"
" a;\n"
" ['b'];\n"
" static c;\n"
" static ['d'];\n"
" }\n"
"\n"
" class B {\n"
" a = 1;\n"
" ['b'] = this.a;\n"
" static c = 3;\n"
" static ['d'] = this.c;\n"
" }\n"
" new A;\n"
" new B;\n"
"}\n",
"{\n" "{\n"
" class A extends class {} {\n" " class A extends class {} {\n"
" a;\n" " a;\n"
" ['b'];\n"
" static c;\n" " static c;\n"
" static ['d'];\n"
" }\n" " }\n"
"\n" "\n"
" class B extends class {} {\n" " class B extends class {} {\n"
" a = 1;\n" " a = 1;\n"
" ['b'] = this.a;\n"
" static c = 3;\n" " static c = 3;\n"
" static ['d'] = this.c;\n"
" foo() { return 1; }\n"
" constructor() {\n" " constructor() {\n"
" super();\n" " super();\n"
" }\n" " }\n"
" }\n" " }\n"
"\n" "\n"
" class C extends class {} {\n" " class C extends B {\n"
" a = 1;\n" " a = 1;\n"
" ['b'] = this.a;\n"
" static c = 3;\n" " static c = 3;\n"
" static ['d'] = super.foo();\n"
" constructor() {\n" " constructor() {\n"
" (() => super())();\n" " (() => super())();\n"
" }\n" " }\n"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment