AbstractCommandLineRunner<A extends Compiler,B extends CompilerOptions> |
Implementations of AbstractCommandLineRunner translate flags into Java
API calls on the Compiler.
|
AbstractCommandLineRunner.CommandLineConfig |
Configurations for the command line configs.
|
AbstractCommandLineRunner.FlagEntry<T> |
A pair from flag to its value.
|
AbstractCommandLineRunner.JsModuleSpec |
Represents a specification for a js module.
|
AbstractCommandLineRunner.JsonFileSpec |
Representation of a source file from an encoded json stream input
|
AbstractCompiler |
An abstract compiler, to help remove the circular dependency of passes on JSCompiler.
|
AbstractMessageFormatter |
|
AbstractScope<S extends AbstractScope<S,V>,V extends AbstractVar<S,V>> |
Scope contains information about a variable scope in JavaScript.
|
AbstractVar<S extends AbstractScope<S,V>,V extends AbstractVar<S,V>> |
Used by Scope to store information about variables.
|
AccessControlUtils |
Helper functions for computing the visibility of names and properties
in JavaScript source code.
|
AllowlistWarningsGuard |
An extension of WarningsGuard that provides functionality to maintain a list of warnings
(white-list).
|
AstAnalyzer |
Logic for answering questions about portions of the AST.
|
AstManipulations |
Utilities to abstract away certain common AST manipulations
|
AstValidator |
This class walks the AST and validates that the structure is correct.
|
BasicErrorManager |
Deprecated. |
BlackHoleErrorManager |
An ErrorManager that silently swallows all messages.
|
ByPathWarningsGuard |
An implementation of a WarningsGuard that can modify the
CheckLevel based on the file that caused the warning, and whether
this file matches a set of paths (specified either as include or exclude
of path name parts).
|
ChangeVerifier |
A Class to assist in AST change tracking verification.
|
CheckConformance |
Provides a framework for checking code against a set of user configured conformance rules.
|
CheckMissingAndExtraRequires |
Deprecated.
|
CheckMissingRequires |
A pass to detect references to fully qualified Closure namespaces.
|
CheckPathsBetweenNodes<N,E> |
|
CheckTypeImportCodeReferences |
Checks for invalid code references to type-only imports (i.e., goog.requireType).
|
ChromeCodingConvention |
Coding convention used by the Chrome team to compile Chrome's JS.
|
ChromePass |
Compiler pass for Chrome-specific needs.
|
ClosureCheckModule |
Checks that goog.module() is used correctly.
|
ClosureCodingConvention |
This describes the Closure-specific JavaScript coding conventions.
|
CodeConsumer |
Abstracted consumer of the CodeGenerator output.
|
CodeGenerator |
CodeGenerator generates codes from a parse tree, sending it to the specified
CodeConsumer.
|
CodePrinter |
CodePrinter prints out JS code in either pretty format or compact format.
|
CodePrinter.Builder |
|
CodingConvention.AssertionFunctionLookup |
This stores a relation from either name or Closure Primitive to assertion function
|
CodingConvention.AssertionFunctionSpec |
A description of a JavaScript function that will throw an exception when either:
One of its parameters does not match the return type of the function
One of its parameters is falsy.
|
CodingConvention.AssertionFunctionSpec.Builder |
|
CodingConvention.Bind |
Bind class
|
CodingConvention.Cache |
Cache class
|
CodingConvention.DelegateRelationship |
Delegates provides a mechanism and structure for identifying where classes
can call out to optional code to augment their functionality.
|
CodingConvention.ObjectLiteralCast |
An object literal cast provides a mechanism to cast object literals to
other types without a warning.
|
CodingConvention.SubclassRelationship |
Record subclass relations
|
CodingConventions |
Helper classes for dealing with coding conventions.
|
CodingConventions.Proxy |
A convention that wraps another.
|
CommandLineRunner |
CommandLineRunner translates flags into Java API calls on the Compiler.
|
Compiler |
Compiler (and the other classes in this package) does the following:
parses JS code
checks for undefined variables
performs optimizations such as constant folding and constants inlining
renames variables (to short names)
outputs compact JavaScript code
External variables are declared in 'externs' files.
|
Compiler.CodeBuilder |
Stores a buffer of text to which more can be appended.
|
Compiler.ExternalSourceLoader |
Subclasses are responsible for loading sources that were not provided as explicit inputs to the
compiler.
|
CompilerInput |
A class for the internal representation of an input to the compiler.
|
CompilerOptions |
Compiler options
|
CompilerOptionsPreprocessor |
Checks for combinations of options that are incompatible, i.e.
|
ComposeWarningsGuard |
WarningsGuard that represents just a chain of other guards.
|
ConformanceAllowlister |
Creates or updates conformance whitelist entries.
|
ConformancePassConfig |
Runs only the user-supplied conformance checks and any earlier passes required by conformance.
|
ConformanceRules |
Standard conformance rules.
|
ConformanceRules.AbstractRule |
A conformance rule implementation to support things common to all rules such as allowlisting
and reporting.
|
ConformanceRules.BanCreateDom |
Ban goog.dom.createDom and goog.dom.DomHelper#createDom with parameters
specified in value in the format tagname.attribute, e.g.
|
ConformanceRules.BanCreateElement |
Bans document.createElement and similar methods with string literal parameter specified
in value , e.g.
|
ConformanceRules.BanExpose |
Banned @expose
|
ConformanceRules.BanForOf |
Banned for/of loops
|
ConformanceRules.BanGlobalVars |
Banned global var declarations.
|
ConformanceRules.BanNullDeref |
Banned dereferencing null or undefined types.
|
ConformanceRules.BanThrowOfNonErrorTypes |
Banned throw of non-error object types.
|
ConformanceRules.BanUnknownDirectThisPropsReferences |
Banned unknown type references of the form "this.prop" unless
- it is immediately cast,
- it is a @template type (until template type
restricts are enabled) or
- the value is unused.
|
ConformanceRules.BanUnknownThis |
Banned unknown "this" types.
|
ConformanceRules.BanUnknownTypedClassPropsReferences |
Banned unknown type references of the form "instance.prop" unless
(a) it is immediately cast/asserted, or
(b) it is a @template type (until template type restrictions are enabled), or
(c) the value is unused, or
(d) the source object type is unknown (to avoid error cascades)
|
ConformanceRules.BanUnresolvedType |
Banned accessing properties from objects that are unresolved
forward-declared type names.
|
ConformanceRules.ConformanceResult |
Classes extending AbstractRule must return ConformanceResult
from their checkConformance implementation.
|
ConformanceRules.RequireFileoverviewVisibility |
Requires source files to contain a top-level @fileoverview block
with an explicit visibility annotation.
|
ConformanceRules.RequireUseStrict |
Require "use strict" rule
|
ConformanceRules.StrictBanUnresolvedType |
Ban any use of unresolved forward-declared types
|
ControlFlowAnalysis |
This is a compiler pass that computes a control flow graph.
|
ControlFlowGraph<N> |
Control flow graph.
|
ControlFlowGraph.AbstractCfgNodeTraversalCallback |
Abstract callback to visit a control flow graph node without going into
subtrees of the node that are also represented by other
control flow graph nodes.
|
CrossChunkMethodMotion |
Move prototype methods into later chunks.
|
CrossChunkReferenceCollector |
Collects global variable references for use by CrossChunkCodeMotion .
|
CssRenamingMap.ByPart |
ByPart renaming map
|
CssRenamingMap.ByWhole |
ByWhole renaming map
|
DartSuperAccessorsPass |
Converts super getter and setter calls in order to support the output
of the Dart Dev Compiler (https://github.com/dart-lang/dev_compiler).
|
DeadPropertyAssignmentElimination |
An optimization pass that finds and removes dead property assignments within functions and
classes.
|
DefaultExterns |
Contains information on default externs files.
|
DefaultNameGenerator |
A simple class for generating unique JavaScript variable/property names.
|
DefaultPassConfig |
Pass factories and meta-data for native JSCompiler passes.
|
DependencyOptions |
Options for how to manage dependencies between input files.
|
DestructuredTarget |
Represents a single target inside a destructuring pattern, whether another pattern or a lhs
expression.
|
DiagnosticGroup |
Group a set of related diagnostic types together, so that they can be toggled on and off as one
unit.
|
DiagnosticGroupPathSuppressingWarningsGuard |
A warnings guard that suppresses warnings for a particular diagnostic group for a file that
contains the specified substring.
|
DiagnosticGroups |
Named groups of DiagnosticTypes exposed by Compiler.
|
DiagnosticGroupWarningsGuard |
Sets the level for a particular DiagnosticGroup.
|
DiagnosticToSuppressionMapper |
Used to print a map from diagnostic id to suppression.
|
DiagnosticType |
The type of a compile or analysis error.
|
DotFormatter |
DotFormatter prints out a dot file of the Abstract Syntax Tree.
|
EmptyMessageBundle |
An implementation of MessageBundle that has no translations.
|
Es6CheckModule |
Checks that ES6 Modules are used correctly, and do not reference undefined keywords or features.
|
Es6ConvertSuper |
Converts super.method() calls and adds constructors to any classes that lack them.
|
Es6ConvertSuperConstructorCalls |
Converts super() calls.
|
Es6ExtractClasses |
Extracts ES6 classes defined in function calls to local constants.
|
Es6ForOfConverter |
Converts ES6 "for of" loops to ES5.
|
Es6NormalizeShorthandProperties |
Normalizes shorthand object properties.
|
Es6RelativizeImportPaths |
Rewrites ES6 import paths to be relative after resolving according to the compiler's module
resolver.
|
Es6RenameVariablesInParamLists |
Renames declarations and references in function bodies to avoid shadowing
names referenced in the parameter list, in default values or computed properties.
|
Es6RewriteArrowFunction |
Converts ES6 arrow functions to standard anonymous ES3 functions.
|
Es6RewriteBlockScopedDeclaration |
Rewrite "let"s and "const"s as "var"s.
|
Es6RewriteBlockScopedFunctionDeclaration |
Rewrite block-scoped function declarations as "let"s.
|
Es6RewriteClass |
Converts ES6 classes to valid ES5 or ES3 code.
|
Es6RewriteClassExtendsExpressions |
Extracts ES6 class extends expressions and creates an alias.
|
Es6RewriteDestructuring |
Rewrites destructuring patterns and default parameters to valid ES3 code or to a different form
of destructuring.
|
Es6RewriteModules |
Rewrites a ES6 module into a form that can be safely concatenated.
|
Es6RewriteModulesToCommonJsModules |
Rewrites an ES6 module to a CommonJS-like module for the sake of per-file transpilation +
bunlding (e.g.
|
Es6RewriteRestAndSpread |
Converts REST parameters and SPREAD expressions.
|
Es6RewriteScriptsToModules |
Rewrites a script which was imported as a module into an ES6 module.
|
Es6SplitVariableDeclarations |
Splits variable declarations that declare multiple variables into
separate declarations, if at least one of the declarations is a
destructuring declaration.
|
Es6ToEs3ClassSideInheritance |
Rewrites static inheritance to explicitly copy inherited properties from superclass to subclass
so that the optimizer knows the subclass has those properties.
|
Es6ToEs3Util |
Util functions for converting Es6 to Es5
|
Es7RewriteExponentialOperator |
Replaces the ES7 `**` and `**=` operators to calls to `Math.pow`.
|
ExportTestFunctions |
Generates goog.exportSymbol for test functions, so they can be recognized
by the test runner, even if the code is compiled.
|
FieldCleanupPass |
A CleanupPass implementation that will remove all field declarations on
JSTypes contributed by the original file.
|
FileAwareWarningsGuard |
An abstract WarningsGuard that provides an additional getScriptNodeForError() method
for accessing the containing SCRIPT node of the AST in a robust way.
|
FindModuleDependencies |
Find and update any direct dependencies of an input.
|
GatherGetterAndSetterProperties |
Finds getter and setter properties in the AST.
|
GatherModuleMetadata |
Gathers metadata around modules that is useful for checking imports / requires and creates a
ModuleMetadataMap .
|
GenerateExports |
Generates goog.exportSymbol/goog.exportProperty for the @export annotation.
|
GoogleCodingConvention |
This describes the Google-specific JavaScript coding conventions.
|
GoogleJsMessageIdGenerator |
|
IdGenerator |
Id generator used in CrossModuleMotion.
|
IdMappingUtil |
A utility class for generating and parsing id mappings held by ReplaceIdGenerators .
|
ImplicitNullabilityCheck |
Warn about types in JSDoc that are implicitly nullable.
|
ImplicitNullabilityCheck.Result |
Information to represent a single "implicit nullability result", including the JSDoc string
node that needs a "!" or "?" to be explicit, as well as an enum indicating which of the two
nullability cases were found ("!" or "?").
|
InjectTranspilationRuntimeLibraries |
Injects JS library code that may be needed by the transpiled form of the input source code.
|
InvalidatingTypes |
|
InvalidatingTypes.Builder |
Builder
|
J2clAssertRemovalPass |
An optimization pass to remove J2CL Asserts.$assert.
|
J2clChecksPass |
Performs correctness checks which are specific to J2CL-generated patterns.
|
J2clClinitPrunerPass |
An optimization pass to prune J2CL clinits.
|
J2clConstantHoisterPass |
An optimization pass for J2CL-generated code to hoist some constant assignments out clinit method
to declaration phase so they could be used by other optimization passes for static evaluation.
|
J2clEqualitySameRewriterPass |
An optimization pass to re-write J2CL Equality.$same.
|
J2clPass |
A normalization pass to inline some J2CL calls to enable other optimizations.
|
J2clPropertyInlinerPass |
This pass targets J2CL output.
|
J2clSuppressWarningsGuard |
A warnings guard that suppresses some warnings incompatible with J2CL.
|
J2clUtilGetDefineRewriterPass |
A normalization pass to re-write Util.$getDefine calls to make them work in compiled mode.
|
JsAst |
Generates an AST for a JavaScript source file.
|
JsAst.ParseResult |
Simple class to share parse results between compilation jobs
|
JsAst.RhinoError |
Representation of Rhino parser error.
|
JSDocInfoPrinter |
Prints a JSDocInfo, used for preserving type annotations in ES6 transpilation.
|
JSError |
Compile error description.
|
JsMessage |
A representation of a translatable message in JavaScript source code.
|
JsMessage.Builder |
Contains functionality for creating JS messages.
|
JsMessage.PlaceholderReference |
A reference to a placeholder in a translatable message.
|
JsMessageDefinition |
Container class that holds information about JS message source.
|
JsMessageExtractor |
Extracts messages and message comments from JS code.
|
JsMessageVisitor |
Traverses across parsed tree and finds I18N messages.
|
JSModule |
A JavaScript module has a unique name, consists of a list of compiler inputs, and can depend on
other modules.
|
JSModuleGraph |
A JSModule dependency graph that assigns a depth to each module and can answer
depth-related queries about them.
|
JsonErrorReportGenerator |
An error report generator that prints error and warning data to the print stream as an array of
JSON objects.
|
LateEs6ToEs3Converter |
Converts ES6 code to valid ES5 code.
|
LazyParsedDependencyInfo |
A DependencyInfo class that determines load flags by parsing the AST just-in-time.
|
LightweightMessageFormatter |
Lightweight message formatter.
|
Linter |
Tool for running just the lint checks which can be run on a single file at a time.
|
Linter.Builder |
Builder for a Linter that allows some customization.
|
LinterMain |
Minimal binary that just runs the "lint" checks which can be run on a single file at a time.
|
LoggerErrorManager |
An error manager that logs errors and warnings using a logger in addition to
collecting them in memory.
|
MapDiagnosticToSuppression |
Prints out a map from diagnostic id to suppression.
|
MarkUntranspilableFeaturesAsRemoved |
Looks for presence of features that are not supported for transpilation (mostly new RegExp
features).
|
ModuleIdentifier |
Basic information on an entry point module.
|
NodeTraversal |
NodeTraversal allows an iteration through the nodes in the parse tree,
and facilitates the optimizations on the parse tree.
|
NodeTraversal.AbstractModuleCallback |
Abstract callback that knows when a global script, goog.provide file, goog.module,
goog.loadModule, ES module or CommonJS module is entered or exited.
|
NodeTraversal.AbstractPostOrderCallback |
Abstract callback to visit all nodes in postorder.
|
NodeTraversal.AbstractPreOrderCallback |
Abstract callback to visit all nodes in preorder.
|
NodeTraversal.AbstractScopedCallback |
Abstract scoped callback to visit all nodes in postorder.
|
NodeTraversal.AbstractShallowCallback |
Abstract callback to visit all nodes but not traverse into function
bodies.
|
NodeTraversal.AbstractShallowStatementCallback |
Abstract callback to visit all structure and statement nodes but doesn't traverse into
functions or expressions.
|
NodeTraversal.ExternsSkippingCallback |
Abstract callback to visit all non-extern nodes in postorder.
|
NodeUtil |
NodeUtil contains generally useful AST utilities.
|
NodeUtil.GoogRequire |
Represents a goog.require'd namespace and property inside a module.
|
PassConfig |
Pass factories and meta-data for native Compiler passes.
|
PassConfig.PassConfigDelegate |
An implementation of PassConfig that just proxies all its method calls into an inner class.
|
PassFactory |
A factory for creating JSCompiler passes based on the Options injected.
|
PassFactory.Builder |
|
PassNames |
If the name of a pass is used in more than one place in the source, it's good to create a
symbolic name here.
|
PerformanceTracker |
A PerformanceTracker collects statistics about the runtime of each pass, and
how much a pass impacts the size of the compiled output, before and after
gzip.
|
PerformanceTracker.Stats |
A Stats object contains statistics about a pass run, such as running time,
size changes, etc
|
PrintStreamErrorManager |
Deprecated.
|
PrintStreamErrorReportGenerator |
An error report generator that prints errors and warnings to the print stream provided.
|
ProcessCommonJSModules |
Rewrites a CommonJS module http://wiki.commonjs.org/wiki/Modules/1.1.1 into a form that can be
safely concatenated.
|
PropertyRenamingDiagnostics |
Shared diagnotic type related to property renaming.
|
RandomNameGenerator |
A class for generating unique, randomized JavaScript variable/property
names.
|
RecoverableJsAst |
An implementation of SourceAst that avoids re-creating the AST
unless it was manually cleared.
|
Reference |
Represents a single declaration or reference to a variable.
|
ReferenceCollectingCallback |
A helper class for passes that want to access all information about where a variable is
referenced and declared at once and then make a decision as to how it should be handled, possibly
inlining, reordering, or generating warnings.
|
ReferenceCollection |
A collection of references.
|
ReplacedStringsDecoder |
A decoder for strings encoded by the ReplaceStrings JS compiler pass.
|
Result |
Compilation results
|
RewriteAsyncFunctions |
Converts async functions to valid ES6 generator functions code.
|
RewriteAsyncIteration |
Converts async generator functions into a function returning a new $jscomp.AsyncGenWrapper around
the original block and awaits/yields converted to yields of ActionRecords.
|
RewriteGoogJsImports |
Looks for references to Closure's goog.js file and globalizes.
|
RewriteJsonToModule |
Rewrites a JSON file to be a module export.
|
RewriteNullishCoalesceOperator |
Replaces the ES2020 `??` operator with conditional (?:).
|
RewriteObjectSpread |
Converts object spread to valid ES2017 code.
|
RewritePolyfills |
Injects polyfill libraries to ensure that ES6+ library functions are available.
|
Scope |
Scope contains information about a variable scope in JavaScript.
|
ShowByPathWarningsGuard |
Control whether warnings should be restricted or suppressed for specified
paths.
|
SimpleRegion |
Simple region.
|
SortingErrorManager |
|
SourceFile |
An abstract representation of a source file that provides access to language-neutral features.
|
SourceFile.Builder |
A builder interface for source files.
|
SourceMap |
Collects information mapping the generated (compiled) source back to
its original source for debugging purposes.
|
SourceMap.PrefixLocationMapping |
|
SourceMapInput |
A lazy-loaded SourceMapConsumerV3 instance.
|
SourceMapResolver |
Utility class for resolving source maps and files referenced in source maps.
|
StrictWarningsGuard |
All warnings should be reported as errors.
|
SymbolTable |
A symbol table for people that want to use Closure Compiler as an indexer.
|
SymbolTable.Reference |
Reference
|
SymbolTable.Symbol |
A symbol-table entry
|
SymbolTable.SymbolScope |
Scope of a symbol
|
SyncCompilerFeatures |
Sets compiler feature set to features used in the externs and sources
|
SyntacticScopeCreator |
The syntactic scope creator scans the parse tree to create a Scope object containing all the
variable declarations in that scope.
|
SyntheticAst |
An AST generated totally by the compiler.
|
TemplateAstMatcher |
A matcher that can take an arbitrary AST and use it as a template to find
matches in another.
|
ThreadSafeDelegatingErrorManager |
A simple delegating ErrorManager that provides a thread-safe wrapper
for the one being delegated.
|
TransformAMDToCJSModule |
Rewrites an AMD module https://github.com/amdjs/amdjs-api/wiki/AMD to a
CommonJS module.
|
TranspilationPasses |
Provides a single place to manage transpilation passes.
|
TypeCheck |
Checks the types of JS expressions against any declared type
information.
|
TypedScope |
TypedScope contains information about variables and their types.
|
TypedVar |
|
TypeMismatch |
Signals that the first type and the second type have been used interchangeably.
|
UniqueIdSupplier |
Generates unique String Ids when requested via a compiler instance.
|
Var |
Used by Scope to store information about variables.
|
VariableMap |
Stores the mapping from original variable name to new variable names.
|
WarningsGuard |
Class that allows to flexibly manage what to do with a reported warning/error.
|
WhitespaceWrapGoogModules |
Replicates the effect of ClosureBundler in whitespace-only mode and wraps goog.modules
in goog.loadModule calls.
|
Xid |
A simple utility for shortening identifiers in a stable way.
|
XtbMessageBundle |
A MessageBundle that parses messages from an XML Translation Bundle (XTB)
file.
|