Chromium Code Reviews| 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 124 template <class T> class Handle; | 124 template <class T> class Handle; |
| 125 template <class T> class Local; | 125 template <class T> class Local; |
| 126 template <class T> class Persistent; | 126 template <class T> class Persistent; |
| 127 class FunctionTemplate; | 127 class FunctionTemplate; |
| 128 class ObjectTemplate; | 128 class ObjectTemplate; |
| 129 class Data; | 129 class Data; |
| 130 class AccessorInfo; | 130 class AccessorInfo; |
| 131 class StackTrace; | 131 class StackTrace; |
| 132 class StackFrame; | 132 class StackFrame; |
| 133 class Isolate; | 133 class Isolate; |
| 134 class DeclaredAccessorDescriptor; | |
| 135 class ObjectOperationDescriptor; | |
| 136 class RawOperationDescriptor; | |
| 134 | 137 |
| 135 namespace internal { | 138 namespace internal { |
| 136 | 139 |
| 137 class Arguments; | 140 class Arguments; |
| 138 class Object; | 141 class Object; |
| 139 class Heap; | 142 class Heap; |
| 140 class HeapObject; | 143 class HeapObject; |
| 141 class Isolate; | 144 class Isolate; |
| 142 } | 145 } |
| 143 | 146 |
| (...skipping 1455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1599 | 1602 |
| 1600 bool Delete(uint32_t index); | 1603 bool Delete(uint32_t index); |
| 1601 | 1604 |
| 1602 bool SetAccessor(Handle<String> name, | 1605 bool SetAccessor(Handle<String> name, |
| 1603 AccessorGetter getter, | 1606 AccessorGetter getter, |
| 1604 AccessorSetter setter = 0, | 1607 AccessorSetter setter = 0, |
| 1605 Handle<Value> data = Handle<Value>(), | 1608 Handle<Value> data = Handle<Value>(), |
| 1606 AccessControl settings = DEFAULT, | 1609 AccessControl settings = DEFAULT, |
| 1607 PropertyAttribute attribute = None); | 1610 PropertyAttribute attribute = None); |
| 1608 | 1611 |
| 1612 bool SetAccessor(Handle<String> name, | |
|
Sven Panne
2013/03/07 08:18:48
Add some kind of warning comment that this part of
| |
| 1613 Handle<DeclaredAccessorDescriptor> descriptor, | |
| 1614 AccessControl settings = DEFAULT, | |
| 1615 PropertyAttribute attribute = None); | |
| 1616 | |
| 1609 /** | 1617 /** |
| 1610 * Returns an array containing the names of the enumerable properties | 1618 * Returns an array containing the names of the enumerable properties |
| 1611 * of this object, including properties from prototype objects. The | 1619 * of this object, including properties from prototype objects. The |
| 1612 * array returned by this method contains the same values as would | 1620 * array returned by this method contains the same values as would |
| 1613 * be enumerated by a for-in statement over this object. | 1621 * be enumerated by a for-in statement over this object. |
| 1614 */ | 1622 */ |
| 1615 Local<Array> GetPropertyNames(); | 1623 Local<Array> GetPropertyNames(); |
| 1616 | 1624 |
| 1617 /** | 1625 /** |
| 1618 * This function has the same functionality as GetPropertyNames but | 1626 * This function has the same functionality as GetPropertyNames but |
| (...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2370 void ReadOnlyPrototype(); | 2378 void ReadOnlyPrototype(); |
| 2371 | 2379 |
| 2372 /** | 2380 /** |
| 2373 * Returns true if the given object is an instance of this function | 2381 * Returns true if the given object is an instance of this function |
| 2374 * template. | 2382 * template. |
| 2375 */ | 2383 */ |
| 2376 bool HasInstance(Handle<Value> object); | 2384 bool HasInstance(Handle<Value> object); |
| 2377 | 2385 |
| 2378 private: | 2386 private: |
| 2379 FunctionTemplate(); | 2387 FunctionTemplate(); |
| 2380 void AddInstancePropertyAccessor(Handle<String> name, | |
| 2381 AccessorGetter getter, | |
| 2382 AccessorSetter setter, | |
| 2383 Handle<Value> data, | |
| 2384 AccessControl settings, | |
| 2385 PropertyAttribute attributes, | |
| 2386 Handle<AccessorSignature> signature); | |
| 2387 void SetNamedInstancePropertyHandler(NamedPropertyGetter getter, | 2388 void SetNamedInstancePropertyHandler(NamedPropertyGetter getter, |
| 2388 NamedPropertySetter setter, | 2389 NamedPropertySetter setter, |
| 2389 NamedPropertyQuery query, | 2390 NamedPropertyQuery query, |
| 2390 NamedPropertyDeleter remover, | 2391 NamedPropertyDeleter remover, |
| 2391 NamedPropertyEnumerator enumerator, | 2392 NamedPropertyEnumerator enumerator, |
| 2392 Handle<Value> data); | 2393 Handle<Value> data); |
| 2393 void SetIndexedInstancePropertyHandler(IndexedPropertyGetter getter, | 2394 void SetIndexedInstancePropertyHandler(IndexedPropertyGetter getter, |
| 2394 IndexedPropertySetter setter, | 2395 IndexedPropertySetter setter, |
| 2395 IndexedPropertyQuery query, | 2396 IndexedPropertyQuery query, |
| 2396 IndexedPropertyDeleter remover, | 2397 IndexedPropertyDeleter remover, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2449 */ | 2450 */ |
| 2450 void SetAccessor(Handle<String> name, | 2451 void SetAccessor(Handle<String> name, |
| 2451 AccessorGetter getter, | 2452 AccessorGetter getter, |
| 2452 AccessorSetter setter = 0, | 2453 AccessorSetter setter = 0, |
| 2453 Handle<Value> data = Handle<Value>(), | 2454 Handle<Value> data = Handle<Value>(), |
| 2454 AccessControl settings = DEFAULT, | 2455 AccessControl settings = DEFAULT, |
| 2455 PropertyAttribute attribute = None, | 2456 PropertyAttribute attribute = None, |
| 2456 Handle<AccessorSignature> signature = | 2457 Handle<AccessorSignature> signature = |
| 2457 Handle<AccessorSignature>()); | 2458 Handle<AccessorSignature>()); |
| 2458 | 2459 |
| 2460 bool SetAccessor(Handle<String> name, | |
|
Sven Panne
2013/03/07 08:18:48
Same here...
| |
| 2461 Handle<DeclaredAccessorDescriptor> descriptor, | |
| 2462 AccessControl settings = DEFAULT, | |
| 2463 PropertyAttribute attribute = None, | |
| 2464 Handle<AccessorSignature> signature = | |
| 2465 Handle<AccessorSignature>()); | |
| 2466 | |
| 2459 /** | 2467 /** |
| 2460 * Sets a named property handler on the object template. | 2468 * Sets a named property handler on the object template. |
| 2461 * | 2469 * |
| 2462 * Whenever a named property is accessed on objects created from | 2470 * Whenever a named property is accessed on objects created from |
| 2463 * this object template, the provided callback is invoked instead of | 2471 * this object template, the provided callback is invoked instead of |
| 2464 * accessing the property directly on the JavaScript object. | 2472 * accessing the property directly on the JavaScript object. |
| 2465 * | 2473 * |
| 2466 * \param getter The callback to invoke when getting a property. | 2474 * \param getter The callback to invoke when getting a property. |
| 2467 * \param setter The callback to invoke when setting a property. | 2475 * \param setter The callback to invoke when setting a property. |
| 2468 * \param query The callback to invoke to check if a property is present, | 2476 * \param query The callback to invoke to check if a property is present, |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2578 */ | 2586 */ |
| 2579 class V8EXPORT AccessorSignature : public Data { | 2587 class V8EXPORT AccessorSignature : public Data { |
| 2580 public: | 2588 public: |
| 2581 static Local<AccessorSignature> New(Handle<FunctionTemplate> receiver = | 2589 static Local<AccessorSignature> New(Handle<FunctionTemplate> receiver = |
| 2582 Handle<FunctionTemplate>()); | 2590 Handle<FunctionTemplate>()); |
| 2583 private: | 2591 private: |
| 2584 AccessorSignature(); | 2592 AccessorSignature(); |
| 2585 }; | 2593 }; |
| 2586 | 2594 |
| 2587 | 2595 |
| 2596 class V8EXPORT DeclaredAccessorDescriptor : public Data { | |
| 2597 private: | |
| 2598 DeclaredAccessorDescriptor(); | |
| 2599 }; | |
| 2600 | |
| 2601 | |
| 2602 class V8EXPORT ObjectOperationDescriptor : public Data { | |
| 2603 public: | |
| 2604 static Local<RawOperationDescriptor> New(Isolate* isolate, | |
|
Sven Panne
2013/03/07 08:18:48
A more descriptive name indicating that the operat
| |
| 2605 int internal_field); | |
| 2606 private: | |
| 2607 ObjectOperationDescriptor(); | |
| 2608 }; | |
| 2609 | |
| 2610 | |
| 2611 enum DeclaredAccessorDescriptorDataType { | |
| 2612 kDescriptorBoolType, | |
| 2613 kDescriptorInt8Type, kDescriptorUint8Type, | |
| 2614 kDescriptorInt16Type, kDescriptorUint16Type, | |
| 2615 kDescriptorInt32Type, kDescriptorUint32Type, | |
| 2616 kDescriptorFloatType, kDescriptorDoubleType | |
| 2617 }; | |
| 2618 | |
| 2619 | |
| 2620 class V8EXPORT RawOperationDescriptor : public Data { | |
| 2621 public: | |
| 2622 Local<DeclaredAccessorDescriptor> NewHandleDereference(Isolate* isolate); | |
| 2623 Local<RawOperationDescriptor> NewRawDereference(Isolate* isolate); | |
| 2624 Local<RawOperationDescriptor> NewRawShift(Isolate* isolate, | |
| 2625 int16_t byte_offset); | |
| 2626 Local<DeclaredAccessorDescriptor> NewPointerCompare(Isolate* isolate, | |
| 2627 void* compare_value); | |
| 2628 Local<DeclaredAccessorDescriptor> NewPrimitiveValue( | |
| 2629 Isolate* isolate, | |
| 2630 DeclaredAccessorDescriptorDataType data_type, | |
| 2631 uint8_t bool_offset = 0); | |
| 2632 Local<DeclaredAccessorDescriptor> NewBitmaskCompare8(Isolate* isolate, | |
| 2633 uint8_t bitmask, | |
| 2634 uint8_t compare_value); | |
| 2635 Local<DeclaredAccessorDescriptor> NewBitmaskCompare16( | |
| 2636 Isolate* isolate, | |
| 2637 uint16_t bitmask, | |
| 2638 uint16_t compare_value); | |
| 2639 Local<DeclaredAccessorDescriptor> NewBitmaskCompare32( | |
| 2640 Isolate* isolate, | |
| 2641 uint32_t bitmask, | |
| 2642 uint32_t compare_value); | |
| 2643 | |
| 2644 private: | |
| 2645 RawOperationDescriptor(); | |
| 2646 }; | |
| 2647 | |
| 2648 | |
| 2588 /** | 2649 /** |
| 2589 * A utility for determining the type of objects based on the template | 2650 * A utility for determining the type of objects based on the template |
| 2590 * they were constructed from. | 2651 * they were constructed from. |
| 2591 */ | 2652 */ |
| 2592 class V8EXPORT TypeSwitch : public Data { | 2653 class V8EXPORT TypeSwitch : public Data { |
| 2593 public: | 2654 public: |
| 2594 static Local<TypeSwitch> New(Handle<FunctionTemplate> type); | 2655 static Local<TypeSwitch> New(Handle<FunctionTemplate> type); |
| 2595 static Local<TypeSwitch> New(int argc, Handle<FunctionTemplate> types[]); | 2656 static Local<TypeSwitch> New(int argc, Handle<FunctionTemplate> types[]); |
| 2596 int match(Handle<Value> value); | 2657 int match(Handle<Value> value); |
| 2597 private: | 2658 private: |
| (...skipping 2324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4922 | 4983 |
| 4923 | 4984 |
| 4924 } // namespace v8 | 4985 } // namespace v8 |
| 4925 | 4986 |
| 4926 | 4987 |
| 4927 #undef V8EXPORT | 4988 #undef V8EXPORT |
| 4928 #undef TYPE_CHECK | 4989 #undef TYPE_CHECK |
| 4929 | 4990 |
| 4930 | 4991 |
| 4931 #endif // V8_H_ | 4992 #endif // V8_H_ |
| OLD | NEW |