Package com.google.javascript.jscomp
Class RewritePolyfills
- java.lang.Object
-
- com.google.javascript.jscomp.RewritePolyfills
-
- All Implemented Interfaces:
CompilerPass
public class RewritePolyfills extends java.lang.Object implements CompilerPass
Injects polyfill libraries to ensure that ES6+ library functions are available.Also runs if polyfill isolation is enabled, even if polyfill injection is disabled, in order to prevent deletion of a required library function by dead code elimination.
TODO(b/120486392): consider merging this pass with
InjectRuntimeLibraries
andInjectTranspilationRuntimeLibraries
.
-
-
Constructor Summary
Constructors Constructor Description RewritePolyfills(AbstractCompiler compiler, boolean injectPolyfills, boolean isolatePolyfills)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
process(Node externs, Node root)
Process the JS with root node root.
-
-
-
Constructor Detail
-
RewritePolyfills
public RewritePolyfills(AbstractCompiler compiler, boolean injectPolyfills, boolean isolatePolyfills)
- Parameters:
injectPolyfills
- if true, injects $jscomp.polyfill initializations into the first input. if false, no polyfills are injected.isolatePolyfills
- if true, adds externs for library functions used byIsolatePolyfills
to prevent their deletion.
-
-
Method Detail
-
process
public void process(Node externs, Node root)
Description copied from interface:CompilerPass
Process the JS with root node root. Can modify the contents of each Node tree- Specified by:
process
in interfaceCompilerPass
- Parameters:
externs
- Top of external JS treeroot
- Top of JS tree
-
-