code: JCExpressionStatement SuperCall(TreeMaker make,
                     List<Type> typarams,
                     List<JCVariableDecl> params,
                     boolean based) {
          JCExpression meth;
          if (based) {
              meth = make.Select(make.Ident(params.head), names._super);
              params = params.tail;
          } else {
              meth = make.Ident(names._super);
          }
          List<JCExpression> typeargs = typarams.nonEmpty() ? make.Types(typarams) : null;
          return make.Exec(make.Apply(typeargs, meth, make.Idents(params)));
      }
docs: Generate call to superclass constructor. This is:
  
  super(id_0, ..., id_n)
  
  or, if based == true
  
  id_0.super(id_1,...,id_n)
  
  where id_0, ..., id_n are the names of the given parameters.
  
  @param make    The tree factory
  @param params  The parameters that need to be passed to super
  @param typarams  The type parameters that need to be passed to super
  @param based   Is first parameter a this$n?