webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | List of all members
JSC::PropertySlot Class Reference

#include <PropertySlot.h>

Classes

struct  ModuleNamespaceSlot
 

Public Types

enum  InternalMethodType : uint8_t {
  InternalMethodType::Get, InternalMethodType::HasProperty, InternalMethodType::GetOwnProperty, InternalMethodType::VMInquiry,
  InternalMethodType::Get, InternalMethodType::HasProperty, InternalMethodType::GetOwnProperty, InternalMethodType::VMInquiry
}
 
enum  AdditionalDataType : uint8_t {
  AdditionalDataType::None, AdditionalDataType::DOMJIT, AdditionalDataType::ModuleNamespace, AdditionalDataType::None,
  AdditionalDataType::DOMJIT, AdditionalDataType::ModuleNamespace
}
 
enum  InternalMethodType : uint8_t {
  InternalMethodType::Get, InternalMethodType::HasProperty, InternalMethodType::GetOwnProperty, InternalMethodType::VMInquiry,
  InternalMethodType::Get, InternalMethodType::HasProperty, InternalMethodType::GetOwnProperty, InternalMethodType::VMInquiry
}
 
enum  AdditionalDataType : uint8_t {
  AdditionalDataType::None, AdditionalDataType::DOMJIT, AdditionalDataType::ModuleNamespace, AdditionalDataType::None,
  AdditionalDataType::DOMJIT, AdditionalDataType::ModuleNamespace
}
 
typedef EncodedJSValue(* GetValueFunc) (ExecState *, EncodedJSValue thisValue, PropertyName)
 
typedef EncodedJSValue(* GetValueFunc) (ExecState *, EncodedJSValue thisValue, PropertyName)
 

Public Member Functions

 PropertySlot (const JSValue thisValue, InternalMethodType internalMethodType)
 
JSValue getValue (ExecState *, PropertyName) const
 
JSValue getValue (ExecState *, unsigned propertyName) const
 
JSValue getPureResult () const
 
bool isCacheable () const
 
bool isUnset () const
 
bool isValue () const
 
bool isAccessor () const
 
bool isCustom () const
 
bool isCustomAccessor () const
 
bool isCacheableValue () const
 
bool isCacheableGetter () const
 
bool isCacheableCustom () const
 
void setIsTaintedByOpaqueObject ()
 
bool isTaintedByOpaqueObject () const
 
InternalMethodType internalMethodType () const
 
void disableCaching ()
 
unsigned attributes () const
 
PropertyOffset cachedOffset () const
 
GetterSettergetterSetter () const
 
GetValueFunc customGetter () const
 
CustomGetterSettercustomGetterSetter () const
 
JSObjectslotBase () const
 
WatchpointSetwatchpointSet () const
 
DOMJIT::GetterSetterdomJIT () const
 
std::optional< ModuleNamespaceSlotmoduleNamespaceSlot () const
 
void setValue (JSObject *slotBase, unsigned attributes, JSValue value)
 
void setValue (JSObject *slotBase, unsigned attributes, JSValue value, PropertyOffset offset)
 
void setValue (JSString *, unsigned attributes, JSValue value)
 
void setValueModuleNamespace (JSObject *slotBase, unsigned attributes, JSValue value, JSModuleEnvironment *environment, ScopeOffset scopeOffset)
 
void setCustom (JSObject *slotBase, unsigned attributes, GetValueFunc getValue)
 
void setCacheableCustom (JSObject *slotBase, unsigned attributes, GetValueFunc getValue)
 
void setCacheableCustom (JSObject *slotBase, unsigned attributes, GetValueFunc getValue, DOMJIT::GetterSetter *domJIT)
 
void setCustomGetterSetter (JSObject *slotBase, unsigned attributes, CustomGetterSetter *getterSetter)
 
void setGetterSlot (JSObject *slotBase, unsigned attributes, GetterSetter *getterSetter)
 
void setCacheableGetterSlot (JSObject *slotBase, unsigned attributes, GetterSetter *getterSetter, PropertyOffset offset)
 
JSValue thisValue () const
 
