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

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

Issue 1704223002: Remove strong mode support from Scope and Variable (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove test-parsing test 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
« no previous file with comments | « src/parsing/parser.cc ('k') | test/cctest/test-parsing.cc » ('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_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 1717 matching lines...) Expand 10 before | Expand all | Expand 10 after
1728 1728
1729 FunctionKind kind = is_generator ? FunctionKind::kConciseGeneratorMethod 1729 FunctionKind kind = is_generator ? FunctionKind::kConciseGeneratorMethod
1730 : FunctionKind::kConciseMethod; 1730 : FunctionKind::kConciseMethod;
1731 1731
1732 if (in_class && !is_static && this->IsConstructor(*name)) { 1732 if (in_class && !is_static && this->IsConstructor(*name)) {
1733 *has_seen_constructor = true; 1733 *has_seen_constructor = true;
1734 kind = has_extends ? FunctionKind::kSubclassConstructor 1734 kind = has_extends ? FunctionKind::kSubclassConstructor
1735 : FunctionKind::kBaseConstructor; 1735 : FunctionKind::kBaseConstructor;
1736 } 1736 }
1737 1737
1738 if (!in_class) kind = WithObjectLiteralBit(kind);
1739
1740 value = this->ParseFunctionLiteral( 1738 value = this->ParseFunctionLiteral(
1741 *name, scanner()->location(), kSkipFunctionNameCheck, kind, 1739 *name, scanner()->location(), kSkipFunctionNameCheck, kind,
1742 RelocInfo::kNoPosition, FunctionLiteral::kAnonymousExpression, 1740 RelocInfo::kNoPosition, FunctionLiteral::kAnonymousExpression,
1743 FunctionLiteral::kNormalArity, language_mode(), 1741 FunctionLiteral::kNormalArity, language_mode(),
1744 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty)); 1742 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty));
1745 1743
1746 return factory()->NewObjectLiteralProperty(name_expression, value, 1744 return factory()->NewObjectLiteralProperty(name_expression, value,
1747 ObjectLiteralProperty::COMPUTED, 1745 ObjectLiteralProperty::COMPUTED,
1748 is_static, *is_computed_name); 1746 is_static, *is_computed_name);
1749 } 1747 }
(...skipping 21 matching lines...) Expand all
1771 name_expression = ParsePropertyName( 1769 name_expression = ParsePropertyName(
1772 name, &dont_care, &dont_care, is_computed_name, classifier, 1770 name, &dont_care, &dont_care, is_computed_name, classifier,
1773 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty)); 1771 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty));
1774 1772
1775 if (!*is_computed_name) { 1773 if (!*is_computed_name) {
1776 checker->CheckProperty(name_token, kAccessorProperty, is_static, 1774 checker->CheckProperty(name_token, kAccessorProperty, is_static,
1777 is_generator, 1775 is_generator,
1778 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty)); 1776 CHECK_OK_CUSTOM(EmptyObjectLiteralProperty));
1779 } 1777 }
1780 1778
1781 FunctionKind kind = FunctionKind::kAccessorFunction;
1782 if (!in_class) kind = WithObjectLiteralBit(kind);
1783 typename Traits::Type::FunctionLiteral value = this->ParseFunctionLiteral( 1779 typename Traits::Type::FunctionLiteral value = this->ParseFunctionLiteral(
1784 *name, scanner()->location(), kSkipFunctionNameCheck, kind, 1780 *name, scanner()->location(), kSkipFunctionNameCheck,
1785 RelocInfo::kNoPosition, FunctionLiteral::kAnonymousExpression, 1781 FunctionKind::kAccessorFunction, RelocInfo::kNoPosition,
1782 FunctionLiteral::kAnonymousExpression,
1786 is_get ? FunctionLiteral::kGetterArity : FunctionLiteral::kSetterArity, 1783 is_get ? FunctionLiteral::kGetterArity : FunctionLiteral::kSetterArity,
1787 language_mode(), CHECK_OK_CUSTOM(EmptyObjectLiteralProperty)); 1784 language_mode(), CHECK_OK_CUSTOM(EmptyObjectLiteralProperty));
1788 1785
1789 // Make sure the name expression is a string since we need a Name for 1786 // Make sure the name expression is a string since we need a Name for
1790 // Runtime_DefineAccessorPropertyUnchecked and since we can determine this 1787 // Runtime_DefineAccessorPropertyUnchecked and since we can determine this
1791 // statically we can skip the extra runtime check. 1788 // statically we can skip the extra runtime check.
1792 if (!*is_computed_name) { 1789 if (!*is_computed_name) {
1793 name_expression = 1790 name_expression =
1794 factory()->NewStringLiteral(*name, name_expression->position()); 1791 factory()->NewStringLiteral(*name, name_expression->position());
1795 } 1792 }
(...skipping 1567 matching lines...) Expand 10 before | Expand all | Expand 10 after
3363 return; 3360 return;
3364 } 3361 }
3365 has_seen_constructor_ = true; 3362 has_seen_constructor_ = true;
3366 return; 3363 return;
3367 } 3364 }
3368 } 3365 }
3369 } // namespace internal 3366 } // namespace internal
3370 } // namespace v8 3367 } // namespace v8
3371 3368
3372 #endif // V8_PARSING_PARSER_BASE_H 3369 #endif // V8_PARSING_PARSER_BASE_H
OLDNEW
« no previous file with comments | « src/parsing/parser.cc ('k') | test/cctest/test-parsing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698