Class Es6RewriteClassExtendsExpressions

  • All Implemented Interfaces:
    CompilerPass, NodeTraversal.Callback

    public final class Es6RewriteClassExtendsExpressions
    extends java.lang.Object
    implements NodeTraversal.Callback, CompilerPass
    Extracts ES6 class extends expressions and creates an alias.

    Example: Before:

    class Foo extends Bar() {}

    After:

    const $jscomp$classextends$var0 = Bar(); class Foo extends $jscomp$classextends$var0 {}

    This must be done before Es6ConvertSuper, because that pass only handles extends clauses which are simple NAME or GETPROP nodes.

    TODO(bradfordcsmith): This pass may no longer be necessary once the typechecker passes have all been updated to understand ES6 classes.

    • 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.
      boolean shouldTraverse​(NodeTraversal t, Node n, Node parent)
      Visits a node in preorder (before its children) and decides whether the node and its children should be traversed.
      void visit​(NodeTraversal t, Node n, Node parent)
      Visits a node in postorder (after its children).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait