| 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  Contextcreation and release events. | 
| ContextListener | Deprecated Embeddings that wish to customize newly created
  Contextinstances should implementContextFactory.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. | 
| 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 | 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.Stringor another ConsString. | 
| Context | This class represents the runtime context of an executing script. | 
| ContextFactory | Factory class that Rhino runtime uses to create new  Contextinstances. | 
| 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 | |
| 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 | NativeJavaListis a wrapper for java objects implementingjava.util.List
 interface. | 
| NativeJavaMap | NativeJavaMapis a wrapper for java objects implementingjava.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
  withstatement. | 
| 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  Policyin 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.SecurityManagersubclass 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. | 
| 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 | Description | 
|---|---|
| NativeArrayIterator.ARRAY_ITERATOR_TYPE | |
| StackStyle | This class distinguishes between the three different supported stack trace formats. | 
| Token.CommentType | |
| TopLevel.Builtins | An enumeration of built-in ECMAScript objects. | 
| Exception | Description | 
|---|---|
| ContinuationPending | Exception thrown by
  Context.executeScriptWithContinuations(Script, Scriptable)andContext.callFunctionWithContinuations(Callable, Scriptable, Object[])when execution encounters a continuation captured byContext.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. |