Class NativeContinuation

All Implemented Interfaces:
Serializable, Callable, ConstProperties, Constructable, DebuggableObject, Function, IdFunctionCall, Scriptable, SymbolScriptable

public final class NativeContinuation extends IdScriptableObject implements Function
See Also:
  • Constructor Details

    • NativeContinuation

      public NativeContinuation()
  • Method Details

    • init

      public static void init(Context cx, Scriptable scope, boolean sealed)
    • getImplementation

      public Object getImplementation()
    • initImplementation

      public void initImplementation(Object implementation)
    • getClassName

      public String getClassName()
      Description copied from class: ScriptableObject
      Return the name of the class.

      This is typically the same name as the constructor. Classes extending ScriptableObject must implement this abstract method.

      Specified by:
      getClassName in interface Scriptable
      Specified by:
      getClassName in class ScriptableObject
    • construct

      public Scriptable construct(Context cx, Scriptable scope, Object[] args)
      Description copied from interface: Function
      Call the function as a constructor.

      This method is invoked by the runtime in order to satisfy a use of the JavaScript new operator. This method is expected to create a new object and return it.

      Specified by:
      construct in interface Constructable
      Specified by:
      construct in interface Function
      Parameters:
      cx - the current Context for this thread
      scope - an enclosing scope of the caller except when the function is called from a closure.
      args - the array of arguments
      Returns:
      the allocated object
    • call

      public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
      Description copied from interface: Function
      Call the function.

      Note that the array of arguments is not guaranteed to have length greater than 0.

      Specified by:
      call in interface Callable
      Specified by:
      call in interface Function
      Parameters:
      cx - the current Context for this thread
      scope - the scope to execute the function relative to. This is set to the value returned by getParentScope() except when the function is called from a closure.
      thisObj - the JavaScript this object
      args - the array of arguments
      Returns:
      the result of the call
    • isContinuationConstructor

      public static boolean isContinuationConstructor(IdFunctionObject f)
    • equalImplementations

      public static boolean equalImplementations(NativeContinuation c1, NativeContinuation c2)
      Returns true if both continuations have equal implementations.
      Parameters:
      c1 - one continuation
      c2 - another continuation
      Returns:
      true if the implementations of both continuations are equal, or they are both null.
      Throws:
      NullPointerException - if either continuation is null
    • initPrototypeId

      protected void initPrototypeId(int id)
      Overrides:
      initPrototypeId in class IdScriptableObject
    • execIdCall

      public Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, Object[] args)
      Description copied from class: IdScriptableObject
      'thisObj' will be null if invoked as constructor, in which case * instance of Scriptable should be returned.
      Specified by:
      execIdCall in interface IdFunctionCall
      Overrides:
      execIdCall in class IdScriptableObject
    • findPrototypeId

      protected int findPrototypeId(String s)
      Overrides:
      findPrototypeId in class IdScriptableObject