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_PROPERTY_DETAILS_H_ | 5 #ifndef V8_PROPERTY_DETAILS_H_ |
6 #define V8_PROPERTY_DETAILS_H_ | 6 #define V8_PROPERTY_DETAILS_H_ |
7 | 7 |
8 #include "include/v8.h" | 8 #include "include/v8.h" |
9 #include "src/allocation.h" | 9 #include "src/allocation.h" |
10 #include "src/utils.h" | 10 #include "src/utils.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 // Enable fast comparisons of PropertyAttributes against PropertyFilters. | 49 // Enable fast comparisons of PropertyAttributes against PropertyFilters. |
50 STATIC_ASSERT(ALL_PROPERTIES == static_cast<PropertyFilter>(NONE)); | 50 STATIC_ASSERT(ALL_PROPERTIES == static_cast<PropertyFilter>(NONE)); |
51 STATIC_ASSERT(ONLY_WRITABLE == static_cast<PropertyFilter>(READ_ONLY)); | 51 STATIC_ASSERT(ONLY_WRITABLE == static_cast<PropertyFilter>(READ_ONLY)); |
52 STATIC_ASSERT(ONLY_ENUMERABLE == static_cast<PropertyFilter>(DONT_ENUM)); | 52 STATIC_ASSERT(ONLY_ENUMERABLE == static_cast<PropertyFilter>(DONT_ENUM)); |
53 STATIC_ASSERT(ONLY_CONFIGURABLE == static_cast<PropertyFilter>(DONT_DELETE)); | 53 STATIC_ASSERT(ONLY_CONFIGURABLE == static_cast<PropertyFilter>(DONT_DELETE)); |
54 STATIC_ASSERT(((SKIP_STRINGS | SKIP_SYMBOLS | ONLY_ALL_CAN_READ) & | 54 STATIC_ASSERT(((SKIP_STRINGS | SKIP_SYMBOLS | ONLY_ALL_CAN_READ) & |
55 ALL_ATTRIBUTES_MASK) == 0); | 55 ALL_ATTRIBUTES_MASK) == 0); |
56 | 56 |
57 | 57 |
58 class Smi; | 58 class Smi; |
59 template<class> class TypeImpl; | 59 class Type; |
60 struct ZoneTypeConfig; | |
61 typedef TypeImpl<ZoneTypeConfig> Type; | |
62 class TypeInfo; | 60 class TypeInfo; |
63 | 61 |
64 // Type of properties. | 62 // Type of properties. |
65 // Order of kinds is significant. | 63 // Order of kinds is significant. |
66 // Must fit in the BitField PropertyDetails::KindField. | 64 // Must fit in the BitField PropertyDetails::KindField. |
67 enum PropertyKind { kData = 0, kAccessor = 1 }; | 65 enum PropertyKind { kData = 0, kAccessor = 1 }; |
68 | 66 |
69 | 67 |
70 // Order of modes is significant. | 68 // Order of modes is significant. |
71 // Must fit in the BitField PropertyDetails::StoreModeField. | 69 // Must fit in the BitField PropertyDetails::StoreModeField. |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 }; | 387 }; |
390 | 388 |
391 | 389 |
392 std::ostream& operator<<(std::ostream& os, | 390 std::ostream& operator<<(std::ostream& os, |
393 const PropertyAttributes& attributes); | 391 const PropertyAttributes& attributes); |
394 std::ostream& operator<<(std::ostream& os, const PropertyDetails& details); | 392 std::ostream& operator<<(std::ostream& os, const PropertyDetails& details); |
395 } // namespace internal | 393 } // namespace internal |
396 } // namespace v8 | 394 } // namespace v8 |
397 | 395 |
398 #endif // V8_PROPERTY_DETAILS_H_ | 396 #endif // V8_PROPERTY_DETAILS_H_ |
OLD | NEW |