OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 809 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 | 820 |
821 private: | 821 private: |
822 Handle<String> pattern_; | 822 Handle<String> pattern_; |
823 Handle<String> flags_; | 823 Handle<String> flags_; |
824 }; | 824 }; |
825 | 825 |
826 // An array literal has a literals object that is used | 826 // An array literal has a literals object that is used |
827 // for minimizing the work when constructing it at runtime. | 827 // for minimizing the work when constructing it at runtime. |
828 class ArrayLiteral: public MaterializedLiteral { | 828 class ArrayLiteral: public MaterializedLiteral { |
829 public: | 829 public: |
830 ArrayLiteral(Handle<FixedArray> literals, | 830 ArrayLiteral(Handle<FixedArray> constant_elements, |
831 ZoneList<Expression*>* values, | 831 ZoneList<Expression*>* values, |
832 int literal_index, | 832 int literal_index, |
833 bool is_simple, | 833 bool is_simple, |
834 int depth) | 834 int depth) |
835 : MaterializedLiteral(literal_index, is_simple, depth), | 835 : MaterializedLiteral(literal_index, is_simple, depth), |
836 literals_(literals), | 836 constant_elements_(constant_elements), |
837 values_(values) {} | 837 values_(values) {} |
838 | 838 |
839 virtual void Accept(AstVisitor* v); | 839 virtual void Accept(AstVisitor* v); |
840 virtual ArrayLiteral* AsArrayLiteral() { return this; } | 840 virtual ArrayLiteral* AsArrayLiteral() { return this; } |
841 virtual bool IsValidJSON(); | 841 virtual bool IsValidJSON(); |
842 | 842 |
843 Handle<FixedArray> literals() const { return literals_; } | 843 Handle<FixedArray> constant_elements() const { return constant_elements_; } |
844 ZoneList<Expression*>* values() const { return values_; } | 844 ZoneList<Expression*>* values() const { return values_; } |
845 | 845 |
846 private: | 846 private: |
847 Handle<FixedArray> literals_; | 847 Handle<FixedArray> constant_elements_; |
848 ZoneList<Expression*>* values_; | 848 ZoneList<Expression*>* values_; |
849 }; | 849 }; |
850 | 850 |
851 | 851 |
852 // Node for constructing a context extension object for a catch block. | 852 // Node for constructing a context extension object for a catch block. |
853 // The catch context extension object has one property, the catch | 853 // The catch context extension object has one property, the catch |
854 // variable, which should be DontDelete. | 854 // variable, which should be DontDelete. |
855 class CatchExtensionObject: public Expression { | 855 class CatchExtensionObject: public Expression { |
856 public: | 856 public: |
857 CatchExtensionObject(Literal* key, VariableProxy* value) | 857 CatchExtensionObject(Literal* key, VariableProxy* value) |
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1792 #undef DEF_VISIT | 1792 #undef DEF_VISIT |
1793 | 1793 |
1794 private: | 1794 private: |
1795 bool stack_overflow_; | 1795 bool stack_overflow_; |
1796 }; | 1796 }; |
1797 | 1797 |
1798 | 1798 |
1799 } } // namespace v8::internal | 1799 } } // namespace v8::internal |
1800 | 1800 |
1801 #endif // V8_AST_H_ | 1801 #endif // V8_AST_H_ |
OLD | NEW |