OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_AST_H_ | 5 #ifndef V8_AST_H_ |
6 #define V8_AST_H_ | 6 #define V8_AST_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 | 355 |
356 // True iff the expression is a string literal. | 356 // True iff the expression is a string literal. |
357 bool IsStringLiteral() const; | 357 bool IsStringLiteral() const; |
358 | 358 |
359 // True iff the expression is the null literal. | 359 // True iff the expression is the null literal. |
360 bool IsNullLiteral() const; | 360 bool IsNullLiteral() const; |
361 | 361 |
362 // True if we can prove that the expression is the undefined literal. | 362 // True if we can prove that the expression is the undefined literal. |
363 bool IsUndefinedLiteral(Isolate* isolate) const; | 363 bool IsUndefinedLiteral(Isolate* isolate) const; |
364 | 364 |
| 365 // True iff the expression represents a variable or a property. |
| 366 bool IsVariableProxyOrProperty() const; |
| 367 |
365 // Expression type bounds | 368 // Expression type bounds |
366 Bounds bounds() const { return bounds_; } | 369 Bounds bounds() const { return bounds_; } |
367 void set_bounds(Bounds bounds) { bounds_ = bounds; } | 370 void set_bounds(Bounds bounds) { bounds_ = bounds; } |
368 | 371 |
369 // Type feedback information for assignments and properties. | 372 // Type feedback information for assignments and properties. |
370 virtual bool IsMonomorphic() { | 373 virtual bool IsMonomorphic() { |
371 UNREACHABLE(); | 374 UNREACHABLE(); |
372 return false; | 375 return false; |
373 } | 376 } |
374 virtual SmallMapList* GetReceiverTypes() { | 377 virtual SmallMapList* GetReceiverTypes() { |
(...skipping 3248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3623 | 3626 |
3624 private: | 3627 private: |
3625 Zone* zone_; | 3628 Zone* zone_; |
3626 AstValueFactory* ast_value_factory_; | 3629 AstValueFactory* ast_value_factory_; |
3627 }; | 3630 }; |
3628 | 3631 |
3629 | 3632 |
3630 } } // namespace v8::internal | 3633 } } // namespace v8::internal |
3631 | 3634 |
3632 #endif // V8_AST_H_ | 3635 #endif // V8_AST_H_ |
OLD | NEW |