Package | Description |
---|---|
com.google.javascript.jscomp |
Provides the core compiler and its public API.
|
com.google.javascript.jscomp.ijs | |
com.google.javascript.jscomp.lint |
Provides "lint" checks: Checks which are likely to provide a lot of false positives, and therefore
should not generally be turned on as errors, but which might be appropriate to include in a static
analysis tool.
|
Modifier and Type | Interface and Description |
---|---|
interface |
HotSwapCompilerPass
Interface for compiler passes that can be used in a hot-swap fashion.
|
Modifier and Type | Class and Description |
---|---|
class |
AstValidator
This class walks the AST and validates that the structure is correct.
|
class |
CheckConformance
Provides a framework for checking code against a set of user configured conformance rules.
|
class |
CheckMissingAndExtraRequires
Walks the AST looking for usages of qualified names, and 'goog.require's of those names.
|
class |
ChromePass
Compiler pass for Chrome-specific needs.
|
class |
ClosureCheckModule
Checks that goog.module() is used correctly.
|
class |
ControlFlowAnalysis
This is a compiler pass that computes a control flow graph.
|
class |
CrossChunkReferenceCollector
Collects global variable references for use by
CrossChunkCodeMotion . |
class |
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). |
class |
DeadPropertyAssignmentElimination
An optimization pass that finds and removes dead property assignments within functions and
classes.
|
class |
DefinitionUseSiteFinder
Built on top of the
NameBasedDefinitionProvider , this class additionally collects the use
sites for each definition. |
class |
Es6CheckModule
Checks that ES6 Modules are used correctly, and do not reference undefined keywords or features.
|
class |
Es6ConvertSuper
Converts
super.method() calls and adds constructors to any classes that lack them. |
class |
Es6ConvertSuperConstructorCalls
Converts
super() calls. |
class |
Es6ExtractClasses
Extracts ES6 classes defined in function calls to local constants.
|
class |
Es6ForOfConverter
Converts ES6 "for of" loops to ES5.
|
class |
Es6InjectRuntimeLibraries
Injects JS library code that may be needed by the transpiled form of the input source code.
|
class |
Es6NormalizeShorthandProperties
Normalizes shorthand object properties.
|
class |
Es6RelativizeImportPaths
Rewrites ES6 import paths to be relative after resolving according to the compiler's module
resolver.
|
class |
Es6RenameVariablesInParamLists
Renames declarations and references in function bodies to avoid shadowing
names referenced in the parameter list, in default values or computed properties.
|
class |
Es6RewriteArrowFunction
Converts ES6 arrow functions to standard anonymous ES3 functions.
|
class |
Es6RewriteBlockScopedDeclaration
Rewrite "let"s and "const"s as "var"s.
|
class |
Es6RewriteBlockScopedFunctionDeclaration
Rewrite block-scoped function declarations as "let"s.
|
class |
Es6RewriteClass
Converts ES6 classes to valid ES5 or ES3 code.
|
class |
Es6RewriteClassExtendsExpressions
Extracts ES6 class extends expressions and creates an alias.
|
class |
Es6RewriteDestructuring
Rewrites destructuring patterns and default parameters to valid ES3 code or to a different form
of destructuring.
|
class |
Es6RewriteModules
Rewrites a ES6 module into a form that can be safely concatenated.
|
class |
Es6RewriteModulesToCommonJsModules
Rewrites an ES6 module to a CommonJS-like module for the sake of per-file transpilation +
bunlding (e.g.
|
class |
Es6RewriteRestAndSpread
Converts REST parameters and SPREAD expressions.
|
class |
Es6RewriteScriptsToModules
Rewrites a script which was imported as a module into an ES6 module.
|
class |
Es6SplitVariableDeclarations
Splits variable declarations that declare multiple variables into
separate declarations, if at least one of the declarations is a
destructuring declaration.
|
class |
Es6ToEs3ClassSideInheritance
Rewrites static inheritance to explicitly copy inherited properties from superclass to
subclass so that the typechecker knows the subclass has those properties.
|
class |
Es6TypedToEs6Converter
Converts
Node.getDeclaredTypeExpression() to JSDocInfo.getType() type
annotations. |
class |
Es7RewriteExponentialOperator
Replaces the ES7 `**` and `**=` operators to calls to `Math.pow`.
|
class |
ExportTestFunctions
Generates goog.exportSymbol for test functions, so they can be recognized
by the test runner, even if the code is compiled.
|
class |
FieldCleanupPass
A CleanupPass implementation that will remove all field declarations on
JSTypes contributed by the original file.
|
class |
GatherModuleMetadata
Gathers metadata around modules that is useful for checking imports / requires and creates a
ModuleMetadataMap . |
class |
ImplicitNullabilityCheck
Warn about types in JSDoc that are implicitly nullable.
|
class |
J2clAssertRemovalPass
An optimization pass to remove J2CL Asserts.$assert.
|
class |
J2clChecksPass
Performs correctness checks which are specific to J2CL-generated patterns.
|
class |
J2clClinitPrunerPass
An optimization pass to prune J2CL clinits.
|
class |
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.
|
class |
J2clPass
A normalization pass to inline some J2CL calls to enable other optimizations.
|
class |
J2clPropertyInlinerPass
This pass targets J2CL output.
|
class |
J2clUtilGetDefineRewriterPass
A normalization pass to re-write Util.$getDefine calls to make them work in compiled mode.
|
class |
JsMessageVisitor
Traverses across parsed tree and finds I18N messages.
|
class |
LateEs6ToEs3Converter
Converts ES6 code to valid ES5 code.
|
class |
MarkUntranspilableFeaturesAsRemoved
Looks for presence of features that are not supported for transpilation (mostly new RegExp
features).
|
class |
NameBasedDefinitionProvider
Simple name-based definition gatherer.
|
class |
ProcessCommonJSModules
Rewrites a CommonJS module http://wiki.commonjs.org/wiki/Modules/1.1.1 into a form that can be
safely concatenated.
|
class |
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.
|
class |
RemoveSuperMethodsPass
A pass for deleting methods that only make a super call with no change in arguments.
|
class |
RewriteAsyncFunctions
Converts async functions to valid ES6 generator functions code.
|
class |
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.
|
class |
RewriteGoogJsImports
Looks for references to Closure's goog.js file and globalizes.
|
class |
RewriteJsonToModule
Rewrites a JSON file to be a module export.
|
class |
RewriteObjectSpread
Converts object spread to valid ES2017 code.
|
class |
RewritePolyfills
Injects polyfill libraries to ensure that ES6 library functions are available.
|
class |
TransformAMDToCJSModule
Rewrites an AMD module https://github.com/amdjs/amdjs-api/wiki/AMD to a
CommonJS module.
|
class |
TypeCheck
Checks the types of JS expressions against any declared type
information.
|
class |
WhitespaceWrapGoogModules
Replicates the effect of ClosureBundler in whitespace-only mode and wraps goog.modules
in goog.loadModule calls.
|
Modifier and Type | Field and Description |
---|---|
protected com.google.common.collect.Multimap<CustomPassExecutionTime,CompilerPass> |
CompilerOptions.customPasses
Custom passes
|
Modifier and Type | Method and Description |
---|---|
protected abstract CompilerPass |
PassFactory.create(AbstractCompiler compiler)
Creates a new compiler pass to be run.
|
Modifier and Type | Method and Description |
---|---|
void |
CompilerOptions.addCustomPass(CustomPassExecutionTime time,
CompilerPass customPass) |
Modifier and Type | Class and Description |
---|---|
class |
ConvertToTypedInterface
The goal of this pass is to shrink the AST, preserving only typing, not behavior.
|
Modifier and Type | Class and Description |
---|---|
class |
CheckArrayWithGoogObject
Lints against passing arrays to goog.object methods with the intention of
iterating over them as though with a for-in loop, which is discouraged with
arrays.
|
class |
CheckDuplicateCase
Check for duplicate case labels in a switch statement
Eg:
switch (foo) {
case 1:
case 1:
}
This is normally an indication of a programmer error.
|
class |
CheckEmptyStatements
Check for empty statements (i.e.
|
class |
CheckEnums
Check for duplicate values in enums.
|
class |
CheckEs6ModuleFileStructure
Checks the file structure of ES6 modules.
|
class |
CheckEs6Modules
Miscellaneous checks for style in ES6 modules.
|
class |
CheckInterfaces
Checks for errors related to interfaces.
|
class |
CheckJSDocStyle
Checks for various JSDoc-related style issues, such as function definitions without JsDoc, params
with no corresponding
@param annotation, coding conventions not being respected, etc. |
class |
CheckMissingSemicolon
Check for statements that should end with a semicolon according to the Google style guide.
|
class |
CheckNoMutatedEs6Exports
Checks that exports of ES6 modules are not mutated outside of module initialization.
|
class |
CheckNullabilityModifiers
Checks for missing or redundant nullability modifiers.
|
class |
CheckNullableReturn
Checks when a function is annotated as returning {SomeType} (nullable)
but actually always returns {!SomeType}, i.e.
|
class |
CheckPrimitiveAsObject
Check for explicit creation of the object equivalents of primitive types
(e.g.
|
class |
CheckPrototypeProperties
Checks when a mutable property is assigned to a prototype.
|
class |
CheckRequiresAndProvidesSorted
Checks that goog.require() and goog.provide() calls are sorted alphabetically.
|
class |
CheckUnusedLabels
Check for unused labels blocks.
|
class |
CheckUselessBlocks
Check for useless blocks.
|
Copyright © 2009-2018 Google. All Rights Reserved.