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

Side by Side Diff: src/parsing/parser.h

Issue 1678303002: [es7] implement exponentiation operator proposal (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: update webkit test expectations Created 4 years, 10 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
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_PARSING_PARSER_H_ 5 #ifndef V8_PARSING_PARSER_H_
6 #define V8_PARSING_PARSER_H_ 6 #define V8_PARSING_PARSER_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/ast/ast.h" 9 #include "src/ast/ast.h"
10 #include "src/ast/scopes.h" 10 #include "src/ast/scopes.h"
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 V8_INLINE Expression* SpreadCall(Expression* function, 633 V8_INLINE Expression* SpreadCall(Expression* function,
634 ZoneList<v8::internal::Expression*>* args, 634 ZoneList<v8::internal::Expression*>* args,
635 int pos); 635 int pos);
636 V8_INLINE Expression* SpreadCallNew(Expression* function, 636 V8_INLINE Expression* SpreadCallNew(Expression* function,
637 ZoneList<v8::internal::Expression*>* args, 637 ZoneList<v8::internal::Expression*>* args,
638 int pos); 638 int pos);
639 639
640 // Rewrite all DestructuringAssignments in the current FunctionState. 640 // Rewrite all DestructuringAssignments in the current FunctionState.
641 V8_INLINE void RewriteDestructuringAssignments(); 641 V8_INLINE void RewriteDestructuringAssignments();
642 642
643 V8_INLINE Expression* RewriteAssignExponentiation(Expression* left,
644 Expression* right, int pos);
645
643 V8_INLINE void QueueDestructuringAssignmentForRewriting( 646 V8_INLINE void QueueDestructuringAssignmentForRewriting(
644 Expression* assignment); 647 Expression* assignment);
645 648
646 void SetFunctionNameFromPropertyName(ObjectLiteralProperty* property, 649 void SetFunctionNameFromPropertyName(ObjectLiteralProperty* property,
647 const AstRawString* name); 650 const AstRawString* name);
648 651
649 void SetFunctionNameFromIdentifierRef(Expression* value, 652 void SetFunctionNameFromIdentifierRef(Expression* value,
650 Expression* identifier); 653 Expression* identifier);
651 654
652 // Rewrite expressions that are not used as patterns 655 // Rewrite expressions that are not used as patterns
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 Expression* SpreadCall(Expression* function, 1016 Expression* SpreadCall(Expression* function,
1014 ZoneList<v8::internal::Expression*>* args, int pos); 1017 ZoneList<v8::internal::Expression*>* args, int pos);
1015 Expression* SpreadCallNew(Expression* function, 1018 Expression* SpreadCallNew(Expression* function,
1016 ZoneList<v8::internal::Expression*>* args, int pos); 1019 ZoneList<v8::internal::Expression*>* args, int pos);
1017 1020
1018 void SetLanguageMode(Scope* scope, LanguageMode mode); 1021 void SetLanguageMode(Scope* scope, LanguageMode mode);
1019 void RaiseLanguageMode(LanguageMode mode); 1022 void RaiseLanguageMode(LanguageMode mode);
1020 1023
1021 V8_INLINE void RewriteDestructuringAssignments(); 1024 V8_INLINE void RewriteDestructuringAssignments();
1022 1025
1026 V8_INLINE Expression* RewriteAssignExponentiation(Expression* left,
1027 Expression* right, int pos);
1028
1023 friend class NonPatternRewriter; 1029 friend class NonPatternRewriter;
1024 V8_INLINE Expression* RewriteSpreads(ArrayLiteral* lit); 1030 V8_INLINE Expression* RewriteSpreads(ArrayLiteral* lit);
1025 1031
1026 V8_INLINE Expression* RewriteNonPattern( 1032 V8_INLINE Expression* RewriteNonPattern(
1027 Expression* expr, const ExpressionClassifier* classifier, bool* ok); 1033 Expression* expr, const ExpressionClassifier* classifier, bool* ok);
1028 V8_INLINE ObjectLiteralProperty* RewriteNonPatternObjectLiteralProperty( 1034 V8_INLINE ObjectLiteralProperty* RewriteNonPatternObjectLiteralProperty(
1029 ObjectLiteralProperty* property, const ExpressionClassifier* classifier, 1035 ObjectLiteralProperty* property, const ExpressionClassifier* classifier,
1030 bool* ok); 1036 bool* ok);
1031 1037
1032 friend class InitializerRewriter; 1038 friend class InitializerRewriter;
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
1218 1224
1219 DoExpression* ParserTraits::ParseDoExpression(bool* ok) { 1225 DoExpression* ParserTraits::ParseDoExpression(bool* ok) {
1220 return parser_->ParseDoExpression(ok); 1226 return parser_->ParseDoExpression(ok);
1221 } 1227 }
1222 1228
1223 1229
1224 } // namespace internal 1230 } // namespace internal
1225 } // namespace v8 1231 } // namespace v8
1226 1232
1227 #endif // V8_PARSING_PARSER_H_ 1233 #endif // V8_PARSING_PARSER_H_
OLDNEW
« no previous file with comments | « src/js/math.js ('k') | src/parsing/parser.cc » ('j') | src/parsing/parser-base.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698