summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-parsing.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/test-parsing.cc')
-rw-r--r--deps/v8/test/cctest/test-parsing.cc176
1 files changed, 110 insertions, 66 deletions
diff --git a/deps/v8/test/cctest/test-parsing.cc b/deps/v8/test/cctest/test-parsing.cc
index aa89553f4b..b48cc493c7 100644
--- a/deps/v8/test/cctest/test-parsing.cc
+++ b/deps/v8/test/cctest/test-parsing.cc
@@ -641,15 +641,14 @@ TEST(ScopeUsesArgumentsSuperThis) {
factory->NewStringFromUtf8(i::CStrVector(program.start()))
.ToHandleChecked();
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
// The information we're checking is only produced when eager parsing.
info.set_allow_lazy_parsing(false);
CHECK(i::parsing::ParseProgram(&info, isolate));
CHECK(i::Rewriter::Rewrite(&info));
info.ast_value_factory()->Internalize(isolate);
CHECK(i::DeclarationScope::Analyze(&info));
- i::DeclarationScope::AllocateScopeInfos(&info, isolate,
- i::AnalyzeMode::kRegular);
+ i::DeclarationScope::AllocateScopeInfos(&info, isolate);
CHECK_NOT_NULL(info.literal());
i::DeclarationScope* script_scope = info.literal()->scope();
@@ -708,7 +707,7 @@ static void CheckParsesToNumber(const char* source) {
i::Handle<i::Script> script = factory->NewScript(source_code);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_allow_lazy_parsing(false);
info.set_toplevel(true);
@@ -1017,7 +1016,7 @@ TEST(ScopePositions) {
i::CStrVector(program.start())).ToHandleChecked();
CHECK_EQ(source->length(), kProgramSize);
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_language_mode(source_data[i].language_mode);
i::parsing::ParseProgram(&info, isolate);
CHECK_NOT_NULL(info.literal());
@@ -1063,7 +1062,7 @@ TEST(DiscardFunctionBody) {
i::Handle<i::String> source_code =
factory->NewStringFromUtf8(i::CStrVector(source)).ToHandleChecked();
i::Handle<i::Script> script = factory->NewScript(source_code);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
i::parsing::ParseProgram(&info, isolate);
function = info.literal();
CHECK_NOT_NULL(function);
@@ -1121,7 +1120,6 @@ enum ParserFlag {
kAllowHarmonyDynamicImport,
kAllowHarmonyImportMeta,
kAllowHarmonyDoExpressions,
- kAllowHarmonyOptionalCatchBinding,
kAllowHarmonyNumericSeparator
};
@@ -1139,8 +1137,6 @@ void SetGlobalFlags(i::EnumSet<ParserFlag> flags) {
i::FLAG_harmony_dynamic_import = flags.Contains(kAllowHarmonyDynamicImport);
i::FLAG_harmony_import_meta = flags.Contains(kAllowHarmonyImportMeta);
i::FLAG_harmony_do_expressions = flags.Contains(kAllowHarmonyDoExpressions);
- i::FLAG_harmony_optional_catch_binding =
- flags.Contains(kAllowHarmonyOptionalCatchBinding);
i::FLAG_harmony_numeric_separator =
flags.Contains(kAllowHarmonyNumericSeparator);
}
@@ -1159,8 +1155,6 @@ void SetParserFlags(i::PreParser* parser, i::EnumSet<ParserFlag> flags) {
flags.Contains(kAllowHarmonyImportMeta));
parser->set_allow_harmony_do_expressions(
flags.Contains(kAllowHarmonyDoExpressions));
- parser->set_allow_harmony_optional_catch_binding(
- flags.Contains(kAllowHarmonyOptionalCatchBinding));
parser->set_allow_harmony_numeric_separator(
flags.Contains(kAllowHarmonyNumericSeparator));
}
@@ -1180,7 +1174,7 @@ void TestParserSyncWithFlags(i::Handle<i::String> source,
if (test_preparser) {
i::Scanner scanner(isolate->unicode_cache());
std::unique_ptr<i::Utf16CharacterStream> stream(
- i::ScannerStream::For(source));
+ i::ScannerStream::For(isolate, source));
i::Zone zone(CcTest::i_isolate()->allocator(), ZONE_NAME);
i::AstValueFactory ast_value_factory(
&zone, CcTest::i_isolate()->ast_string_constants(),
@@ -1199,7 +1193,7 @@ void TestParserSyncWithFlags(i::Handle<i::String> source,
i::FunctionLiteral* function;
{
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_allow_lazy_parsing(flags.Contains(kAllowLazy));
SetGlobalFlags(flags);
if (is_module) info.set_module();
@@ -1212,7 +1206,7 @@ void TestParserSyncWithFlags(i::Handle<i::String> source,
// Extract exception from the parser.
CHECK(isolate->has_pending_exception());
i::Handle<i::JSObject> exception_handle(
- i::JSObject::cast(isolate->pending_exception()));
+ i::JSObject::cast(isolate->pending_exception()), isolate);
i::Handle<i::String> message_string = i::Handle<i::String>::cast(
i::JSReceiver::GetProperty(isolate, exception_handle, "message")
.ToHandleChecked());
@@ -1241,7 +1235,7 @@ void TestParserSyncWithFlags(i::Handle<i::String> source,
if (test_preparser && !ignore_error_msg) {
i::Handle<i::String> preparser_message =
pending_error_handler.FormatErrorMessageForTest(CcTest::i_isolate());
- if (!i::String::Equals(message_string, preparser_message)) {
+ if (!i::String::Equals(isolate, message_string, preparser_message)) {
FATAL(
"Expected parser and preparser to produce the same error on:\n"
"\t%s\n"
@@ -2259,9 +2253,9 @@ TEST(FunctionDeclaresItselfStrict) {
TEST(ErrorsTryWithoutCatchOrFinally) {
const char* context_data[][2] = {{"", ""}, {nullptr, nullptr}};
- const char* statement_data[] = {
- "try { }", "try { } foo();", "try { } catch (e) foo();",
- "try { } catch { }", "try { } finally foo();", nullptr};
+ const char* statement_data[] = {"try { }", "try { } foo();",
+ "try { } catch (e) foo();",
+ "try { } finally foo();", nullptr};
RunParserSyncTest(context_data, statement_data, kError);
}
@@ -2299,13 +2293,7 @@ TEST(OptionalCatchBinding) {
};
// clang-format on
- // No error with flag
- static const ParserFlag flags[] = {kAllowHarmonyOptionalCatchBinding};
- RunParserSyncTest(context_data, statement_data, kSuccess, NULL, 0, flags,
- arraysize(flags));
-
- // Still an error without flag
- RunParserSyncTest(context_data, statement_data, kError);
+ RunParserSyncTest(context_data, statement_data, kSuccess);
}
TEST(OptionalCatchBindingInDoExpression) {
@@ -2326,16 +2314,9 @@ TEST(OptionalCatchBindingInDoExpression) {
};
// clang-format on
- // No error with flag
- static const ParserFlag do_and_catch_flags[] = {
- kAllowHarmonyDoExpressions, kAllowHarmonyOptionalCatchBinding};
+ static const ParserFlag do_and_catch_flags[] = {kAllowHarmonyDoExpressions};
RunParserSyncTest(context_data, statement_data, kSuccess, NULL, 0,
do_and_catch_flags, arraysize(do_and_catch_flags));
-
- // Still an error without flag
- static const ParserFlag do_flag[] = {kAllowHarmonyDoExpressions};
- RunParserSyncTest(context_data, statement_data, kError, NULL, 0, do_flag,
- arraysize(do_flag));
}
TEST(ErrorsRegexpLiteral) {
@@ -2861,7 +2842,7 @@ TEST(SerializationOfMaybeAssignmentFlag) {
i::DeclarationScope* script_scope =
new (&zone) i::DeclarationScope(&zone, &avf);
i::Scope* s = i::Scope::DeserializeScopeChain(
- &zone, context->scope_info(), script_scope, &avf,
+ isolate, &zone, context->scope_info(), script_scope, &avf,
i::Scope::DeserializationMode::kIncludingVariables);
CHECK(s != script_scope);
CHECK_NOT_NULL(name);
@@ -2910,7 +2891,7 @@ TEST(IfArgumentsArrayAccessedThenParametersMaybeAssigned) {
i::DeclarationScope* script_scope =
new (&zone) i::DeclarationScope(&zone, &avf);
i::Scope* s = i::Scope::DeserializeScopeChain(
- &zone, context->scope_info(), script_scope, &avf,
+ isolate, &zone, context->scope_info(), script_scope, &avf,
i::Scope::DeserializationMode::kIncludingVariables);
CHECK(s != script_scope);
@@ -3059,8 +3040,10 @@ TEST(InnerAssignment) {
v8::Local<v8::Value> v = CompileRun(program.start());
i::Handle<i::Object> o = v8::Utils::OpenHandle(*v);
i::Handle<i::JSFunction> f = i::Handle<i::JSFunction>::cast(o);
- i::Handle<i::SharedFunctionInfo> shared = i::handle(f->shared());
- info = std::unique_ptr<i::ParseInfo>(new i::ParseInfo(shared));
+ i::Handle<i::SharedFunctionInfo> shared =
+ i::handle(f->shared(), isolate);
+ info =
+ std::unique_ptr<i::ParseInfo>(new i::ParseInfo(isolate, shared));
CHECK(i::parsing::ParseFunction(info.get(), shared, isolate));
} else {
i::Handle<i::String> source =
@@ -3068,7 +3051,8 @@ TEST(InnerAssignment) {
source->PrintOn(stdout);
printf("\n");
i::Handle<i::Script> script = factory->NewScript(source);
- info = std::unique_ptr<i::ParseInfo>(new i::ParseInfo(script));
+ info =
+ std::unique_ptr<i::ParseInfo>(new i::ParseInfo(isolate, script));
info->set_allow_lazy_parsing(false);
CHECK(i::parsing::ParseProgram(info.get(), isolate));
}
@@ -3172,8 +3156,8 @@ TEST(MaybeAssignedParameters) {
v8::Local<v8::Value> v = CompileRun(program.start());
i::Handle<i::Object> o = v8::Utils::OpenHandle(*v);
i::Handle<i::JSFunction> f = i::Handle<i::JSFunction>::cast(o);
- i::Handle<i::SharedFunctionInfo> shared = i::handle(f->shared());
- info = std::unique_ptr<i::ParseInfo>(new i::ParseInfo(shared));
+ i::Handle<i::SharedFunctionInfo> shared = i::handle(f->shared(), isolate);
+ info = std::unique_ptr<i::ParseInfo>(new i::ParseInfo(isolate, shared));
info->set_allow_lazy_parsing(allow_lazy);
CHECK(i::parsing::ParseFunction(info.get(), shared, isolate));
CHECK(i::Compiler::Analyze(info.get()));
@@ -3210,7 +3194,7 @@ static void TestMaybeAssigned(Input input, const char* variable, bool module,
i::Handle<i::Script> script = factory->NewScript(string);
std::unique_ptr<i::ParseInfo> info;
- info = std::unique_ptr<i::ParseInfo>(new i::ParseInfo(script));
+ info = std::unique_ptr<i::ParseInfo>(new i::ParseInfo(isolate, script));
info->set_module(module);
info->set_allow_lazy_parsing(allow_lazy_parsing);
@@ -3628,7 +3612,7 @@ i::Scope* DeserializeFunctionScope(i::Isolate* isolate, i::Zone* zone,
i::DeclarationScope* script_scope =
new (zone) i::DeclarationScope(zone, &avf);
i::Scope* s = i::Scope::DeserializeScopeChain(
- zone, f->context()->scope_info(), script_scope, &avf,
+ isolate, zone, f->context()->scope_info(), script_scope, &avf,
i::Scope::DeserializationMode::kIncludingVariables);
return s;
}
@@ -4243,6 +4227,39 @@ TEST(ImportExpressionErrors) {
RunModuleParserSyncTest(context_data, data, kError, nullptr, 0, flags,
arraysize(flags));
}
+
+ // Import statements as arrow function params and destructuring targets.
+ {
+ // clang-format off
+ const char* context_data[][2] = {
+ {"(", ") => {}"},
+ {"(a, ", ") => {}"},
+ {"(1, ", ") => {}"},
+ {"let f = ", " => {}"},
+ {"[", "] = [1];"},
+ {"{", "} = {'a': 1};"},
+ {nullptr, nullptr}
+ };
+
+ const char* data[] = {
+ "import(foo)",
+ "import(1)",
+ "import(y=x)",
+ "import(import(x))",
+ "import(x).then()",
+ nullptr
+ };
+
+ // clang-format on
+ RunParserSyncTest(context_data, data, kError);
+ RunModuleParserSyncTest(context_data, data, kError);
+
+ static const ParserFlag flags[] = {kAllowHarmonyDynamicImport};
+ RunParserSyncTest(context_data, data, kError, nullptr, 0, flags,
+ arraysize(flags));
+ RunModuleParserSyncTest(context_data, data, kError, nullptr, 0, flags,
+ arraysize(flags));
+ }
}
TEST(SuperCall) {
@@ -6206,11 +6223,11 @@ TEST(BasicImportExportParsing) {
// Show that parsing as a module works
{
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_module();
if (!i::parsing::ParseProgram(&info, isolate)) {
i::Handle<i::JSObject> exception_handle(
- i::JSObject::cast(isolate->pending_exception()));
+ i::JSObject::cast(isolate->pending_exception()), isolate);
i::Handle<i::String> message_string = i::Handle<i::String>::cast(
i::JSReceiver::GetProperty(isolate, exception_handle, "message")
.ToHandleChecked());
@@ -6229,7 +6246,7 @@ TEST(BasicImportExportParsing) {
// And that parsing a script does not.
{
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
CHECK(!i::parsing::ParseProgram(&info, isolate));
isolate->clear_pending_exception();
}
@@ -6319,7 +6336,7 @@ TEST(ImportExportParsingErrors) {
factory->NewStringFromAsciiChecked(kErrorSources[i]);
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_module();
CHECK(!i::parsing::ParseProgram(&info, isolate));
isolate->clear_pending_exception();
@@ -6355,7 +6372,7 @@ TEST(ModuleTopLevelFunctionDecl) {
factory->NewStringFromAsciiChecked(kErrorSources[i]);
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_module();
CHECK(!i::parsing::ParseProgram(&info, isolate));
isolate->clear_pending_exception();
@@ -6552,7 +6569,7 @@ TEST(ModuleParsingInternals) {
"export {foob};";
i::Handle<i::String> source = factory->NewStringFromAsciiChecked(kSource);
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_module();
CHECK(i::parsing::ParseProgram(&info, isolate));
CHECK(i::Compiler::Analyze(&info));
@@ -6567,54 +6584,62 @@ TEST(ModuleParsingInternals) {
CHECK_EQ(13, declarations->LengthForTest());
CHECK(declarations->AtForTest(0)->proxy()->raw_name()->IsOneByteEqualTo("x"));
- CHECK(declarations->AtForTest(0)->proxy()->var()->mode() == i::LET);
+ CHECK(declarations->AtForTest(0)->proxy()->var()->mode() ==
+ i::VariableMode::kLet);
CHECK(declarations->AtForTest(0)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(0)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(declarations->AtForTest(1)->proxy()->raw_name()->IsOneByteEqualTo("z"));
- CHECK(declarations->AtForTest(1)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(1)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(declarations->AtForTest(1)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(1)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(declarations->AtForTest(2)->proxy()->raw_name()->IsOneByteEqualTo("n"));
- CHECK(declarations->AtForTest(2)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(2)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(declarations->AtForTest(2)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(2)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(
declarations->AtForTest(3)->proxy()->raw_name()->IsOneByteEqualTo("foo"));
- CHECK(declarations->AtForTest(3)->proxy()->var()->mode() == i::VAR);
+ CHECK(declarations->AtForTest(3)->proxy()->var()->mode() ==
+ i::VariableMode::kVar);
CHECK(!declarations->AtForTest(3)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(3)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(
declarations->AtForTest(4)->proxy()->raw_name()->IsOneByteEqualTo("goo"));
- CHECK(declarations->AtForTest(4)->proxy()->var()->mode() == i::LET);
+ CHECK(declarations->AtForTest(4)->proxy()->var()->mode() ==
+ i::VariableMode::kLet);
CHECK(!declarations->AtForTest(4)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(4)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(
declarations->AtForTest(5)->proxy()->raw_name()->IsOneByteEqualTo("hoo"));
- CHECK(declarations->AtForTest(5)->proxy()->var()->mode() == i::LET);
+ CHECK(declarations->AtForTest(5)->proxy()->var()->mode() ==
+ i::VariableMode::kLet);
CHECK(declarations->AtForTest(5)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(5)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(
declarations->AtForTest(6)->proxy()->raw_name()->IsOneByteEqualTo("joo"));
- CHECK(declarations->AtForTest(6)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(6)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(declarations->AtForTest(6)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(6)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(declarations->AtForTest(7)->proxy()->raw_name()->IsOneByteEqualTo(
"*default*"));
- CHECK(declarations->AtForTest(7)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(7)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(declarations->AtForTest(7)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(7)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
@@ -6627,28 +6652,32 @@ TEST(ModuleParsingInternals) {
CHECK(
declarations->AtForTest(9)->proxy()->raw_name()->IsOneByteEqualTo("mm"));
- CHECK(declarations->AtForTest(9)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(9)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(declarations->AtForTest(9)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(9)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(
declarations->AtForTest(10)->proxy()->raw_name()->IsOneByteEqualTo("aa"));
- CHECK(declarations->AtForTest(10)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(10)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(declarations->AtForTest(10)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(10)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
CHECK(declarations->AtForTest(11)->proxy()->raw_name()->IsOneByteEqualTo(
"loo"));
- CHECK(declarations->AtForTest(11)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(11)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(!declarations->AtForTest(11)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(11)->proxy()->var()->location() !=
i::VariableLocation::MODULE);
CHECK(declarations->AtForTest(12)->proxy()->raw_name()->IsOneByteEqualTo(
"foob"));
- CHECK(declarations->AtForTest(12)->proxy()->var()->mode() == i::CONST);
+ CHECK(declarations->AtForTest(12)->proxy()->var()->mode() ==
+ i::VariableMode::kConst);
CHECK(!declarations->AtForTest(12)->proxy()->var()->binding_needs_init());
CHECK(declarations->AtForTest(12)->proxy()->var()->location() ==
i::VariableLocation::MODULE);
@@ -6801,7 +6830,7 @@ void TestLanguageMode(const char* source,
i::Handle<i::Script> script =
factory->NewScript(factory->NewStringFromAsciiChecked(source));
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
i::parsing::ParseProgram(&info, isolate);
CHECK_NOT_NULL(info.literal());
CHECK_EQ(expected_language_mode, info.literal()->language_mode());
@@ -8137,6 +8166,8 @@ TEST(ImportMetaFailure) {
{"({", "} = {1})"},
{"var {", " = 1} = 1"},
{"for (var ", " of [1]) {}"},
+ {"(", ") => {}"},
+ {"let f = ", " => {}"},
{nullptr}
};
@@ -8697,6 +8728,14 @@ TEST(AsyncAwait) {
"function* g() { var f = async(yield); }",
"function* g() { var f = async(x = yield); }",
+
+ // v8:7817 assert that `await` is still allowed in the body of an arrow fn
+ // within formal parameters
+ "async(a = a => { var await = 1; return 1; }) => a()",
+ "async(a = await => 1); async(a) => 1",
+ "(async(a = await => 1), async(a) => 1)",
+ "async(a = await => 1, b = async() => 1);",
+
nullptr
};
// clang-format on
@@ -8843,6 +8882,12 @@ TEST(AsyncAwaitErrors) {
"async(...a = b) => b",
"async(...a,) => b",
"async(...a, b) => b",
+
+ // v8:7817 assert that `await` is an invalid identifier in arrow formal
+ // parameters nested within an async arrow function
+ "async(a = await => 1) => a",
+ "async(a = (await) => 1) => a",
+ "async(a = (...await) => 1) => a",
nullptr
};
@@ -9563,7 +9608,7 @@ TEST(NoPessimisticContextAllocation) {
printf("\n");
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
CHECK(i::parsing::ParseProgram(&info, isolate));
CHECK(i::Compiler::Analyze(&info));
@@ -10123,14 +10168,13 @@ TEST(LexicalLoopVariable) {
i::Handle<i::String> source =
factory->NewStringFromUtf8(i::CStrVector(program)).ToHandleChecked();
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_allow_lazy_parsing(false);
CHECK(i::parsing::ParseProgram(&info, isolate));
CHECK(i::Rewriter::Rewrite(&info));
CHECK(i::DeclarationScope::Analyze(&info));
- i::DeclarationScope::AllocateScopeInfos(&info, isolate,
- i::AnalyzeMode::kRegular);
+ i::DeclarationScope::AllocateScopeInfos(&info, isolate);
CHECK_NOT_NULL(info.literal());
i::DeclarationScope* script_scope = info.literal()->scope();
@@ -10309,7 +10353,7 @@ TEST(PrivateNamesSyntaxError) {
i::Handle<i::String> source =
factory->NewStringFromUtf8(i::CStrVector(program)).ToHandleChecked();
i::Handle<i::Script> script = factory->NewScript(source);
- i::ParseInfo info(script);
+ i::ParseInfo info(isolate, script);
info.set_allow_lazy_parsing(is_lazy);
i::FLAG_harmony_private_fields = true;