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

Side by Side Diff: src/ast.h

Issue 6144005: Early draft of strict mode (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Removing parameter validation; Created 9 years, 11 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/flag-definitions.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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 1654 matching lines...) Expand 10 before | Expand all | Expand 10 after
1665 Scope* scope, 1665 Scope* scope,
1666 ZoneList<Statement*>* body, 1666 ZoneList<Statement*>* body,
1667 int materialized_literal_count, 1667 int materialized_literal_count,
1668 int expected_property_count, 1668 int expected_property_count,
1669 bool has_only_simple_this_property_assignments, 1669 bool has_only_simple_this_property_assignments,
1670 Handle<FixedArray> this_property_assignments, 1670 Handle<FixedArray> this_property_assignments,
1671 int num_parameters, 1671 int num_parameters,
1672 int start_position, 1672 int start_position,
1673 int end_position, 1673 int end_position,
1674 bool is_expression, 1674 bool is_expression,
1675 bool contains_loops) 1675 bool contains_loops,
1676 bool strict_mode)
1676 : name_(name), 1677 : name_(name),
1677 scope_(scope), 1678 scope_(scope),
1678 body_(body), 1679 body_(body),
1679 materialized_literal_count_(materialized_literal_count), 1680 materialized_literal_count_(materialized_literal_count),
1680 expected_property_count_(expected_property_count), 1681 expected_property_count_(expected_property_count),
1681 has_only_simple_this_property_assignments_( 1682 has_only_simple_this_property_assignments_(
1682 has_only_simple_this_property_assignments), 1683 has_only_simple_this_property_assignments),
1683 this_property_assignments_(this_property_assignments), 1684 this_property_assignments_(this_property_assignments),
1684 num_parameters_(num_parameters), 1685 num_parameters_(num_parameters),
1685 start_position_(start_position), 1686 start_position_(start_position),
1686 end_position_(end_position), 1687 end_position_(end_position),
1687 is_expression_(is_expression), 1688 is_expression_(is_expression),
1688 contains_loops_(contains_loops), 1689 contains_loops_(contains_loops),
1690 strict_mode_(strict_mode),
1689 function_token_position_(RelocInfo::kNoPosition), 1691 function_token_position_(RelocInfo::kNoPosition),
1690 inferred_name_(Heap::empty_string()), 1692 inferred_name_(Heap::empty_string()),
1691 try_full_codegen_(false), 1693 try_full_codegen_(false),
1692 pretenure_(false) { } 1694 pretenure_(false) { }
1693 1695
1694 DECLARE_NODE_TYPE(FunctionLiteral) 1696 DECLARE_NODE_TYPE(FunctionLiteral)
1695 1697
1696 Handle<String> name() const { return name_; } 1698 Handle<String> name() const { return name_; }
1697 Scope* scope() const { return scope_; } 1699 Scope* scope() const { return scope_; }
1698 ZoneList<Statement*>* body() const { return body_; } 1700 ZoneList<Statement*>* body() const { return body_; }
1699 void set_function_token_position(int pos) { function_token_position_ = pos; } 1701 void set_function_token_position(int pos) { function_token_position_ = pos; }
1700 int function_token_position() const { return function_token_position_; } 1702 int function_token_position() const { return function_token_position_; }
1701 int start_position() const { return start_position_; } 1703 int start_position() const { return start_position_; }
1702 int end_position() const { return end_position_; } 1704 int end_position() const { return end_position_; }
1703 bool is_expression() const { return is_expression_; } 1705 bool is_expression() const { return is_expression_; }
1704 bool contains_loops() const { return contains_loops_; } 1706 bool contains_loops() const { return contains_loops_; }
1707 bool strict_mode() const { return strict_mode_; }
1705 1708
1706 int materialized_literal_count() { return materialized_literal_count_; } 1709 int materialized_literal_count() { return materialized_literal_count_; }
1707 int expected_property_count() { return expected_property_count_; } 1710 int expected_property_count() { return expected_property_count_; }
1708 bool has_only_simple_this_property_assignments() { 1711 bool has_only_simple_this_property_assignments() {
1709 return has_only_simple_this_property_assignments_; 1712 return has_only_simple_this_property_assignments_;
1710 } 1713 }
1711 Handle<FixedArray> this_property_assignments() { 1714 Handle<FixedArray> this_property_assignments() {
1712 return this_property_assignments_; 1715 return this_property_assignments_;
1713 } 1716 }
1714 int num_parameters() { return num_parameters_; } 1717 int num_parameters() { return num_parameters_; }
(...skipping 23 matching lines...) Expand all
1738 ZoneList<Statement*>* body_; 1741 ZoneList<Statement*>* body_;
1739 int materialized_literal_count_; 1742 int materialized_literal_count_;
1740 int expected_property_count_; 1743 int expected_property_count_;
1741 bool has_only_simple_this_property_assignments_; 1744 bool has_only_simple_this_property_assignments_;
1742 Handle<FixedArray> this_property_assignments_; 1745 Handle<FixedArray> this_property_assignments_;
1743 int num_parameters_; 1746 int num_parameters_;
1744 int start_position_; 1747 int start_position_;
1745 int end_position_; 1748 int end_position_;
1746 bool is_expression_; 1749 bool is_expression_;
1747 bool contains_loops_; 1750 bool contains_loops_;
1751 bool strict_mode_;
1748 int function_token_position_; 1752 int function_token_position_;
1749 Handle<String> inferred_name_; 1753 Handle<String> inferred_name_;
1750 bool try_full_codegen_; 1754 bool try_full_codegen_;
1751 bool pretenure_; 1755 bool pretenure_;
1752 }; 1756 };
1753 1757
1754 1758
1755 class SharedFunctionInfoLiteral: public Expression { 1759 class SharedFunctionInfoLiteral: public Expression {
1756 public: 1760 public:
1757 explicit SharedFunctionInfoLiteral( 1761 explicit SharedFunctionInfoLiteral(
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
2164 AST_NODE_LIST(DEF_VISIT) 2168 AST_NODE_LIST(DEF_VISIT)
2165 #undef DEF_VISIT 2169 #undef DEF_VISIT
2166 2170
2167 private: 2171 private:
2168 bool stack_overflow_; 2172 bool stack_overflow_;
2169 }; 2173 };
2170 2174
2171 } } // namespace v8::internal 2175 } } // namespace v8::internal
2172 2176
2173 #endif // V8_AST_H_ 2177 #endif // V8_AST_H_
OLDNEW
« no previous file with comments | « no previous file | src/flag-definitions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698