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

Side by Side Diff: src/parser.h

Issue 7756014: Detect conflicting variable bindings in harmony mode. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 3 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 bool* ok); 638 bool* ok);
639 639
640 // Strict mode validation of LValue expressions 640 // Strict mode validation of LValue expressions
641 void CheckStrictModeLValue(Expression* expression, 641 void CheckStrictModeLValue(Expression* expression,
642 const char* error, 642 const char* error,
643 bool* ok); 643 bool* ok);
644 644
645 // Strict mode octal literal validation. 645 // Strict mode octal literal validation.
646 void CheckOctalLiteral(int beg_pos, int end_pos, bool* ok); 646 void CheckOctalLiteral(int beg_pos, int end_pos, bool* ok);
647 647
648 // For harmony block scoping mode: Check if the scope has conflicting var
649 // declarations, i.e. a var declaration that has been hoisted from a nested
650 // scope over a let binding of the same name.
Lasse Reichstein 2011/09/01 07:34:04 Be more explicit (define what you mean by "over",
Steven 2011/09/01 15:01:33 Done.
651 void CheckConflictingVarDeclarations(Scope* scope, bool* ok);
652
648 // Parser support 653 // Parser support
649 VariableProxy* Declare(Handle<String> name, Variable::Mode mode, 654 VariableProxy* Declare(Handle<String> name, Variable::Mode mode,
650 FunctionLiteral* fun, 655 FunctionLiteral* fun,
651 bool resolve, 656 bool resolve,
652 bool* ok); 657 bool* ok);
653 658
654 bool TargetStackContainsLabel(Handle<String> label); 659 bool TargetStackContainsLabel(Handle<String> label);
655 BreakableStatement* LookupBreakTarget(Handle<String> label, bool* ok); 660 BreakableStatement* LookupBreakTarget(Handle<String> label, bool* ok);
656 IterationStatement* LookupContinueTarget(Handle<String> label, bool* ok); 661 IterationStatement* LookupContinueTarget(Handle<String> label, bool* ok);
657 662
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 private: 763 private:
759 static const int kTypeSlot = 0; 764 static const int kTypeSlot = 0;
760 static const int kElementsSlot = 1; 765 static const int kElementsSlot = 1;
761 766
762 DISALLOW_IMPLICIT_CONSTRUCTORS(CompileTimeValue); 767 DISALLOW_IMPLICIT_CONSTRUCTORS(CompileTimeValue);
763 }; 768 };
764 769
765 } } // namespace v8::internal 770 } } // namespace v8::internal
766 771
767 #endif // V8_PARSER_H_ 772 #endif // V8_PARSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698