# All Classes

- All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary
  Class | Description
  --- | ---
  ArrayComprehension | AST node for a JavaScript 1.7 Array comprehension.
  ArrayComprehensionLoop | AST node for a single 'for (foo in bar)' loop construct in a JavaScript 1.7 Array comprehension.
  ArrayLiteral | AST node for an Array literal.
  ArrowFunction | The class for Arrow Function Definitions EcmaScript 6 Rev 14, March 8, 2013 Draft spec , 13.2
  Assignment | AST node representing the set of assignment operators such as `=`, `*=` and `+=`.
  AstNode | Base class for AST node types.
  AstNode.DebugPrintVisitor |
  AstNode.PositionComparator |
  AstRoot | Node for the root of a parse tree.
  BaseFunction | The base class for Function objects See ECMA 15.3.
  BindingsObject | This class makes the Bindings object into a Scriptable.
  Block | A block statement delimited by curly braces.
  BoundFunction | The class for results of the Function.bind operation EcmaScript 5 spec, 15.3.4.5
  BreakStatement | A break statement.
  Builtins | This class defines the following built-in functions for the RhinoScriptEngine.
  ByteCode | This class provides opcode values expected by the JVM in Java class files.
  ByteIo |
  CachedPowers |
  CachingModuleScriptProviderBase | Abstract base class that implements caching of loaded module scripts.
  CachingModuleScriptProviderBase.CachedModuleScript | Instances of this class represent a loaded and cached module script.
  Callable | Generic notion of callable object that can execute some script-related code upon request with specified values for script scope and this objects.
  CatchClause | Node representing a catch-clause of a try-statement.
  ClassCache | Cache of generated classes and data structures to access Java runtime from JavaScript.
  ClassCompiler | Generates class files from script sources.
  ClassDefinitionException | Deprecated. The exception is no longer thrown by Rhino runtime as `EvaluatorException` is used instead.
  ClassFileWriter | ClassFileWriter A ClassFileWriter is used to write a Java class file.
  ClassFileWriter.ClassFileFormatException | Thrown for cases where the error in generating the class file is due to a program size constraints rather than a likely bug in the compiler.
  ClassShutter | Embeddings that wish to filter Java classes that are visible to scripts through the LiveConnect, should implement this interface.
  Codegen | This class generates code for a given IR tree.
  Comment | Node representing comments.
  CompilerEnvirons |
  ConditionalExpression | AST node representing the ternary operator.
  ConsString | This class represents a string composed of two components, each of which may be a `java.lang.String` or another ConsString.
  ConstProperties |
  Context | This class represents the runtime context of an executing script.
  Context.ClassShutterSetter |
  ContextAction | Interface to represent arbitrary action that requires to have Context object associated with the current thread for its execution.
  ContextFactory | Factory class that Rhino runtime uses to create new `Context` instances.
  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`.
  ContinuationPending | Exception thrown by `Context.executeScriptWithContinuations(Script, Scriptable)` and `Context.callFunctionWithContinuations(Callable, Scriptable, Object[])` when execution encounters a continuation captured by `Context.captureContinuation()`.
  ContinueStatement | A continue statement.
  Conversions | Numeric conversions from section 7 of the ECMAScript 6 standard.
  DebugFrame | Interface to implement if the application is interested in receiving debug information during execution of a particular script or function.
  DebuggableObject | This interface exposes debugging information from objects.
  DebuggableScript | This interface exposes debugging information from executable code (either functions or top-level scripts).
  Debugger | Interface to implement if the application is interested in receiving debug information.
  Decompiler | The following class save decompilation information about the source.
  DefaultUrlConnectionExpiryCalculator | The default heuristic for calculating cache expiry of URL-based resources.
  DefiningClassLoader | Load generated classes.
  Delegator | This is a helper class for implementing wrappers around Scriptable objects.
  DestructuringForm | Common interface for `ArrayLiteral` and `ObjectLiteral` node types, both of which may appear in "destructuring" expressions or contexts.
  DoLoop | Do statement.
  DoubleConversion |
  DoubleHelper |
  EcmaError | The class of exceptions raised by the engine as described in ECMA edition 3.
  ElementGet | AST node for an indexed property reference, such as `foo['bar']` or `foo[2]`.
  EmptyExpression | AST node for an empty expression.
  EmptyStatement | AST node for an empty statement.
  ErrorCollector | An error reporter that gathers the errors and warnings for later display.
  ErrorNode | AST node representing a parse error or a warning.
  ErrorReporter | This is interface defines a protocol for the reporting of errors during JavaScript translation or execution.
  ES6Iterator |
  Evaluator | Abstraction of evaluation, which can be implemented either by an interpreter or compiler.
  EvaluatorException | The class of exceptions thrown by the JavaScript engine.
  ExpressionStatement | AST node representing an expression in a statement context.
  ExternalArrayData | Implement this interface in order to allow external data to be attached to a ScriptableObject.
  FastDtoa |
  FastDtoaBuilder |
  ForInLoop | For-in or for-each-in or for-of statement.
  ForLoop | C-style for-loop statement.
  Function | This is interface that all functions in JavaScript must implement.
  FunctionCall | AST node for a function call.
  FunctionNode | A JavaScript function declaration or expression.
  FunctionNode.Form |
  FunctionObject |
  GeneratedClassLoader | Interface to define classes from generated byte code.
  GeneratorExpression |
  GeneratorExpressionLoop |
  IdeErrorReporter | This is interface defines a protocol for the reporting of errors during JavaScript translation in IDE-mode.
  IdFunctionCall | Master for id-based functions that knows their properties and how to execute them.
  IdFunctionObject |
  IdFunctionObjectES6 |
  IdScriptableObject | Base class for native object implementation that uses IdFunctionObject to export its methods to script via .prototype object.
  IfStatement | If-else statement.
  ImporterTopLevel | Class ImporterTopLevel This class defines a ScriptableObject that can be instantiated as a top-level ("global") object to provide functionality similar to Java's "import" statement.
  InfixExpression | AST node representing an infix (binary operator) expression.
  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.
  JavaAdapter |
  JavaScriptException | Java reflection of JavaScript exceptions.
  JSConstructor | An annotation that marks a Java method as JavaScript constructor.
  JSFunction | An annotation that marks a Java method as JavaScript function.
  JSGetter | An annotation that marks a Java method as JavaScript getter.
  JsonParser | This class converts a stream of JSON tokens into a JSON value.
  JsonParser.ParseException |
  JSSetter | An annotation that marks a Java method as JavaScript setter.
  JSStaticFunction | An annotation that marks a Java method as JavaScript static function.
  Jump | Used for code generation.
  KeywordLiteral | AST node for keyword literals: currently, `this`, `null`, `true`, `false`, and `debugger`.
  Kit | Collection of utilities
  Label | AST node representing a label.
  LabeledStatement | A labeled statement.
  LazilyLoadedCtor | Avoid loading classes unless they are used.
  LetNode | AST node for let statements and expressions.
  Loop | Abstract base type for loops.
  ModuleScope | A top-level module scope.
  ModuleScript | Represents a compiled CommonJS module script.
  ModuleScriptProvider | Should be implemented by Rhino embeddings to allow the require() function to obtain `ModuleScript` objects.
  ModuleSource | Represents the source text of the module as a tuple of a reader, a URI, a security domain, and a cache validator.
  ModuleSourceProvider | Implemented by objects that can provide the source text for the script.
  ModuleSourceProviderBase | A base implementation for all module script providers that actually load module scripts.
  MultiModuleScriptProvider | A multiplexer for module script providers.
  Name | AST node for a simple name.
  NativeArray | This class implements the Array native object.
  NativeArray.ElementComparator |
  NativeArray.StringLikeComparator |
  NativeArrayBuffer | A NativeArrayBuffer is the backing buffer for a typed array.
  NativeArrayBufferView | This class is the abstract parent for all views of the array.
  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.
  NativeContinuation |
  NativeDataView | This class represents the JavaScript "DataView" interface, which allows direct manipulations of the bytes in a NativeArrayBuffer.
  NativeFloat32Array | An array view that stores 32-bit quantities and implements the JavaScript "loat32Array" interface.
  NativeFloat64Array | An array view that stores 64-bit quantities and implements the JavaScript "Float64Array" interface.
  NativeFunction | This class implements the Function native object.
  NativeGenerator | This class implements generator objects.
  NativeGenerator.GeneratorClosedException |
  NativeGlobal | This class implements the global native object (function and value properties only).
  NativeInt16Array | An array view that stores 16-bit quantities and implements the JavaScript "Int16Array" interface.
  NativeInt32Array | An array view that stores 32-bit quantities and implements the JavaScript "Int32Array" interface.
  NativeInt8Array | An array view that stores 8-bit quantities and implements the JavaScript "Int8Array" interface.
  NativeIterator | This class implements iterator objects.
  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.
  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.
  NativeObject | This class implements the Object native object.
  NativeRegExp | This class implements the RegExp native object.
  NativeStringIterator |
  NativeSymbol | This is an implementation of the standard "Symbol" type that implements all of its weird properties.
  NativeTypedArrayIterator<T> |
  NativeTypedArrayView<T> | This class is the abstract parent for all of the various typed arrays.
  NativeUint16Array | An array view that stores 16-bit quantities and implements the JavaScript "Uint16Array" interface.
  NativeUint32Array | An array view that stores 32-bit quantities and implements the JavaScript "Uint32Array" interface.
  NativeUint8Array | An array view that stores 8-bit quantities and implements the JavaScript "Uint8Array" interface.
  NativeUint8ClampedArray | An array view that stores 8-bit quantities and implements the JavaScript "Uint8ClampedArray" interface.
  NativeWith | This class implements the object lookup required for the `with` statement.
  NewExpression | New expression.
  Node | This class implements the root of the intermediate representation.
  NodeTransformer | This class transforms a tree to a lower-level representation for codegen.
  NodeVisitor | Simple visitor interface for traversing the AST.
  NotAFunctionException | Deprecated. The exception is no longer thrown by Rhino runtime as `EvaluatorException` is used instead.
  NumberLiteral | AST node for a Number literal.
  ObjArray | Implementation of resizable array with focus on minimizing memory usage by storing few initial array elements in object fields.
  ObjectLiteral | AST node for an Object literal (also called an Object initialiser in Ecma-262).
  ObjectProperty | AST node for a single name:value entry in an Object literal.
  ObjToIntMap | Map to associate objects to integers.
  ObjToIntMap.Iterator |
  OptFunctionNode |
  OptRuntime |
  OptRuntime.GeneratorState |
  ParenthesizedExpression | AST node for a parenthesized expression.
  ParsedContentType | Breaks a "contentType; charset=encoding" MIME type into content type and encoding parts.
  ParseProblem | Encapsulates information for a JavaScript parse error or warning.
  ParseProblem.Type |
  Parser | This class implements the JavaScript parser.
  PolicySecurityController | A security controller relying on Java `Policy` in effect.
  PolicySecurityController.SecureCaller |
  PropertyException | Deprecated. This exception is no longer thrown by Rhino runtime.
  PropertyGet | AST node for the '.' operator.
  Ref | Generic notion of reference object that know how to query/modify the target objects based on some property/index.
  RefCallable | Object that can allows assignments to the result of function calls.
  RegExpImpl |
  RegExpLiteral | AST node for a RegExp literal.
  RegExpProxy | A proxy for the regexp package, so that the regexp package can be loaded optionally.
  Require | Implements the require() function as defined by Common JS modules.
  RequireBuilder | A builder for `Require` instances.
  ReturnStatement | Return statement.
  RhinoCompiledScript |
  RhinoException | The class of exceptions thrown by the JavaScript engine.
  RhinoInvocationHandler |
  RhinoScriptEngine | This is the implementation of the standard ScriptEngine interface for Rhino.
  RhinoScriptEngineFactory | This is an implementation of the standard Java "ScriptEngine" for Rhino.
  RhinoSecurityManager | A `java.lang.SecurityManager` subclass that provides access to the current top-most script class on the execution stack.
  Scope | Represents a scope in the lexical scope chain.
  Script | All compiled scripts implement this interface.
  Scriptable | This is interface that all objects in JavaScript must implement.
  ScriptableInputStream | Class ScriptableInputStream is used to read in a JavaScript object or function previously serialized with a ScriptableOutputStream.
  ScriptableObject | This is the default implementation of the Scriptable interface.
  ScriptableObject.KeyComparator | This comparator sorts property fields in spec-compliant order.
  ScriptableOutputStream | Class ScriptableOutputStream is an ObjectOutputStream used to serialize JavaScript objects and functions.
  ScriptNode | Base type for `AstRoot` and `FunctionNode` nodes, which need to collect much of the same information.
  ScriptRuntime | This is the class that implements the runtime.
  ScriptRuntime.MessageProvider | This is an interface defining a message provider.
  ScriptRuntimeES6 |
  ScriptStackElement | This class represents an element on the script execution stack.
  SecureCaller |
  SecurityController | This class describes the support needed to implement security.
  SecurityUtilities |
  SoftCachingModuleScriptProvider | A module script provider that uses a module source provider to load modules and caches the loaded modules.
  Sorting |
  StackStyle | This class distinguishes between the three different supported stack trace formats.
  StringLiteral | AST node for a single- or double-quoted string literal.
  StrongCachingModuleScriptProvider | A module script provider that uses a module source provider to load modules and caches the loaded modules.
  SubString | A utility class for lazily instantiated substrings.
  SwitchCase | Switch-case AST node type.
  SwitchStatement | Switch statement AST node type.
  Symbol | Represents a symbol-table entry.
  Symbol | A Symbol is a JavaScript objecy that obeys the special properties of the Symbol prototype.
  SymbolKey | A SymbolKey is one of the implementations of Symbol.
  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.
  Synchronizer | This class provides support for implementing Java-style synchronized methods in Javascript.
  ThrowStatement | Throw statement.
  Token | This class implements the JavaScript scanner.
  Token.CommentType |
  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.
  TopLevel.Builtins | An enumeration of built-in ECMAScript objects.
  TryStatement | Try/catch/finally statement.
  UintMap | Map to associate non-negative integers to objects or integers.
  UnaryExpression | AST node representing unary operators such as `++`, `~`, `typeof` and `delete`.
  Undefined | This class implements the Undefined value in JavaScript.
  UniqueTag | Class instances represent serializable tags to mark special Object values.
  UrlConnectionExpiryCalculator | Implemented by objects that can be used as heuristic strategies for calculating the expiry of a cached resource in cases where the server of the resource doesn't provide explicit expiry information.
  UrlConnectionSecurityDomainProvider | Interface for URL connection based security domain providers.
  UrlModuleSourceProvider | A URL-based script provider that can load modules against a set of base privileged and fallback URIs.
  VariableDeclaration | A list of one or more var, const or let declarations.
  VariableInitializer | A variable declaration or initializer, part of a `VariableDeclaration` expression.
  VMBridge |
  VMBridge_jdk13 |
  VMBridge_jdk15 |
  WhileLoop | While statement.
  WithStatement | With statement.

  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.

  WrappedException | A wrapper for runtime exceptions.
  Wrapper | Objects that can wrap other values for reflection in the JS environment will implement Wrapper.
  XmlDotQuery | AST node representing an E4X `foo.(bar)` query expression.
  XmlElemRef | AST node for an E4X XML `[expr]` member-ref expression.
  XmlExpression | AST node for an embedded JavaScript expression within an E4X XML literal.
  XmlFragment | Abstract base type for components that comprise an `XmlLiteral` object.
  XMLLib |
  XMLLib.Factory | An object which specifies an XMLLib implementation to be used at runtime.
  XmlLiteral | AST node for an E4X (Ecma-357) embedded XML literal.
  XmlMemberGet | AST node for E4X ".@" and ".." expressions, such as `foo..bar`, `foo..@bar`, `@foo.@bar`, and `foo..@ns::*`.
  XMLObject | This Interface describes what all XML objects (XML, XMLList) should have in common.
  XmlPropRef | AST node for an E4X XML `[expr]` property-ref expression.
  XmlRef | Base class for E4X XML attribute-access or property-get expressions.
  XmlString | AST node for an XML-text-only component of an XML literal expression.
  Yield | AST node for JavaScript 1.7 `yield` expression or statement.