# Package org.mozilla.javascript

- Interface Summary
  Interface | Description
  --- | ---
  Callable | Generic notion of callable object that can execute some script-related code upon request with specified values for script scope and this objects.
  ClassShutter | Embeddings that wish to filter Java classes that are visible to scripts through the LiveConnect, should implement this interface.
  ConstProperties |
  Constructable | An interface that can be used to implement a constructor function as a lambda.
  Context.ClassShutterSetter |
  ContextAction<T> | Interface to represent arbitrary action that requires to have Context object associated with the current thread for its execution.
  ContextFactory.GlobalSetter |
  ContextFactory.Listener | Listener of `Context` creation and release events.
  ContextListener | Deprecated. Embeddings that wish to customize newly created `Context` instances should implement `ContextFactory.Listener`.
  ErrorReporter | This is interface defines a protocol for the reporting of errors during JavaScript translation or execution.
  Evaluator | Abstraction of evaluation, which can be implemented either by an interpreter or compiler.
  ExternalArrayData | Implement this interface in order to allow external data to be attached to a ScriptableObject.
  Function | This is interface that all functions in JavaScript must implement.
  GeneratedClassLoader | Interface to define classes from generated byte code.
  IdFunctionCall | Master for id-based functions that knows their properties and how to execute them.
  NativeConsole.ConsolePrinter |
  RefCallable | Object that can allows assignments to the result of function calls.
  RegExpProxy | A proxy for the regexp package, so that the regexp package can be loaded optionally.
  Script | All compiled scripts implement this interface.
  Scriptable | This is interface that all objects in JavaScript must implement.
  ScriptRuntime.MessageProvider | This is an interface defining a message provider.
  SlotMap | A SlotMap is an interface to the main data structure that contains all the "Slots" that back a ScriptableObject.
  Symbol | A Symbol is a JavaScript objecy that obeys the special properties of the Symbol prototype.
  SymbolScriptable | This interface may be combined with any object that implements Scriptable to add support for properties keyed by Symbol objects (as opposed to String and number objects as in previous versions of JavaScript.
  Wrapper | Objects that can wrap other values for reflection in the JS environment will implement Wrapper.

- Class Summary
  Class | Description
  --- | ---
  AccessorSlot | This is a specialization of Slot to store various types of values that are retrieved dynamically using Java and JavaScript functions.
  ArrowFunction | The class for Arrow Function Definitions EcmaScript 6 Rev 14, March 8, 2013 Draft spec , 13.2
  BaseFunction | The base class for Function objects.
  BoundFunction | The class for results of the Function.bind operation EcmaScript 5 spec, 15.3.4.5
  ClassCache | Cache of generated classes and data structures to access Java runtime from JavaScript.
  CompilerEnvirons |
  ConsString | This class represents a string composed of two components, each of which may be a `java.lang.String` or another ConsString.
  Context | This class represents the runtime context of an executing script.
  ContextFactory | Factory class that Rhino runtime uses to create new `Context` instances.
  Decompiler | The following class save decompilation information about the source.
  DefiningClassLoader | Load generated classes.
  Delegator | This is a helper class for implementing wrappers around Scriptable objects.
  EmbeddedSlotMap |
  ES6Generator |
  ES6Generator.YieldStarResult |
  ES6Iterator |
  FunctionObject |
  HashSlotMap | This class implements the SlotMap interface using a java.util.HashMap.
  Hashtable | This generic hash table class is used by Set and Map.
  Hashtable.Entry | One entry in the hash table.
  IdFunctionObject |
  IdFunctionObjectES6 |
  IdScriptableObject | Base class for native object implementation that uses IdFunctionObject to export its methods to script via <class-name>.prototype object.
  ImplementationVersion | This class is a singleton that just exists to serve up the implementation version.
  ImporterTopLevel | Class ImporterTopLevel
  InterfaceAdapter | Adapter to use JS function as implementation of Java interfaces with single method or multiple methods with the same signature.
  Interpreter |
  IRFactory | This class rewrites the parse tree into an IR suitable for codegen.
  IteratorLikeIterable | This is a class that makes it easier to iterate over "iterator-like" objects as defined in the ECMAScript spec.
  JavaAdapter |
  JavaToJSONConverters | This class provides implementations of converters for Java objects to be used by the JSON.stringify method.
  Kit | Collection of utilities
  LambdaConstructor | This class implements a JavaScript function that may be used as a constructor by delegating to an interface that can be easily implemented as a lambda.
  LambdaFunction | This class implements a single JavaScript function that has the prototype of the built-in Function class, and which is implemented using a single function that can easily be implemented using a lambda expression.
  LambdaSlot | This is a specialization of property access using some lambda functions.
  LazilyLoadedCtor | Avoid loading classes unless they are used.
  LazyLoadSlot | This is a specialization of Slot to store values that are retrieved via calls to script functions.
  NativeArray | This class implements the Array native object.
  NativeArray.ElementComparator |
  NativeArray.StringLikeComparator |
  NativeArrayIterator |
  NativeCall | This class implements the activation object.
  NativeCallSite | This class is used by the V8 extension "Error.prepareStackTrace." It is passed to that function, which may then use it to format the stack as it sees fit.
  NativeCollectionIterator |
  NativeConsole |
  NativeContinuation |
  NativeFunction | This class implements the Function native object.
  NativeGenerator | This class implements generator objects.
  NativeGlobal | This class implements the global native object (function and value properties only).
  NativeIterator | This class implements iterator objects.
  NativeIterator.StopIteration |
  NativeIterator.WrappedJavaIterator |
  NativeJavaArray | This class reflects Java arrays into the JavaScript environment.
  NativeJavaClass | This class reflects Java classes into the JavaScript environment, mainly for constructors and static members.
  NativeJavaConstructor | This class reflects a single Java constructor into the JavaScript environment.
  NativeJavaList | `NativeJavaList` is a wrapper for java objects implementing `java.util.List` interface.
  NativeJavaMap | `NativeJavaMap` is a wrapper for java objects implementing `java.util.Map` interface.
  NativeJavaMethod | This class reflects Java methods into the JavaScript environment and handles overloading of methods.
  NativeJavaObject | This class reflects non-Array Java objects into the JavaScript environment.
  NativeJavaPackage | This class reflects Java packages into the JavaScript environment.
  NativeJavaTopPackage | This class reflects Java packages into the JavaScript environment.
  NativeJSON | This class implements the JSON native object.
  NativeMap |
  NativeObject | This class implements the Object native object.
  NativePromise |
  NativeSet |
  NativeStringIterator |
  NativeSymbol | This is an implementation of the standard "Symbol" type that implements all of its weird properties.
  NativeWeakMap | This is an implementation of the ES6 WeakMap class.
  NativeWeakSet | This is an implementation of the ES6 WeakSet class.
  NativeWith | This class implements the object lookup required for the `with` statement.
  Node | This class implements the root of the intermediate representation.
  NodeTransformer | This class transforms a tree to a lower-level representation for codegen.
  ObjArray | Implementation of resizable array with focus on minimizing memory usage by storing few initial array elements in object fields.
  ObjToIntMap | Map to associate objects to integers.
  ObjToIntMap.Iterator |
  Parser | This class implements the JavaScript parser.
  PolicySecurityController | A security controller relying on Java `Policy` in effect.
  PolicySecurityController.SecureCaller |
  Ref | Generic notion of reference object that know how to query/modify the target objects based on some property/index.
  RhinoSecurityManager | A `java.lang.SecurityManager` subclass that provides access to the current top-most script class on the execution stack.
  ScriptableObject | This is the default implementation of the Scriptable interface.
  ScriptableObject.KeyComparator | This comparator sorts property fields in spec-compliant order.
  ScriptRuntime | This is the class that implements the runtime.
  ScriptRuntime.StringIdOrIndex | Helper to return a string or an integer.
  ScriptRuntimeES6 |
  ScriptStackElement | This class represents an element on the script execution stack.
  SecureCaller |
  SecurityController | This class describes the support needed to implement security.
  SecurityUtilities |
  Slot | A Slot is the base class for all properties stored in the ScriptableObject class.
  Sorting |
  SymbolKey | A SymbolKey is one of the implementations of Symbol.
  Synchronizer | This class provides support for implementing Java-style synchronized methods in Javascript.
  Token | This class implements the JavaScript scanner.
  TopLevel | A top-level scope object that provides special means to cache and preserve the initial values of the built-in constructor properties for better ECMAScript compliance.
  UintMap | Map to associate non-negative integers to objects or integers.
  Undefined | This class implements the Undefined value in JavaScript.
  UnhandledRejectionTracker | This class is responsible for handling tracking of unhandled Promise rejections.
  UniqueTag | Class instances represent serializable tags to mark special Object values.
  VMBridge |
  WrapFactory | Embeddings that wish to provide their own custom wrappings for Java objects may extend this class and call `Context.setWrapFactory(WrapFactory)` Once an instance of this class or an extension of this class is enabled for a given context (by calling setWrapFactory on that context), Rhino will call the methods of this class whenever it needs to wrap a value resulting from a call to a Java method or an access to a Java field.

- Enum Summary
  Enum | Description
  --- | ---
  NativeArrayIterator.ARRAY_ITERATOR_TYPE |
  NativeConsole.Level |
  StackStyle | This class distinguishes between the three different supported stack trace formats.
  Token.CommentType |
  TopLevel.Builtins | An enumeration of built-in ECMAScript objects.

- Exception Summary
  Exception | Description
  --- | ---
  ContinuationPending | Exception thrown by `Context.executeScriptWithContinuations(Script, Scriptable)` and `Context.callFunctionWithContinuations(Callable, Scriptable, Object[])` when execution encounters a continuation captured by `Context.captureContinuation()`.
  EcmaError | The class of exceptions raised by the engine as described in ECMA edition 3.
  EvaluatorException | The class of exceptions thrown by the JavaScript engine.
  JavaScriptException | Java reflection of JavaScript exceptions.
  NativeGenerator.GeneratorClosedException |
  RhinoException | The class of exceptions thrown by the JavaScript engine.
  WrappedException | A wrapper for runtime exceptions.