void setThisValue (JSValue thisValue)
 
void setUndefined ()
 
void setWatchpointSet (WatchpointSet &set)
 
 PropertySlot (const JSValue thisValue, InternalMethodType internalMethodType)
 
JSValue getValue (ExecState *, PropertyName) const
 
JSValue getValue (ExecState *, unsigned propertyName) const
 
JSValue getPureResult () const
 
bool isCacheable () const
 
bool isUnset () const
 
bool isValue () const
 
bool isAccessor () const
 
bool isCustom () const
 
bool isCustomAccessor () const
 
bool isCacheableValue () const
 
bool isCacheableGetter () const
 
bool isCacheableCustom () const
 
void setIsTaintedByOpaqueObject ()
 
bool isTaintedByOpaqueObject () const
 
InternalMethodType internalMethodType () const
 
void disableCaching ()
 
unsigned attributes () const
 
PropertyOffset cachedOffset () const
 
GetterSettergetterSetter () const
 
GetValueFunc customGetter () const
 
CustomGetterSettercustomGetterSetter () const
 
JSObjectslotBase () const
 
WatchpointSetwatchpointSet () const
 
DOMJIT::GetterSetterdomJIT () const
 
std::optional< ModuleNamespaceSlotmoduleNamespaceSlot () const
 
void setValue (JSObject *slotBase, unsigned attributes, JSValue value)
 
void setValue (JSObject *slotBase, unsigned attributes, JSValue value, PropertyOffset offset)
 
void setValue (JSString *, unsigned attributes, JSValue value)
 
void setValueModuleNamespace (JSObject *slotBase, unsigned attributes, JSValue value, JSModuleEnvironment *environment, ScopeOffset scopeOffset)
 
void setCustom (JSObject *slotBase, unsigned attributes, GetValueFunc getValue)
 
void setCacheableCustom (JSObject *slotBase, unsigned attributes, GetValueFunc getValue)
 
void setCacheableCustom (JSObject *slotBase, unsigned attributes, GetValueFunc getValue, DOMJIT::GetterSetter *domJIT)
 
void setCustomGetterSetter (JSObject *slotBase, unsigned attributes, CustomGetterSetter *getterSetter)
 
void setGetterSlot (JSObject *slotBase, unsigned attributes, GetterSetter *getterSetter)
 
void setCacheableGetterSlot (JSObject *slotBase, unsigned attributes, GetterSetter *getterSetter, PropertyOffset offset)
 
JSValue thisValue () const
 
void setThisValue (JSValue thisValue)
 
void setUndefined ()
 
void setWatchpointSet (WatchpointSet &set)
 

Member Typedef Documentation

◆ GetValueFunc [1/2]

typedef EncodedJSValue(* JSC::PropertySlot::GetValueFunc) (ExecState *, EncodedJSValue thisValue, PropertyName)

◆ GetValueFunc [2/2]

typedef EncodedJSValue(* JSC::PropertySlot::GetValueFunc) (ExecState *, EncodedJSValue thisValue, PropertyName)

Member Enumeration Documentation

◆ AdditionalDataType [1/2]

Enumerator
None 
DOMJIT 
ModuleNamespace 
None 
DOMJIT 
ModuleNamespace 

◆ AdditionalDataType [2/2]

Enumerator
None 
DOMJIT 
ModuleNamespace 
None 
DOMJIT 
ModuleNamespace 

◆ InternalMethodType [1/2]

Enumerator
Get 
HasProperty 
GetOwnProperty 
VMInquiry 
Get 
HasProperty 
GetOwnProperty 
VMInquiry 

◆ InternalMethodType [2/2]

Enumerator
Get 
HasProperty 
GetOwnProperty 
VMInquiry 
Get 
HasProperty 
GetOwnProperty 
VMInquiry 

Constructor & Destructor Documentation

◆ PropertySlot() [1/2]

JSC::PropertySlot::PropertySlot ( const JSValue  thisValue,
InternalMethodType  internalMethodType 
)
inlineexplicit

◆ PropertySlot() [2/2]

