private final class Es6RewriteGenerators.DecomposeYields extends NodeTraversal.AbstractPreOrderCallback
var name = yield expr;
For example, change the following code:
return x || yield y;
Into:
var temp$$0; if (temp$$0 = x); else temp$$0 = yield y; return temp$$0;This uses the
ExpressionDecomposer
classModifier and Type | Field and Description |
---|---|
private AbstractCompiler |
compiler |
private ExpressionDecomposer |
decomposer |
Constructor and Description |
---|
DecomposeYields(AbstractCompiler compiler) |
Modifier and Type | Method and Description |
---|---|
boolean |
shouldTraverse(NodeTraversal t,
Node n,
Node parent)
Visits a node in pre order (before visiting its children) and decides
whether this node's children should be traversed.
|
private void |
visitLoop(Node n) |
private void |
visitYieldExpression(Node n) |
visit
private final AbstractCompiler compiler
private final ExpressionDecomposer decomposer
DecomposeYields(AbstractCompiler compiler)
public boolean shouldTraverse(NodeTraversal t, Node n, Node parent)
NodeTraversal.Callback
Visits a node in pre order (before visiting its children) and decides
whether this node's children should be traversed. If children are
traversed, they will be visited by
NodeTraversal.Callback.visit(NodeTraversal, Node, Node)
in postorder.
Implementations can have side effects (e.g. modifying the parse tree).
private void visitYieldExpression(Node n)
private void visitLoop(Node n)