本文整理汇总了C++中GetterSetter::isGetterNull方法的典型用法代码示例。如果您正苦于以下问题:C++ GetterSetter::isGetterNull方法的具体用法?C++ GetterSetter::isGetterNull怎么用?C++ GetterSetter::isGetterNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GetterSetter
的用法示例。
在下文中一共展示了GetterSetter::isGetterNull方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: objectProtoFuncLookupGetter
EncodedJSValue JSC_HOST_CALL objectProtoFuncLookupGetter(ExecState* exec)
{
JSObject* thisObject = exec->thisValue().toThis(exec, StrictMode).toObject(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
auto propertyName = exec->argument(0).toPropertyKey(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
PropertySlot slot(thisObject);
if (thisObject->getPropertySlot(exec, propertyName, slot) && slot.isAccessor()) {
GetterSetter* getterSetter = slot.getterSetter();
return getterSetter->isGetterNull() ? JSValue::encode(jsUndefined()) : JSValue::encode(getterSetter->getter());
}
return JSValue::encode(jsUndefined());
}
示例2: setDescriptor
void PropertyDescriptor::setDescriptor(JSValue value, unsigned attributes)
{
ASSERT(value);
// We need to mask off the PropertyAttribute::CustomValue bit because
// PropertyDescriptor::attributesEqual() does an equivalent test on
// m_attributes, and a property that has a CustomValue should be indistinguishable
// from a property that has a normal value as far as JS code is concerned.
// PropertyAttribute does not need knowledge of the underlying implementation
// actually being a CustomValue. So, we'll just mask it off up front here.
m_attributes = attributes & ~PropertyAttribute::CustomValue;
if (value.isGetterSetter()) {
m_attributes &= ~PropertyAttribute::ReadOnly; // FIXME: we should be able to ASSERT this!
GetterSetter* accessor = jsCast<GetterSetter*>(value);
m_getter = !accessor->isGetterNull() ? accessor->getter() : jsUndefined();
m_setter = !accessor->isSetterNull() ? accessor->setter() : jsUndefined();
m_seenAttributes = EnumerablePresent | ConfigurablePresent;
} else {
m_value = value;
m_seenAttributes = EnumerablePresent | ConfigurablePresent | WritablePresent;
}
}