| 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 853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 864 private: | 864 private: |
| 865 Literal* key_; | 865 Literal* key_; |
| 866 Expression* value_; | 866 Expression* value_; |
| 867 Kind kind_; | 867 Kind kind_; |
| 868 }; | 868 }; |
| 869 | 869 |
| 870 ObjectLiteral(Handle<FixedArray> constant_properties, | 870 ObjectLiteral(Handle<FixedArray> constant_properties, |
| 871 ZoneList<Property*>* properties, | 871 ZoneList<Property*>* properties, |
| 872 int literal_index, | 872 int literal_index, |
| 873 bool is_simple, | 873 bool is_simple, |
| 874 bool fast_elements, |
| 874 int depth) | 875 int depth) |
| 875 : MaterializedLiteral(literal_index, is_simple, depth), | 876 : MaterializedLiteral(literal_index, is_simple, depth), |
| 876 constant_properties_(constant_properties), | 877 constant_properties_(constant_properties), |
| 877 properties_(properties) {} | 878 properties_(properties), |
| 879 fast_elements_(fast_elements) {} |
| 878 | 880 |
| 879 virtual ObjectLiteral* AsObjectLiteral() { return this; } | 881 virtual ObjectLiteral* AsObjectLiteral() { return this; } |
| 880 virtual void Accept(AstVisitor* v); | 882 virtual void Accept(AstVisitor* v); |
| 881 | 883 |
| 882 virtual bool IsLeaf() { return properties()->is_empty(); } | 884 virtual bool IsLeaf() { return properties()->is_empty(); } |
| 883 | 885 |
| 884 Handle<FixedArray> constant_properties() const { | 886 Handle<FixedArray> constant_properties() const { |
| 885 return constant_properties_; | 887 return constant_properties_; |
| 886 } | 888 } |
| 887 ZoneList<Property*>* properties() const { return properties_; } | 889 ZoneList<Property*>* properties() const { return properties_; } |
| 888 | 890 |
| 891 bool fast_elements() const { return fast_elements_; } |
| 892 |
| 889 private: | 893 private: |
| 890 Handle<FixedArray> constant_properties_; | 894 Handle<FixedArray> constant_properties_; |
| 891 ZoneList<Property*>* properties_; | 895 ZoneList<Property*>* properties_; |
| 896 bool fast_elements_; |
| 892 }; | 897 }; |
| 893 | 898 |
| 894 | 899 |
| 895 // Node for capturing a regexp literal. | 900 // Node for capturing a regexp literal. |
| 896 class RegExpLiteral: public MaterializedLiteral { | 901 class RegExpLiteral: public MaterializedLiteral { |
| 897 public: | 902 public: |
| 898 RegExpLiteral(Handle<String> pattern, | 903 RegExpLiteral(Handle<String> pattern, |
| 899 Handle<String> flags, | 904 Handle<String> flags, |
| 900 int literal_index) | 905 int literal_index) |
| 901 : MaterializedLiteral(literal_index, false, 1), | 906 : MaterializedLiteral(literal_index, false, 1), |
| (...skipping 1003 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1905 #undef DEF_VISIT | 1910 #undef DEF_VISIT |
| 1906 | 1911 |
| 1907 private: | 1912 private: |
| 1908 bool stack_overflow_; | 1913 bool stack_overflow_; |
| 1909 }; | 1914 }; |
| 1910 | 1915 |
| 1911 | 1916 |
| 1912 } } // namespace v8::internal | 1917 } } // namespace v8::internal |
| 1913 | 1918 |
| 1914 #endif // V8_AST_H_ | 1919 #endif // V8_AST_H_ |
| OLD | NEW |