Class PropertyDescriptor
java.lang.Object
com.oracle.truffle.js.runtime.objects.PropertyDescriptor
Objects of this type are used by the defineProperty() and defineProperties() builtin functions.
Reason to use this class and not a JSObject directly is to avoid double evaluation.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic PropertyDescriptorcreateAccessor(Object getter, Object setter) static PropertyDescriptorcreateAccessor(Object getter, Object setter, boolean isEnumerable, boolean isConfigurable) static PropertyDescriptorcreateAccessor(Object getter, Object setter, int attributes) static PropertyDescriptorcreateData(Object value) static PropertyDescriptorcreateData(Object value, boolean isEnumerable, boolean isWritable, boolean isConfigurable) static PropertyDescriptorcreateData(Object value, int attributes) static PropertyDescriptorcreateDataDefault(Object value) static PropertyDescriptorbooleanbooleanintgetFlags()getGet()booleangetIfHasConfigurable(boolean defaultValue) booleangetIfHasEnumerable(boolean defaultValue) booleangetIfHasWritable(boolean defaultValue) getSet()getValue()booleanbooleanbooleanbooleanhasGet()booleanReturns true if this property descriptor does not have any fields.booleanhasSet()booleanhasValue()booleanboolean8.10.1 IsAccessorDescriptor ( Desc ).boolean8.10.2 IsDataDescriptor ( Desc ).booleanReturns true if this is a fully populated data or accessor property descriptor.booleanImplementing 8.10.3 IsGenericDescriptor.voidsetAccessor(Accessor accessor) voidsetConfigurable(boolean configurable) voidsetEnumerable(boolean enumerable) voidvoidvoidvoidsetWritable(boolean writable) toString()
-
Field Details
-
undefinedDataDesc
-
undefinedDataDescNotConfigurable
-
-
Method Details
-
createEmpty
-
createData
public static PropertyDescriptor createData(Object value, boolean isEnumerable, boolean isWritable, boolean isConfigurable) -
createData
-
createData
-
createDataDefault
-
createAccessor
-
createAccessor
-
createAccessor
public static PropertyDescriptor createAccessor(Object getter, Object setter, boolean isEnumerable, boolean isConfigurable) -
getValue
-
setValue
-
getGet
-
setGet
-
getSet
-
setSet
-
setAccessor
-
getEnumerable
public boolean getEnumerable() -
getIfHasEnumerable
public boolean getIfHasEnumerable(boolean defaultValue) -
setEnumerable
public void setEnumerable(boolean enumerable) -
getWritable
public boolean getWritable() -
getIfHasWritable
public boolean getIfHasWritable(boolean defaultValue) -
setWritable
public void setWritable(boolean writable) -
getConfigurable
public boolean getConfigurable() -
getIfHasConfigurable
public boolean getIfHasConfigurable(boolean defaultValue) -
setConfigurable
public void setConfigurable(boolean configurable) -
hasSet
public boolean hasSet() -
hasGet
public boolean hasGet() -
hasValue
public boolean hasValue() -
hasEnumerable
public boolean hasEnumerable() -
hasWritable
public boolean hasWritable() -
hasConfigurable
public boolean hasConfigurable() -
toString
-
isAccessorDescriptor
public boolean isAccessorDescriptor()8.10.1 IsAccessorDescriptor ( Desc ). -
isDataDescriptor
public boolean isDataDescriptor()8.10.2 IsDataDescriptor ( Desc ). -
isGenericDescriptor
public boolean isGenericDescriptor()Implementing 8.10.3 IsGenericDescriptor. -
hasNoFields
public boolean hasNoFields()Returns true if this property descriptor does not have any fields. -
isFullyPopulatedPropertyDescriptor
public boolean isFullyPopulatedPropertyDescriptor()Returns true if this is a fully populated data or accessor property descriptor. -
getFlags
public int getFlags()
-