# Package com.google.javascript.rhino.jstype

package com.google.javascript.rhino.jstype
Provides abstractions to represent types in JavaScript. Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users.

Related Packages
Package
Description
com.google.javascript.rhino
The core AST from Rhino.
com.google.javascript.rhino.testing
Class
Description
AllType
All type, representing all values.
BooleanLiteralSet
A set in the domain {true,false}.
BooleanType
Boolean type.
EnumElementType
The type of individual elements of an enum type (see `EnumType`).
EnumType
An enum type representing a branded collection of elements.
FunctionBuilder
A builder class for function and arrow types.
FunctionParamBuilder
A builder for the Rhino Node representing Function parameters.
FunctionType
This derived type provides extended information about a function, including its return type and argument types.
JSType
Represents JavaScript value types.
JSType.TypePair
JSTypeNative
Constants corresponding to types that are built into a JavaScript engine and other types that occur very often in the type system.
JSTypeRegistry
The type registry is used to resolve named types.
JSTypeRegistry.ResolveMode
The type registry has three modes, which control how type ASTs are converted to types in `JSTypeRegistry.createFromTypeNodes(com.google.javascript.rhino.Node, java.lang.String, com.google.javascript.rhino.jstype.StaticScope<com.google.javascript.rhino.jstype.JSType>)`.
ModificationVisitor
A visitor implementation that enables type substitutions.
NoObjectType
The bottom Object type, representing the subclass of all objects.
NoType
Bottom type, representing the subclass of any value or object.
NullType
Null type.
NumberType
Number type.
ObjectType
Object type.
Property
A property slot of an object.
RecordTypeBuilder
A builder for record types.
SimpleReference<T extends StaticSlot<JSType>>
A simple immutable reference.
SimpleSlot
The minimum implementation of StaticSlot<JSType>.
SimpleSourceFile
A simple implementation of `StaticSourceFile` for testing.
StaticReference<T>
The `StaticReference` tells us all the ways that a `StaticSlot` is used in a program.
StaticScope<T>
The `StaticScope` interface must be implemented by any object that defines variables for the purposes of static analysis.
StaticSlot<T>
The `StaticSlot` interface must be implemented by variables that can appear as members of a `StaticScope`.
StaticSourceFile
The `StaticSourceFile` contains information about a compiler input.
StaticSymbolTable<S extends StaticSlot<JSType>,R extends StaticReference<JSType>>
Lookup references by the symbols that they refer to.
StringType
String type.
TemplateType
TemplateTypeMap
Manages a mapping from TemplateType to its resolved JSType.
TemplatizedType
An object type with declared template types, such as `Array.<string>`.
TernaryValue
An enum for ternary logic.
UnionType
The `UnionType` implements a common JavaScript idiom in which the code is specifically designed to work with multiple input types.
UnknownType
The `Unknown` type.
Visitor<T>
A type visitor.
VoidType
Void type whose only element is the `undefined` value.