public final class Es6ExtractClasses extends NodeTraversal.AbstractPostOrderCallback implements HotSwapCompilerPass
Example:
Before: foo(class { constructor() {} });
After:
const $jscomp$classdecl$var0 = class { constructor() {} };
foo($jscomp$classdecl$var0);
This must be done before Es6RewriteClass, because that pass only handles classes
that are declarations or simple assignments.
| Modifier and Type | Method and Description |
|---|---|
void |
hotSwapScript(Node scriptRoot,
Node originalRoot)
Process the JS with root node root.
|
void |
process(Node externs,
Node root)
Process the JS with root node root.
|
void |
visit(NodeTraversal t,
Node n,
Node parent)
Visits a node in postorder (after its children have been visited).
|
shouldTraversepublic void process(Node externs, Node root)
CompilerPassprocess in interface CompilerPassexterns - Top of external JS treeroot - Top of JS treepublic void hotSwapScript(Node scriptRoot, Node originalRoot)
HotSwapCompilerPasshotSwapScript in interface HotSwapCompilerPassscriptRoot - Root node corresponding to the file that is modified,
should be of type Token.SCRIPT.originalRoot - Root node corresponding to the original version of the
file that is modified. Should be of type token.SCRIPT.public void visit(NodeTraversal t, Node n, Node parent)
NodeTraversal.CallbackVisits a node in postorder (after its children have been visited).
A node is visited only if all its parents should be traversed
(NodeTraversal.Callback.shouldTraverse(NodeTraversal, Node, Node)).
Implementations can have side effects (e.g. modifying the parse tree).
visit in interface NodeTraversal.CallbackCopyright © 2009-2019 Google. All Rights Reserved.