Class DefinePropertyUtil

java.lang.Object
com.oracle.truffle.js.runtime.util.DefinePropertyUtil

public final class DefinePropertyUtil extends Object
Implements ECMAScript 2015's OrdinaryDefineOwnProperty as defined in 9.1.6.1., and connected functionality.
  • Method Details

    • ordinaryDefineOwnProperty

      public static boolean ordinaryDefineOwnProperty(JSDynamicObject thisObj, Object propertyKey, PropertyDescriptor descriptor, boolean doThrow)
      Implementation of OrdinaryDefineOwnProperty as defined in ECMAScript 2015, 9.1.6.1.
    • isCompatiblePropertyDescriptor

      public static boolean isCompatiblePropertyDescriptor(boolean extensible, PropertyDescriptor descriptor, PropertyDescriptor current)
      Implementation of OrdinaryDefineOwnProperty as defined in ECMAScript 2015, 9.1.6.1.
    • isCompatiblePropertyDescriptor

      public static boolean isCompatiblePropertyDescriptor(boolean extensible, PropertyDescriptor descriptor, PropertyDescriptor current, boolean doThrow)
    • validateAndApplyPropertyDescriptor

      public static boolean validateAndApplyPropertyDescriptor(JSDynamicObject thisObj, Object propertyKey, boolean extensible, PropertyDescriptor descriptor, PropertyDescriptor current, boolean doThrow)
      Implementation of ValidateAndApplyPropertyDescriptor as defined in ECMAScript 2015, 9.1.6.3.
    • getPropertyByKey

      public static com.oracle.truffle.api.object.Property getPropertyByKey(JSDynamicObject thisObj, Object key)
    • reject

      public static boolean reject(boolean doThrow, String message)
    • notExtensibleMessage

      public static String notExtensibleMessage(Object key, boolean reject)
    • nonConfigurableMessage

      public static String nonConfigurableMessage(Object key, boolean reject)
    • nonWritableMessage

      public static String nonWritableMessage(Object key, boolean reject)