| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_PARSING_PARSER_BASE_H | 5 #ifndef V8_PARSING_PARSER_BASE_H |
| 6 #define V8_PARSING_PARSER_BASE_H | 6 #define V8_PARSING_PARSER_BASE_H |
| 7 | 7 |
| 8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" |
| 9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
| 10 #include "src/hashmap.h" | 10 #include "src/hashmap.h" |
| (...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 ParserBase<Traits>::FunctionState::~FunctionState() { | 985 ParserBase<Traits>::FunctionState::~FunctionState() { |
| 986 *scope_stack_ = outer_scope_; | 986 *scope_stack_ = outer_scope_; |
| 987 *function_state_stack_ = outer_function_state_; | 987 *function_state_stack_ = outer_function_state_; |
| 988 } | 988 } |
| 989 | 989 |
| 990 | 990 |
| 991 template <class Traits> | 991 template <class Traits> |
| 992 void ParserBase<Traits>::GetUnexpectedTokenMessage( | 992 void ParserBase<Traits>::GetUnexpectedTokenMessage( |
| 993 Token::Value token, MessageTemplate::Template* message, const char** arg, | 993 Token::Value token, MessageTemplate::Template* message, const char** arg, |
| 994 MessageTemplate::Template default_) { | 994 MessageTemplate::Template default_) { |
| 995 *arg = nullptr; |
| 995 switch (token) { | 996 switch (token) { |
| 996 case Token::EOS: | 997 case Token::EOS: |
| 997 *message = MessageTemplate::kUnexpectedEOS; | 998 *message = MessageTemplate::kUnexpectedEOS; |
| 998 *arg = nullptr; | |
| 999 break; | 999 break; |
| 1000 case Token::SMI: | 1000 case Token::SMI: |
| 1001 case Token::NUMBER: | 1001 case Token::NUMBER: |
| 1002 *message = MessageTemplate::kUnexpectedTokenNumber; | 1002 *message = MessageTemplate::kUnexpectedTokenNumber; |
| 1003 *arg = nullptr; | |
| 1004 break; | 1003 break; |
| 1005 case Token::STRING: | 1004 case Token::STRING: |
| 1006 *message = MessageTemplate::kUnexpectedTokenString; | 1005 *message = MessageTemplate::kUnexpectedTokenString; |
| 1007 *arg = nullptr; | |
| 1008 break; | 1006 break; |
| 1009 case Token::IDENTIFIER: | 1007 case Token::IDENTIFIER: |
| 1010 *message = MessageTemplate::kUnexpectedTokenIdentifier; | 1008 *message = MessageTemplate::kUnexpectedTokenIdentifier; |
| 1011 *arg = nullptr; | |
| 1012 break; | 1009 break; |
| 1013 case Token::FUTURE_RESERVED_WORD: | 1010 case Token::FUTURE_RESERVED_WORD: |
| 1014 *message = MessageTemplate::kUnexpectedReserved; | 1011 *message = MessageTemplate::kUnexpectedReserved; |
| 1015 *arg = nullptr; | |
| 1016 break; | 1012 break; |
| 1017 case Token::LET: | 1013 case Token::LET: |
| 1018 case Token::STATIC: | 1014 case Token::STATIC: |
| 1019 case Token::YIELD: | 1015 case Token::YIELD: |
| 1020 case Token::FUTURE_STRICT_RESERVED_WORD: | 1016 case Token::FUTURE_STRICT_RESERVED_WORD: |
| 1021 *message = is_strict(language_mode()) | 1017 *message = is_strict(language_mode()) |
| 1022 ? MessageTemplate::kUnexpectedStrictReserved | 1018 ? MessageTemplate::kUnexpectedStrictReserved |
| 1023 : MessageTemplate::kUnexpectedTokenIdentifier; | 1019 : MessageTemplate::kUnexpectedTokenIdentifier; |
| 1024 *arg = nullptr; | |
| 1025 break; | 1020 break; |
| 1026 case Token::TEMPLATE_SPAN: | 1021 case Token::TEMPLATE_SPAN: |
| 1027 case Token::TEMPLATE_TAIL: | 1022 case Token::TEMPLATE_TAIL: |
| 1028 *message = MessageTemplate::kUnexpectedTemplateString; | 1023 *message = MessageTemplate::kUnexpectedTemplateString; |
| 1029 *arg = nullptr; | |
| 1030 break; | 1024 break; |
| 1031 case Token::ESCAPED_STRICT_RESERVED_WORD: | 1025 case Token::ESCAPED_STRICT_RESERVED_WORD: |
| 1032 case Token::ESCAPED_KEYWORD: | 1026 case Token::ESCAPED_KEYWORD: |
| 1033 *message = MessageTemplate::kInvalidEscapedReservedWord; | 1027 *message = MessageTemplate::kInvalidEscapedReservedWord; |
| 1034 *arg = nullptr; | 1028 break; |
| 1029 case Token::ILLEGAL: |
| 1030 *message = MessageTemplate::kInvalidOrUnexpectedToken; |
| 1035 break; | 1031 break; |
| 1036 default: | 1032 default: |
| 1037 const char* name = Token::String(token); | 1033 const char* name = Token::String(token); |
| 1038 DCHECK(name != NULL); | 1034 DCHECK(name != NULL); |
| 1039 *arg = name; | 1035 *arg = name; |
| 1040 break; | 1036 break; |
| 1041 } | 1037 } |
| 1042 } | 1038 } |
| 1043 | 1039 |
| 1044 | 1040 |
| (...skipping 2324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3369 has_seen_constructor_ = true; | 3365 has_seen_constructor_ = true; |
| 3370 return; | 3366 return; |
| 3371 } | 3367 } |
| 3372 } | 3368 } |
| 3373 | 3369 |
| 3374 | 3370 |
| 3375 } // namespace internal | 3371 } // namespace internal |
| 3376 } // namespace v8 | 3372 } // namespace v8 |
| 3377 | 3373 |
| 3378 #endif // V8_PARSING_PARSER_BASE_H | 3374 #endif // V8_PARSING_PARSER_BASE_H |
| OLD | NEW |