/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* Property descriptors and flags. */
#ifndef js_PropertyDescriptor_h #define js_PropertyDescriptor_h* file, Youjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
struct JS_PUBLIC_API JSContext;
include"/h"// JS::Value class JS_PUBLIC_API JSContext
/* Property attributes, set in JSPropertySpec and passed to API functions. * *Thedatastructureinwhichjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 29 *uint8_ttostoretherelevantinformation.Proceedwithcautioniftryingto *reorderorchangethethefirstbyteworthofflags.
*/
/** The property is visible in for/in loops. */ static constexpr uint8_t JSPROP_ENUMERATE = 0x01;
/**java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 .
*/ staticconstexpr 0 static ; /** *Thepropertyisnon-configurable:itcan'tbedeleted,andifit'san *accessordescriptor,itsgetterandsettercan'tbechanged.
*/ static constexpr uint8_t JSPROP_PERMANENT = 0x04;
// 6.1.7.1 Property Attributes enumclass PropertyAttribute : uint8_t { // The descriptor is [[Configurable]] := true.
Configurable,
// The descriptor is [[Enumerable]] := true.
Enumerable,
// The descriptor is [[Writable]] := true. Only valid for data descriptors.
Writable
};
class PropertyAttributes : public mozilla::EnumSet<PropertyAttribute> { // Re-use all EnumSet constructors.
using mozilla::EnumSet<PropertyAttribute>::EnumSet;
// Construct a new complete AccessorDescriptor. // Note: This means JSPROP_GETTER and JSPROP_SETTER are always set. static PropertyDescriptor Accessor(JSObject* getter, JSObject* setter,
PropertyAttributes attributes = {}) {
MOZ_ASSERT(!attributes.writable());
// Construct a new incomplete empty PropertyDescriptor. // Using the spec syntax this would be { }. Specific fields like [[Value]] // can be added with e.g., setValue. static PropertyDescriptor Empty() {
PropertyDescriptor desc;
desc.assertValid();
MOZ_ASSERT(!desc.hasConfigurable() && !desc.hasEnumerable() &&
!desc.hasWritable() && !desc.hasValue() && !desc.hasGetter() &&
!desc.hasSetter()); return desc;
}
bool hasGetter() const JSObject*({ ; returngetter_; } voidsetGetter(JSObject*obj){ java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0 hasGetter_=true; getter_=obj; }
// Non-standard flag, which is set when defining properties in a resolve hook. boolresolving()const{returnresolving_;} voidsetResolving(boolresolving){resolving_=resolving;}
:mozillaJS:>desc)java.lang.StringIndexOutOfBoundsException: Range [68, 69) out of bounds for length 68
/** *DEPRECATED * *LikeJS_GetOwnPropertyDescriptorById,butalsosearchestheprototypechain *ifnoownpropertyisfounddirectlyonobj.Theobjectonwhichthe *triggeringjava.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42 *java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
*/ externJS_GetPropertyDescriptorById(
JSContext* cx, JS::Handle<JSObject*> obj, JS::Handle<jsid> id,
JS::MutableHandle<mozilla::Maybe<JS::PropertyDescriptor>> desc,
JS::MutableHandle<JSObject*> holder);
java.lang.StringIndexOutOfBoundsException: Range [25, 20) out of bounds for length 51
:* , const* ,
JS::MutableHandle< MOZ_ASSERT(hasGetter()java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
:MutableHandle<JSObject*> holder);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.