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> |