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 /** \mainpage V8 API Reference Guide | 5 /** \mainpage V8 API Reference Guide |
6 * | 6 * |
7 * V8 is Google's open source JavaScript engine. | 7 * V8 is Google's open source JavaScript engine. |
8 * | 8 * |
9 * This set of documents provides reference material generated from the | 9 * This set of documents provides reference material generated from the |
10 * V8 header file, include/v8.h. | 10 * V8 header file, include/v8.h. |
(...skipping 3897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3908 */ | 3908 */ |
3909 bool HasInstance(Handle<Value> object); | 3909 bool HasInstance(Handle<Value> object); |
3910 | 3910 |
3911 private: | 3911 private: |
3912 FunctionTemplate(); | 3912 FunctionTemplate(); |
3913 friend class Context; | 3913 friend class Context; |
3914 friend class ObjectTemplate; | 3914 friend class ObjectTemplate; |
3915 }; | 3915 }; |
3916 | 3916 |
3917 | 3917 |
| 3918 enum class PropertyHandlerFlags { kNone = 0, kAllCanRead = 1 }; |
| 3919 |
| 3920 |
3918 struct NamedPropertyHandlerConfiguration { | 3921 struct NamedPropertyHandlerConfiguration { |
3919 NamedPropertyHandlerConfiguration( | 3922 NamedPropertyHandlerConfiguration( |
3920 /** Note: getter is required **/ | 3923 /** Note: getter is required **/ |
3921 GenericNamedPropertyGetterCallback getter = 0, | 3924 GenericNamedPropertyGetterCallback getter = 0, |
3922 GenericNamedPropertySetterCallback setter = 0, | 3925 GenericNamedPropertySetterCallback setter = 0, |
3923 GenericNamedPropertyQueryCallback query = 0, | 3926 GenericNamedPropertyQueryCallback query = 0, |
3924 GenericNamedPropertyDeleterCallback deleter = 0, | 3927 GenericNamedPropertyDeleterCallback deleter = 0, |
3925 GenericNamedPropertyEnumeratorCallback enumerator = 0, | 3928 GenericNamedPropertyEnumeratorCallback enumerator = 0, |
3926 Handle<Value> data = Handle<Value>()) | 3929 Handle<Value> data = Handle<Value>(), |
| 3930 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone) |
3927 : getter(getter), | 3931 : getter(getter), |
3928 setter(setter), | 3932 setter(setter), |
3929 query(query), | 3933 query(query), |
3930 deleter(deleter), | 3934 deleter(deleter), |
3931 enumerator(enumerator), | 3935 enumerator(enumerator), |
3932 data(data) {} | 3936 data(data), |
| 3937 flags(flags) {} |
3933 | 3938 |
3934 GenericNamedPropertyGetterCallback getter; | 3939 GenericNamedPropertyGetterCallback getter; |
3935 GenericNamedPropertySetterCallback setter; | 3940 GenericNamedPropertySetterCallback setter; |
3936 GenericNamedPropertyQueryCallback query; | 3941 GenericNamedPropertyQueryCallback query; |
3937 GenericNamedPropertyDeleterCallback deleter; | 3942 GenericNamedPropertyDeleterCallback deleter; |
3938 GenericNamedPropertyEnumeratorCallback enumerator; | 3943 GenericNamedPropertyEnumeratorCallback enumerator; |
3939 Handle<Value> data; | 3944 Handle<Value> data; |
| 3945 PropertyHandlerFlags flags; |
3940 }; | 3946 }; |
3941 | 3947 |
3942 | 3948 |
3943 struct IndexedPropertyHandlerConfiguration { | 3949 struct IndexedPropertyHandlerConfiguration { |
3944 IndexedPropertyHandlerConfiguration( | 3950 IndexedPropertyHandlerConfiguration( |
3945 /** Note: getter is required **/ | 3951 /** Note: getter is required **/ |
3946 IndexedPropertyGetterCallback getter = 0, | 3952 IndexedPropertyGetterCallback getter = 0, |
3947 IndexedPropertySetterCallback setter = 0, | 3953 IndexedPropertySetterCallback setter = 0, |
3948 IndexedPropertyQueryCallback query = 0, | 3954 IndexedPropertyQueryCallback query = 0, |
3949 IndexedPropertyDeleterCallback deleter = 0, | 3955 IndexedPropertyDeleterCallback deleter = 0, |
3950 IndexedPropertyEnumeratorCallback enumerator = 0, | 3956 IndexedPropertyEnumeratorCallback enumerator = 0, |
3951 Handle<Value> data = Handle<Value>()) | 3957 Handle<Value> data = Handle<Value>(), |
| 3958 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone) |
3952 : getter(getter), | 3959 : getter(getter), |
3953 setter(setter), | 3960 setter(setter), |
3954 query(query), | 3961 query(query), |
3955 deleter(deleter), | 3962 deleter(deleter), |
3956 enumerator(enumerator), | 3963 enumerator(enumerator), |
3957 data(data) {} | 3964 data(data), |
| 3965 flags(flags) {} |
3958 | 3966 |
3959 IndexedPropertyGetterCallback getter; | 3967 IndexedPropertyGetterCallback getter; |
3960 IndexedPropertySetterCallback setter; | 3968 IndexedPropertySetterCallback setter; |
3961 IndexedPropertyQueryCallback query; | 3969 IndexedPropertyQueryCallback query; |
3962 IndexedPropertyDeleterCallback deleter; | 3970 IndexedPropertyDeleterCallback deleter; |
3963 IndexedPropertyEnumeratorCallback enumerator; | 3971 IndexedPropertyEnumeratorCallback enumerator; |
3964 Handle<Value> data; | 3972 Handle<Value> data; |
| 3973 PropertyHandlerFlags flags; |
3965 }; | 3974 }; |
3966 | 3975 |
3967 | 3976 |
3968 /** | 3977 /** |
3969 * An ObjectTemplate is used to create objects at runtime. | 3978 * An ObjectTemplate is used to create objects at runtime. |
3970 * | 3979 * |
3971 * Properties added to an ObjectTemplate are added to each object | 3980 * Properties added to an ObjectTemplate are added to each object |
3972 * created from the ObjectTemplate. | 3981 * created from the ObjectTemplate. |
3973 */ | 3982 */ |
3974 class V8_EXPORT ObjectTemplate : public Template { | 3983 class V8_EXPORT ObjectTemplate : public Template { |
(...skipping 3545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7520 */ | 7529 */ |
7521 | 7530 |
7522 | 7531 |
7523 } // namespace v8 | 7532 } // namespace v8 |
7524 | 7533 |
7525 | 7534 |
7526 #undef TYPE_CHECK | 7535 #undef TYPE_CHECK |
7527 | 7536 |
7528 | 7537 |
7529 #endif // V8_H_ | 7538 #endif // V8_H_ |
OLD | NEW |