Chromium Code Reviews| Index: src/parsing/preparser.h |
| diff --git a/src/parsing/preparser.h b/src/parsing/preparser.h |
| index ddc74c53180867f6fb679e7aeaffe5ce90ca0673..d8c04fe8daccd41d0d0695f604a58eab74aff1de 100644 |
| --- a/src/parsing/preparser.h |
| +++ b/src/parsing/preparser.h |
| @@ -825,7 +825,6 @@ class PreParser : public ParserBase<PreParser> { |
| Statement ParseClassDeclaration(ZoneList<const AstRawString*>* names, |
| bool default_export, bool* ok); |
| Statement ParseForStatement(ZoneList<const AstRawString*>* labels, bool* ok); |
| - Statement ParseTryStatement(bool* ok); |
| Expression ParseConditionalExpression(bool accept_IN, bool* ok); |
| Expression ParseObjectLiteral(bool* ok); |
| @@ -946,6 +945,22 @@ class PreParser : public ParserBase<PreParser> { |
| PreParserStatementList cases, Scope* scope) { |
| return PreParserStatement::Default(); |
| } |
| + V8_INLINE void RewriteCatchPattern(CatchInfo* catch_info, bool* ok) {} |
| + V8_INLINE void ValidateCatchBlock(const CatchInfo& catch_info, bool* ok) {} |
| + V8_INLINE PreParserStatement RewriteTryStatement( |
| + PreParserStatement try_block, PreParserStatement catch_block, |
| + PreParserStatement finally_block, const CatchInfo& catch_info, int pos, |
| + bool* ok) { |
|
marja
2016/09/14 10:06:59
Now this code is in both Parser and PreParser; wha
nickie
2016/09/14 10:19:09
Well, for some weird reason, in the two implementa
marja
2016/09/14 11:00:27
I think that should get figured out before landing
nickie
2016/09/14 11:43:08
Done. (As discussed offline.)
|
| + if (FLAG_harmony_explicit_tailcalls && !catch_block.IsNullStatement() && |
| + catch_info.tail_call_expressions.has_explicit_tail_calls()) { |
| + // TODO(ishell): update chapter number. |
| + // ES8 XX.YY.ZZ |
| + ReportMessageAt(catch_info.tail_call_expressions.location(), |
| + MessageTemplate::kUnexpectedTailCallInCatchBlock); |
| + *ok = false; |
| + } |
| + return PreParserStatement::Default(); |
| + } |
| V8_INLINE PreParserExpression RewriteDoExpression(PreParserStatement body, |
| int pos, bool* ok) { |
| @@ -1180,7 +1195,7 @@ class PreParser : public ParserBase<PreParser> { |
| } |
| V8_INLINE static PreParserStatement NullStatement() { |
| - return PreParserStatement::Default(); |
| + return PreParserStatement::Null(); |
| } |
| V8_INLINE bool IsNullStatement(PreParserStatement stmt) { |
| @@ -1192,7 +1207,7 @@ class PreParser : public ParserBase<PreParser> { |
| } |
| V8_INLINE static PreParserStatement NullBlock() { |
| - return PreParserStatement::Default(); |
| + return PreParserStatement::Null(); |
| } |
| V8_INLINE PreParserIdentifier EmptyIdentifierString() const { |