Interface PropHolder<T extends PropHolder<T>>

All Known Subinterfaces:
Function, Scriptable, VarScope
All Known Implementing Classes:
AInterpreter.DebugScope, BaseFunction, BoundFunction, CatchScope, DeclarationScope, Delegator, Environment, ES6Generator, ES6Iterator, FunctionObject, FunctionScope, Global, IdFunctionObject, IdScriptableObject, ImporterTopLevel, ImporterTopLevel.ImporterGlobalThis, JSFunction, KnownBuiltInFunction, LambdaConstructor, LambdaFunction, LocalScope, ModuleScope, NativeArray, NativeArrayBuffer, NativeArrayBufferView, NativeArrayIterator, NativeBigInt64Array, NativeBigIntArrayView, NativeBigUint64Array, NativeCall, NativeCallSite, NativeCollectionIterator, NativeConsole, NativeContinuation, NativeDataView, NativeFinalizationRegistry, NativeFloat16Array, NativeFloat32Array, NativeFloat64Array, NativeFunction, NativeGenerator, NativeInt16Array, NativeInt32Array, NativeInt8Array, NativeIterator, NativeIterator.StopIteration, NativeJavaArray, NativeJavaClass, NativeJavaConstructor, NativeJavaList, NativeJavaMap, NativeJavaMethod, NativeJavaObject, NativeJavaPackage, NativeJavaTopPackage, NativeJSON, NativeMap, NativeObject, NativePromise, NativeRegExp, NativeRegExpStringIterator, NativeSet, NativeStringIterator, NativeSymbol, NativeTypedArrayView, NativeUint16Array, NativeUint32Array, NativeUint8Array, NativeUint8ClampedArray, NativeWeakMap, NativeWeakRef, NativeWeakSet, Require, ScopeObject, ScopeWrapper, ScriptableObject, SlotMapOwner, Synchronizer, TopLevel, TopLevel.GlobalThis, WithScope, XMLObject

public interface PropHolder<T extends PropHolder<T>>
Interface the common route of JS objects and environment records, i.e. a thing that has properties and some form of ancestor. Although environment records do not hold user accessible keys which are symbols or numbers, it is useful to include these as it makes the concrete map implementations simpler and they may be useful for internally maintained vbalues.
  • Method Details

    • get

      Object get(Symbol key, T start)
    • get

      Object get(String name, T start)
    • get

      Object get(int index, T start)
    • has

      boolean has(Symbol name, T start)
    • has

      boolean has(String name, T start)
    • has

      boolean has(int index, T start)
    • put

      void put(Symbol name, T start, Object value)
    • put

      void put(String name, T start, Object value)
    • put

      void put(int index, T start, Object value)
    • delete

      void delete(Symbol name)
    • delete

      void delete(String name)
    • delete

      void delete(int index)
    • getAncestor

      T getAncestor()
      Get the parent scope of the object.
      Returns:
      the parent scope
    • getIds

      Object[] getIds()
      Get an array of property ids.

      Not all property ids need be returned. Those properties whose ids are not returned are considered non-enumerable.

      Returns:
      an array of Objects. Each entry in the array is either a java.lang.String or a java.lang.Number