Chromium Code Reviews| Index: src/parser.cc |
| diff --git a/src/parser.cc b/src/parser.cc |
| index 1345a790eb6258d0d0d6d6bdc5bfb95778ac42e8..aa101a8a2a46d1ab89879cf9eb18a9cf6d76913e 100644 |
| --- a/src/parser.cc |
| +++ b/src/parser.cc |
| @@ -3553,6 +3553,11 @@ bool CheckAndDeclareArrowParameter(ParserTraits* traits, Expression* expression, |
| // Case for a single parameter: |
| // (foo) => ... |
| // foo => ... |
| + bool is_rest = false; |
|
arv (Not doing code reviews)
2015/03/10 13:44:02
Maybe this should go after the IsVariableProxy che
|
| + if (expression->IsSpreadOperation()) { |
| + expression = expression->AsSpreadOperation()->expression(); |
| + is_rest = true; |
| + } |
| if (expression->IsVariableProxy()) { |
| if (expression->AsVariableProxy()->is_this()) return false; |
| @@ -3567,7 +3572,7 @@ bool CheckAndDeclareArrowParameter(ParserTraits* traits, Expression* expression, |
| return false; |
| } |
| - scope->DeclareParameter(raw_name, VAR); |
| + scope->DeclareParameter(raw_name, VAR, is_rest); |
| ++(*num_params); |
| return true; |
| } |