public Tree ClassDef(Symbol clazz, Tree[] body) { return ClassDef(clazz.pos, clazz, body);
public Tree ClassDef(int pos, Symbol clazz, Tree[] constrs, Tree[] body) { Global.instance.nextPhase(); Type clazzinfo = clazz.info(); Type constrtype = clazz.constructor().info(); Global.instance.prevPhase(); switch (clazzinfo) { case CompoundType(Type[] parents, Scope members): Template templ = make.Template(pos, constrs, body); templ.setType(clazzinfo); templ.setSymbol(localDummy(pos, clazz.owner())); return make.ClassDef( pos, clazz.flags & SOURCEFLAGS, clazz.name, mkTypeParams(pos, constrtype.typeParams()), mkParams(pos, constrtype), Tree.Empty, templ) .setSymbol(clazz).setType(definitions.UNIT_TYPE); default: throw new ApplicationError(); }
    public Tree ClassDef(Symbol clazz, Tree[] body) {	return ClassDef(clazz.pos, clazz, body);    }