ts.checkDuplicateAnnotations(annotations); return this;
if (body != null){ anonType().superType(ct); ClassBody body = n.typeCheckBody(tc, ct); return n.body(body); }   return n;
    public Node typeCheck(TypeChecker tc) throws SemanticException {        JL5TypeSystem ts = (JL5TypeSystem)tc.typeSystem();        Context c = tc.context();        ClassType ct = c.currentClass();        List argTypes = new LinkedList();        for (Iterator it = this.args.iterator(); it.hasNext();){            Expr e = (Expr) it.next();            argTypes.add(e.type());        }                ConstructorInstance ci = ts.findConstructor(ct, argTypes, c.currentClass());        if (flags != Flags.NONE){            throw new SemanticException("Cannot have modifier(s): "+flags+" on enum constant declaration", this.position());        }        ts.checkDuplicateAnnotations(annotations);        return this;    }