OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1489 void BindTo(Variable* var); | 1489 void BindTo(Variable* var); |
1490 | 1490 |
1491 protected: | 1491 protected: |
1492 template<class> friend class AstNodeFactory; | 1492 template<class> friend class AstNodeFactory; |
1493 | 1493 |
1494 VariableProxy(Isolate* isolate, Variable* var); | 1494 VariableProxy(Isolate* isolate, Variable* var); |
1495 | 1495 |
1496 VariableProxy(Isolate* isolate, | 1496 VariableProxy(Isolate* isolate, |
1497 Handle<String> name, | 1497 Handle<String> name, |
1498 bool is_this, | 1498 bool is_this, |
1499 int position, | 1499 Interface* interface, |
1500 Interface* interface); | 1500 int position); |
1501 | 1501 |
1502 Handle<String> name_; | 1502 Handle<String> name_; |
1503 Variable* var_; // resolved variable, or NULL | 1503 Variable* var_; // resolved variable, or NULL |
1504 bool is_this_; | 1504 bool is_this_; |
1505 bool is_trivial_; | 1505 bool is_trivial_; |
1506 // True if this variable proxy is being used in an assignment | 1506 // True if this variable proxy is being used in an assignment |
1507 // or with a increment/decrement operator. | 1507 // or with a increment/decrement operator. |
1508 bool is_lvalue_; | 1508 bool is_lvalue_; |
1509 int position_; | 1509 int position_; |
1510 Interface* interface_; | 1510 Interface* interface_; |
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2839 VISIT_AND_RETURN(ArrayLiteral, lit) | 2839 VISIT_AND_RETURN(ArrayLiteral, lit) |
2840 } | 2840 } |
2841 | 2841 |
2842 VariableProxy* NewVariableProxy(Variable* var) { | 2842 VariableProxy* NewVariableProxy(Variable* var) { |
2843 VariableProxy* proxy = new(zone_) VariableProxy(isolate_, var); | 2843 VariableProxy* proxy = new(zone_) VariableProxy(isolate_, var); |
2844 VISIT_AND_RETURN(VariableProxy, proxy) | 2844 VISIT_AND_RETURN(VariableProxy, proxy) |
2845 } | 2845 } |
2846 | 2846 |
2847 VariableProxy* NewVariableProxy(Handle<String> name, | 2847 VariableProxy* NewVariableProxy(Handle<String> name, |
2848 bool is_this, | 2848 bool is_this, |
2849 int position = RelocInfo::kNoPosition, | 2849 Interface* interface = Interface::NewValue(), |
2850 Interface* interface = | 2850 int position = RelocInfo::kNoPosition) { |
2851 Interface::NewValue()) { | |
2852 VariableProxy* proxy = | 2851 VariableProxy* proxy = |
2853 new(zone_) VariableProxy(isolate_, name, is_this, position, interface); | 2852 new(zone_) VariableProxy(isolate_, name, is_this, interface, position); |
2854 VISIT_AND_RETURN(VariableProxy, proxy) | 2853 VISIT_AND_RETURN(VariableProxy, proxy) |
2855 } | 2854 } |
2856 | 2855 |
2857 Property* NewProperty(Expression* obj, Expression* key, int pos) { | 2856 Property* NewProperty(Expression* obj, Expression* key, int pos) { |
2858 Property* prop = new(zone_) Property(isolate_, obj, key, pos); | 2857 Property* prop = new(zone_) Property(isolate_, obj, key, pos); |
2859 VISIT_AND_RETURN(Property, prop) | 2858 VISIT_AND_RETURN(Property, prop) |
2860 } | 2859 } |
2861 | 2860 |
2862 Call* NewCall(Expression* expression, | 2861 Call* NewCall(Expression* expression, |
2863 ZoneList<Expression*>* arguments, | 2862 ZoneList<Expression*>* arguments, |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2984 private: | 2983 private: |
2985 Isolate* isolate_; | 2984 Isolate* isolate_; |
2986 Zone* zone_; | 2985 Zone* zone_; |
2987 Visitor visitor_; | 2986 Visitor visitor_; |
2988 }; | 2987 }; |
2989 | 2988 |
2990 | 2989 |
2991 } } // namespace v8::internal | 2990 } } // namespace v8::internal |
2992 | 2991 |
2993 #endif // V8_AST_H_ | 2992 #endif // V8_AST_H_ |
OLD | NEW |