Class PropertyDescriptor

java.lang.Object
com.oracle.truffle.js.runtime.objects.PropertyDescriptor

public final class PropertyDescriptor extends Object
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 Details

    • undefinedDataDesc

      public static final PropertyDescriptor undefinedDataDesc
    • undefinedDataDescNotConfigurable

      public static final PropertyDescriptor undefinedDataDescNotConfigurable
  • Method Details

    • createEmpty

      public static PropertyDescriptor createEmpty()
    • createData

      public static PropertyDescriptor createData(Object value, boolean isEnumerable, boolean isWritable, boolean isConfigurable)
    • createData

      public static PropertyDescriptor createData(Object value, int attributes)
    • createData

      public static PropertyDescriptor createData(Object value)
    • createDataDefault

      public static PropertyDescriptor createDataDefault(Object value)
    • createAccessor

      public static PropertyDescriptor createAccessor(Object getter, Object setter)
    • createAccessor

      public static PropertyDescriptor createAccessor(Object getter, Object setter, int attributes)
    • createAccessor

      public static PropertyDescriptor createAccessor(Object getter, Object setter, boolean isEnumerable, boolean isConfigurable)
    • getValue

      public Object getValue()
    • setValue

      public void setValue(Object value)
    • getGet

      public Object getGet()
    • setGet

      public void setGet(Object get)
    • getSet

      public Object getSet()
    • setSet

      public void setSet(Object set)
    • setAccessor

      public void setAccessor(Accessor accessor)
    • 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

      public String toString()
      Overrides:
      toString in class Object
    • 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()