OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |