Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1082)

Unified Diff: src/parsing/preparser.cc

Issue 2673403003: [parsing] Fix maybe-assigned for loop variables. (Closed)
Patch Set: Typo. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/parsing/preparser.cc
diff --git a/src/parsing/preparser.cc b/src/parsing/preparser.cc
index 0377a1b9d35e70ff9cb131ad061e01f7f257888f..f674b09542b40ce2c58e57825c728e693363926e 100644
--- a/src/parsing/preparser.cc
+++ b/src/parsing/preparser.cc
@@ -310,8 +310,11 @@ void PreParser::DeclareAndInitializeVariables(
DCHECK(track_unresolved_variables_);
for (auto variable : *(declaration->pattern.variables_)) {
declaration_descriptor->scope->RemoveUnresolved(variable);
- scope()->DeclareVariableName(variable->raw_name(),
- declaration_descriptor->mode);
+ Variable* var = scope()->DeclareVariableName(
+ variable->raw_name(), declaration_descriptor->mode);
+ if (FLAG_preparser_scope_analysis) {
+ MarkLoopVariableAsAssigned(declaration_descriptor->scope, var);
+ }
if (names) {
names->Add(variable->raw_name(), zone());
}

Powered by Google App Engine
This is Rietveld 408576698