JSC::PropertySlot::PropertySlot ( const JSValue  thisValue,
InternalMethodType  internalMethodType 
)
inlineexplicit

Member Function Documentation

◆ attributes() [1/2]

unsigned JSC::PropertySlot::attributes ( ) const
inline

◆ attributes() [2/2]

unsigned JSC::PropertySlot::attributes ( ) const
inline

◆ cachedOffset() [1/2]

PropertyOffset JSC::PropertySlot::cachedOffset ( ) const
inline

◆ cachedOffset() [2/2]

PropertyOffset JSC::PropertySlot::cachedOffset ( ) const
inline

◆ customGetter() [1/2]

GetValueFunc JSC::PropertySlot::customGetter ( ) const
inline

◆ customGetter() [2/2]

GetValueFunc JSC::PropertySlot::customGetter ( ) const
inline

◆ customGetterSetter() [1/2]

CustomGetterSetter* JSC::PropertySlot::customGetterSetter ( ) const
inline

◆ customGetterSetter() [2/2]

CustomGetterSetter* JSC::PropertySlot::customGetterSetter ( ) const
inline

◆ disableCaching() [1/2]

void JSC::PropertySlot::disableCaching ( )
inline

◆ disableCaching() [2/2]

void JSC::PropertySlot::disableCaching ( )
inline

◆ domJIT() [1/2]

DOMJIT::GetterSetter* JSC::PropertySlot::domJIT ( ) const
inline

◆ domJIT() [2/2]

DOMJIT::GetterSetter* JSC::PropertySlot::domJIT ( ) const
inline

◆ getPureResult() [1/2]

JSValue JSC::PropertySlot::getPureResult ( ) const

◆ getPureResult() [2/2]

JSValue JSC::PropertySlot::getPureResult ( ) const

◆ getterSetter() [1/2]

GetterSetter* JSC::PropertySlot::getterSetter ( ) const
inline

◆ getterSetter() [2/2]

GetterSetter* JSC::PropertySlot::getterSetter ( ) const
inline

◆ getValue() [1/4]

JSValue JSC::PropertySlot::getValue ( ExecState ,
PropertyName   
) const

◆ getValue() [2/4]

JSValue JSC::PropertySlot::getValue ( ExecState ,
PropertyName   
) const

◆ getValue() [3/4]

JSValue JSC::PropertySlot::getValue ( ExecState ,
unsigned  propertyName 
) const

◆ getValue() [4/4]

JSValue JSC::PropertySlot::getValue ( ExecState ,
unsigned  propertyName 
) const

◆ internalMethodType() [1/2]

InternalMethodType JSC::PropertySlot::internalMethodType ( ) const
inline

◆ internalMethodType() [2/2]

InternalMethodType JSC::PropertySlot::internalMethodType ( ) const
inline

◆ isAccessor() [1/2]

bool JSC::PropertySlot::isAccessor ( ) const
inline

◆ isAccessor() [2/2]

bool JSC::PropertySlot::isAccessor ( ) const
inline

◆ isCacheable() [1/2]

bool JSC::PropertySlot::isCacheable ( ) const
inline

◆ isCacheable() [2/2]

bool JSC::PropertySlot::isCacheable ( ) const
inline

◆ isCacheableCustom() [1/2]

bool JSC::PropertySlot::isCacheableCustom ( ) const
inline

◆ isCacheableCustom() [2/2]

bool JSC::PropertySlot::isCacheableCustom ( ) const
inline

◆ isCacheableGetter() [1/2]

bool JSC::PropertySlot::isCacheableGetter ( ) const
inline

◆ isCacheableGetter() [2/2]

bool JSC::PropertySlot::isCacheableGetter ( ) const
inline

◆ isCacheableValue() [1/2]

bool JSC::PropertySlot::isCacheableValue ( ) const
inline

◆ isCacheableValue() [2/2]

bool JSC::PropertySlot::isCacheableValue ( ) const
inline

◆ isCustom() [1/2]

bool JSC::PropertySlot::isCustom ( ) const
inline

◆ isCustom() [2/2]

bool JSC::PropertySlot::isCustom ( ) const
inline

