function classCall(func, object, staticObject, superClass) {
  if (superClass) {
    return parseExpression
        `($traceurRuntime.createClass)(${func}, ${object}, ${staticObject},
                                       ${superClass})`;
  }
  return parseExpression
      `($traceurRuntime.createClass)(${func}, ${object}, ${staticObject})`;
}
function classCall(func, object, staticObject, superClass) {
  if (superClass) {
    return parseExpression
        `($traceurRuntime.createClass)(${func}, ${object}, ${staticObject},
                                       ${superClass})`;
  }
  return parseExpression
      `($traceurRuntime.createClass)(${func}, ${object}, ${staticObject})`;
}
function classCall ( func , object , staticObject , superClass ) { if ( superClass ) { return parseExpression ` ${ func } ${ object } ${ staticObject } ${ superClass } ` ; } return parseExpression ` ${ func } ${ object } ${ staticObject } ` ; }
Maximally minimal classes  http://wiki.ecmascript.org/doku.php?id=strawman:maximally_minimal_classes  This transforms class declarations and class expressions.  class C extends B { constructor(x) { super(); } method() { super.m(); } }  =>  var C = function(x) { $__superCall(this, $C.prototype, 'constructor', []); }; var $C = $traceurRuntime.createClass(C, { method: function() { $traceurRuntime.superCall(this, $C.prototype, 'm', []); } }, {}, B);
Maximally minimal classes http : // wiki . ecmascript . org / doku . php?id = strawman : maximally_minimal_classes This transforms class declarations and class expressions . class C extends B { constructor ( x ) { super () ; } method () { super . m () ; } } = > var C = function ( x ) { $__superCall ( this $C . prototype constructor [] ) ; } ; var $C = $traceurRuntime . createClass ( C { method : function () { $traceurRuntime . superCall ( this $C . prototype m [] ) ; } } {} B ) ;