constructor(identifierGenerator, reporter, options) {
    super(identifierGenerator, reporter, options);
    // Pushing onto this stack is done in pairs. For classes we push one state
    // for the class object and one for the prototype object. This way we can
    // remove the prototype state as we visit static class elements. We also
    // peek at the length - 2 when we find a super() (since that needs the class
    // object).
    this.stateStack_ = [];
  }
Transforms super in object literals and class literals.

For object literals we do something like this:

  {
    m() { super.x(); }
  }

=>

  $tmp = { m() { $traceurRuntime.superGet(this, $tmp, "x").call(this); } }

For classes we just ensure that the class has a name

  class {
    m() { super.x() }
  }

=>

  class $tmp {
    m() {
      $traceurRuntime.superGet(this, $tmp.prototype, "x").call(this);
    }
  }