◆ isCustomAccessor() [1/2]

bool JSC::PropertySlot::isCustomAccessor ( ) const
inline

◆ isCustomAccessor() [2/2]

bool JSC::PropertySlot::isCustomAccessor ( ) const
inline

◆ isTaintedByOpaqueObject() [1/2]

bool JSC::PropertySlot::isTaintedByOpaqueObject ( ) const
inline

◆ isTaintedByOpaqueObject() [2/2]

bool JSC::PropertySlot::isTaintedByOpaqueObject ( ) const
inline

◆ isUnset() [1/2]

bool JSC::PropertySlot::isUnset ( ) const
inline

◆ isUnset() [2/2]

bool JSC::PropertySlot::isUnset ( ) const
inline

◆ isValue() [1/2]

bool JSC::PropertySlot::isValue ( ) const
inline

◆ isValue() [2/2]

bool JSC::PropertySlot::isValue ( ) const
inline

◆ moduleNamespaceSlot() [1/2]

std::optional<ModuleNamespaceSlot> JSC::PropertySlot::moduleNamespaceSlot ( ) const
inline

◆ moduleNamespaceSlot() [2/2]

std::optional<ModuleNamespaceSlot> JSC::PropertySlot::moduleNamespaceSlot ( ) const
inline

◆ setCacheableCustom() [1/4]

void JSC::PropertySlot::setCacheableCustom ( JSObject slotBase,
unsigned  attributes,
GetValueFunc  getValue 
)
inline

◆ setCacheableCustom() [2/4]

void JSC::PropertySlot::setCacheableCustom ( JSObject slotBase,
unsigned  attributes,
GetValueFunc  getValue 
)
inline

◆ setCacheableCustom() [3/4]

void JSC::PropertySlot::setCacheableCustom ( JSObject slotBase,
unsigned  attributes,
GetValueFunc  getValue,
DOMJIT::GetterSetter domJIT 
)
inline

◆ setCacheableCustom() [4/4]

void JSC::PropertySlot::setCacheableCustom ( JSObject slotBase,
unsigned  attributes,
GetValueFunc  getValue,
DOMJIT::GetterSetter domJIT 
)
inline

◆ setCacheableGetterSlot() [1/2]

void JSC::PropertySlot::setCacheableGetterSlot ( JSObject slotBase,
unsigned  attributes,
GetterSetter getterSetter,
PropertyOffset  offset 
)
inline

◆ setCacheableGetterSlot() [2/2]

void JSC::PropertySlot::setCacheableGetterSlot ( JSObject slotBase,
unsigned  attributes,
GetterSetter getterSetter,
PropertyOffset  offset 
)
inline

◆ setCustom() [1/2]

void JSC::PropertySlot::setCustom ( JSObject slotBase,
unsigned  attributes,
GetValueFunc  getValue 
)
inline

◆ setCustom() [2/2]

void JSC::PropertySlot::setCustom ( JSObject slotBase,
unsigned  attributes,
GetValueFunc  getValue 
)
inline

◆ setCustomGetterSetter() [1/2]

void JSC::PropertySlot::setCustomGetterSetter ( JSObject slotBase,
unsigned  attributes,
CustomGetterSetter getterSetter 
)
inline

◆ setCustomGetterSetter() [2/2]

void JSC::PropertySlot::setCustomGetterSetter ( JSObject slotBase,
unsigned  attributes,
CustomGetterSetter getterSetter 
)
inline

◆ setGetterSlot() [1/2]

void JSC::PropertySlot::setGetterSlot ( JSObject slotBase,
unsigned  attributes,
GetterSetter getterSetter 
)
inline

◆ setGetterSlot() [2/2]

void JSC::PropertySlot::setGetterSlot ( JSObject slotBase,
unsigned  attributes,
GetterSetter getterSetter 
)
inline

◆ setIsTaintedByOpaqueObject() [1/2]

void JSC::PropertySlot::setIsTaintedByOpaqueObject ( )
inline

◆ setIsTaintedByOpaqueObject() [2/2]

void JSC::PropertySlot::setIsTaintedByOpaqueObject ( )
inline

