Index: test/cctest/interpreter/generate-bytecode-expectations.cc |
diff --git a/test/cctest/interpreter/generate-bytecode-expectations.cc b/test/cctest/interpreter/generate-bytecode-expectations.cc |
index b9276da6b01df3711d7074445c942a11d399bda5..86e8c3e0da44a58b6287b01fb1c4ec8f7b603bb7 100644 |
--- a/test/cctest/interpreter/generate-bytecode-expectations.cc |
+++ b/test/cctest/interpreter/generate-bytecode-expectations.cc |
@@ -43,6 +43,7 @@ class ProgramOptions final { |
execute_(true), |
top_level_(false), |
do_expressions_(false), |
+ class_fields_(false), |
verbose_(false) {} |
bool Validate() const; |
@@ -61,6 +62,7 @@ class ProgramOptions final { |
bool execute() const { return execute_; } |
bool top_level() const { return top_level_; } |
bool do_expressions() const { return do_expressions_; } |
+ bool class_fields() const { return class_fields_; } |
bool verbose() const { return verbose_; } |
bool suppress_runtime_errors() const { return rebaseline_ && !verbose_; } |
std::vector<std::string> input_filenames() const { return input_filenames_; } |
@@ -77,6 +79,7 @@ class ProgramOptions final { |
bool execute_; |
bool top_level_; |
bool do_expressions_; |
+ bool class_fields_; |
bool verbose_; |
std::vector<std::string> input_filenames_; |
std::string output_filename_; |
@@ -166,6 +169,8 @@ ProgramOptions ProgramOptions::FromCommandLine(int argc, char** argv) { |
options.top_level_ = true; |
} else if (strcmp(argv[i], "--do-expressions") == 0) { |
options.do_expressions_ = true; |
+ } else if (strcmp(argv[i], "--class-fields") == 0) { |
+ options.class_fields_ = true; |
} else if (strcmp(argv[i], "--verbose") == 0) { |
options.verbose_ = true; |
} else if (strncmp(argv[i], "--output=", 9) == 0) { |
@@ -262,6 +267,8 @@ void ProgramOptions::UpdateFromHeader(std::istream& stream) { |
top_level_ = ParseBoolean(line.c_str() + 11); |
} else if (line.compare(0, 16, "do expressions: ") == 0) { |
do_expressions_ = ParseBoolean(line.c_str() + 16); |
+ } else if (line.compare(0, 14, "class fields: ") == 0) { |
+ class_fields_ = ParseBoolean(line.c_str() + 14); |
} else if (line == "---") { |
break; |
} else if (line.empty()) { |
@@ -284,6 +291,7 @@ void ProgramOptions::PrintHeader(std::ostream& stream) const { // NOLINT |
if (top_level_) stream << "\ntop level: yes"; |
if (do_expressions_) stream << "\ndo expressions: yes"; |
+ if (class_fields_) stream << "\nclass fields: yes"; |
stream << "\n\n"; |
} |
@@ -388,6 +396,7 @@ void GenerateExpectationsFile(std::ostream& stream, // NOLINT |
} |
if (options.do_expressions()) i::FLAG_harmony_do_expressions = true; |
+ if (options.class_fields()) i::FLAG_harmony_class_fields = true; |
stream << "#\n# Autogenerated by generate-bytecode-expectations.\n#\n\n"; |
options.PrintHeader(stream); |
@@ -396,6 +405,7 @@ void GenerateExpectationsFile(std::ostream& stream, // NOLINT |
} |
i::FLAG_harmony_do_expressions = false; |
+ i::FLAG_harmony_class_fields = false; |
} |
bool WriteExpectationsFile(const std::vector<std::string>& snippet_list, |
@@ -440,6 +450,7 @@ void PrintUsage(const char* exec_path) { |
"Specify the name of the test function.\n" |
" --top-level Process top level code, not the top-level function.\n" |
" --do-expressions Enable harmony_do_expressions flag.\n" |
+ " --class-fields Enable harmony_class-fields flag.\n" |
" --output=file.name\n" |
" Specify the output file. If not specified, output goes to " |
"stdout.\n" |