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

Unified Diff: src/parsing/parser-base.h

Issue 2882973002: [coverage] Block coverage with support for IfStatements (Closed)
Patch Set: Comment nit Created 3 years, 7 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/parser-base.h
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
index 218ca322ab425b7d9fb7ec039a2b5066ae9d7494..e0e20fe31662b6697f1bbaa7a7c665703dccc461 100644
--- a/src/parsing/parser-base.h
+++ b/src/parsing/parser-base.h
@@ -5155,15 +5155,22 @@ typename ParserBase<Impl>::StatementT ParserBase<Impl>::ParseIfStatement(
Expect(Token::LPAREN, CHECK_OK);
ExpressionT condition = ParseExpression(true, CHECK_OK);
Expect(Token::RPAREN, CHECK_OK);
+
+ SourceRange then_range, else_range;
+ then_range.from = peek_position();
StatementT then_statement = ParseScopedStatement(labels, CHECK_OK);
+ then_range.to = position();
+
StatementT else_statement = impl()->NullStatement();
if (Check(Token::ELSE)) {
+ else_range.from = peek_position();
else_statement = ParseScopedStatement(labels, CHECK_OK);
+ else_range.to = position();
} else {
else_statement = factory()->NewEmptyStatement(kNoSourcePosition);
}
return factory()->NewIfStatement(condition, then_statement, else_statement,
- pos);
+ pos, then_range, else_range);
}
template <typename Impl>

Powered by Google App Engine
This is Rietveld 408576698