◆ setThisValue() [1/2]

void JSC::PropertySlot::setThisValue ( JSValue  thisValue)
inline

◆ setThisValue() [2/2]

void JSC::PropertySlot::setThisValue ( JSValue  thisValue)
inline

◆ setUndefined() [1/2]

void JSC::PropertySlot::setUndefined ( )
inline

◆ setUndefined() [2/2]

void JSC::PropertySlot::setUndefined ( )
inline

◆ setValue() [1/6]

void JSC::PropertySlot::setValue ( JSObject slotBase,
unsigned  attributes,
JSValue  value 
)
inline

◆ setValue() [2/6]

void JSC::PropertySlot::setValue ( JSObject slotBase,
unsigned  attributes,
JSValue  value 
)
inline

◆ setValue() [3/6]

void JSC::PropertySlot::setValue ( JSObject slotBase,
unsigned  attributes,
JSValue  value,
PropertyOffset  offset 
)
inline

◆ setValue() [4/6]

void JSC::PropertySlot::setValue ( JSObject slotBase,
unsigned  attributes,
JSValue  value,
PropertyOffset  offset 
)
inline

◆ setValue() [5/6]

void JSC::PropertySlot::setValue ( JSString ,
unsigned  attributes,
JSValue  value 
)
inline

◆ setValue() [6/6]

void JSC::PropertySlot::setValue ( JSString ,
unsigned  attributes,
JSValue  value 
)
inline

◆ setValueModuleNamespace() [1/2]

void JSC::PropertySlot::setValueModuleNamespace ( JSObject slotBase,
unsigned  attributes,
JSValue  value,
JSModuleEnvironment environment,
ScopeOffset  scopeOffset 
)
inline

◆ setValueModuleNamespace() [2/2]

void JSC::PropertySlot::setValueModuleNamespace ( JSObject slotBase,
unsigned  attributes,
JSValue  value,
JSModuleEnvironment environment,
ScopeOffset  scopeOffset 
)
inline

◆ setWatchpointSet() [1/2]

void JSC::PropertySlot::setWatchpointSet ( WatchpointSet set)
inline

◆ setWatchpointSet() [2/2]

void JSC::PropertySlot::setWatchpointSet ( WatchpointSet set)
inline

◆ slotBase() [1/2]

JSObject* JSC::PropertySlot::slotBase ( ) const
inline

◆ slotBase() [2/2]

JSObject* JSC::PropertySlot::slotBase ( ) const
inline

◆ thisValue() [1/2]

JSValue JSC::PropertySlot::thisValue ( ) const
inline

◆ thisValue() [2/2]

JSValue JSC::PropertySlot::thisValue ( ) const
inline

◆ watchpointSet() [1/2]

WatchpointSet* JSC::PropertySlot::watchpointSet ( ) const
inline

◆ watchpointSet() [2/2]

WatchpointSet* JSC::PropertySlot::watchpointSet ( ) const
inline

Member Data Documentation

◆ custom [1/2]

struct { ... } JSC::PropertySlot::custom

◆ custom [2/2]

struct { ... } JSC::PropertySlot::custom

◆ customAccessor [1/2]

struct { ... } JSC::PropertySlot::customAccessor

◆ customAccessor [2/2]

struct { ... } JSC::PropertySlot::customAccessor

◆ domJIT

DOMJIT::GetterSetter* JSC::PropertySlot::domJIT

◆ getter [1/2]

struct { ... } JSC::PropertySlot::getter

◆ getter [2/2]

struct { ... } JSC::PropertySlot::getter

◆ getterSetter [1/2]

GetterSetter* JSC::PropertySlot::getterSetter

◆ getterSetter [2/2]

CustomGetterSetter* JSC::PropertySlot::getterSetter

◆ getValue

ALWAYS_INLINE JSValue JSC::PropertySlot::getValue

◆ moduleNamespaceSlot

ModuleNamespaceSlot JSC::PropertySlot::moduleNamespaceSlot

◆ value

EncodedJSValue JSC::PropertySlot::value

The documentation for this class was generated from the following files: