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

Side by Side Diff: src/preparser.h

Issue 584993002: ES6: Implement object literal property shorthand (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: git rebase Created 6 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/token.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_PREPARSER_H 5 #ifndef V8_PREPARSER_H
6 #define V8_PREPARSER_H 6 #define V8_PREPARSER_H
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/bailout-reason.h" 10 #include "src/bailout-reason.h"
(...skipping 2009 matching lines...) Expand 10 before | Expand all | Expand 10 after
2020 2020
2021 typename Traits::Type::FunctionLiteral value = this->ParseFunctionLiteral( 2021 typename Traits::Type::FunctionLiteral value = this->ParseFunctionLiteral(
2022 name, scanner()->location(), 2022 name, scanner()->location(),
2023 false, // reserved words are allowed here 2023 false, // reserved words are allowed here
2024 FunctionKind::kNormalFunction, RelocInfo::kNoPosition, 2024 FunctionKind::kNormalFunction, RelocInfo::kNoPosition,
2025 FunctionLiteral::ANONYMOUS_EXPRESSION, 2025 FunctionLiteral::ANONYMOUS_EXPRESSION,
2026 is_get ? FunctionLiteral::GETTER_ARITY : FunctionLiteral::SETTER_ARITY, 2026 is_get ? FunctionLiteral::GETTER_ARITY : FunctionLiteral::SETTER_ARITY,
2027 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty)); 2027 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty));
2028 return factory()->NewObjectLiteralProperty(is_get, value, next_pos, 2028 return factory()->NewObjectLiteralProperty(is_get, value, next_pos,
2029 is_static); 2029 is_static);
2030
2031 } else if (!in_class && allow_harmony_object_literals_ &&
2032 Token::IsIdentifier(name_token, strict_mode(),
2033 this->is_generator())) {
2034 value = this->ExpressionFromIdentifier(name, next_pos, scope_, factory());
2035
2030 } else { 2036 } else {
2031 Token::Value next = Next(); 2037 Token::Value next = Next();
2032 ReportUnexpectedToken(next); 2038 ReportUnexpectedToken(next);
2033 *ok = false; 2039 *ok = false;
2034 return this->EmptyObjectLiteralProperty(); 2040 return this->EmptyObjectLiteralProperty();
2035 } 2041 }
2036 2042
2037 uint32_t index; 2043 uint32_t index;
2038 LiteralT key = this->IsArrayIndex(name, &index) 2044 LiteralT key = this->IsArrayIndex(name, &index)
2039 ? factory()->NewNumberLiteral(index, next_pos) 2045 ? factory()->NewNumberLiteral(index, next_pos)
(...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after
2829 DCHECK(IsAccessorAccessorConflict(old_type, type)); 2835 DCHECK(IsAccessorAccessorConflict(old_type, type));
2830 // Both accessors of the same type. 2836 // Both accessors of the same type.
2831 parser()->ReportMessage("accessor_get_set"); 2837 parser()->ReportMessage("accessor_get_set");
2832 } 2838 }
2833 *ok = false; 2839 *ok = false;
2834 } 2840 }
2835 } 2841 }
2836 } } // v8::internal 2842 } } // v8::internal
2837 2843
2838 #endif // V8_PREPARSER_H 2844 #endif // V8_PREPARSER_H
OLDNEW
« no previous file with comments | « no previous file | src/token.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698