Class AbstractEcmaObjectOperations

java.lang.Object
org.htmlunit.corejs.javascript.AbstractEcmaObjectOperations

class AbstractEcmaObjectOperations extends Object
Abstract Object Operations as defined by EcmaScript
See Also:
  • Abstract Operations - Operations on Objects

    Notes

    • all methods are to deviate from the method signature defined in the EcmaScript specification, by taking an additional 1st parameter of type Context: (downstream) methods may need the Context object to read flags and we want to avoid having to look up the current context (for performance reasons)
    • all methods that implement an Abstract Operation as defined by EcmaScript are to be package-scopes methods, to prevent them from being used directly by 3rd party code, which would hamper evolving them over time to adept to newer EcmaScript specifications
    • a link to the method specification of the specific (EcmaScript) version implemented will be put in the JavaDoc of each method that implements an Abstract Operations
  • Constructor Details

    • AbstractEcmaObjectOperations

      AbstractEcmaObjectOperations()
  • Method Details

    • hasOwnProperty

      static boolean hasOwnProperty(Context cx, Object o, Object property)
      Implementation of Abstract Object operation HasOwnProperty as defined by EcmaScript
      Parameters:
      cx -
      o -
      property -
      Returns:
      boolean
      See Also:
    • testIntegrityLevel

      static boolean testIntegrityLevel(Context cx, Object o, AbstractEcmaObjectOperations.INTEGRITY_LEVEL level)
      Implementation of Abstract Object operation testIntegrityLevel as defined by EcmaScript
      Parameters:
      cx -
      o -
      level -
      Returns:
      boolean
      See Also:
    • setIntegrityLevel

      static boolean setIntegrityLevel(Context cx, Object o, AbstractEcmaObjectOperations.INTEGRITY_LEVEL level)
      Implementation of Abstract Object operation setIntegrityLevel as defined by EcmaScript
      Parameters:
      cx -
      o -
      level -
      Returns:
      boolean
      See Also:
    • speciesConstructor

      static Constructable speciesConstructor(Context cx, Scriptable s, Constructable defaultConstructor)
      Implement the ECMAScript abstract operation "SpeciesConstructor" defined in section 7.2.33 of ECMA262.
      Parameters:
      cx - context
      s - the object for which we will find the "species constructor" as per the spec
      defaultConstructor - as per the spec, the value that will be returned if there is no constructor on "s" or if the "species" symbol is not set.
      See Also:
    • put

      static void put(Context cx, Scriptable o, String p, Object v, boolean isThrow)
      Set ( O, P, V, Throw)

      https://262.ecma-international.org/12.0/#sec-set-o-p-v-throw

    • put

      static void put(Context cx, Scriptable o, int p, Object v, boolean isThrow)
      Set ( O, P, V, Throw)

      https://262.ecma-international.org/12.0/#sec-set-o-p-v-throw

    • createListFromArrayLike

      static List<Object> createListFromArrayLike(Context cx, Scriptable o, Predicate<Object> elementTypesPredicate, String msg)
      CreateListFromArrayLike ( obj [ , elementTypes ] )

      https://262.ecma-international.org/12.0/#sec-createlistfromarraylike

    • lengthOfArrayLike

      static long lengthOfArrayLike(Context cx, Scriptable o)
      LengthOfArrayLike ( obj )

      https://262.ecma-international.org/12.0/#sec-lengthofarraylike

    • isCompatiblePropertyDescriptor

      static boolean isCompatiblePropertyDescriptor(boolean extensible, ScriptableObject desc, ScriptableObject current)
      IsCompatiblePropertyDescriptor ( Extensible, Desc, Current )

      https://262.ecma-international.org/12.0/#sec-iscompatiblepropertydescriptor

    • validateAndApplyPropertyDescriptor

      static boolean validateAndApplyPropertyDescriptor(Scriptable o, Scriptable p, boolean extensible, ScriptableObject desc, ScriptableObject current)
      ValidateAndApplyPropertyDescriptor ( O, P, extensible, Desc, current )

      https://262.ecma-international.org/12.0/#sec-validateandapplypropertydescriptor