case Primitive.IS : return tp;
case Primitive.IS : return Type.PolyType(tp.typeParams(), Type.MethodType(tp.valueParams(), tp.resultType().erasure()));
    public Type transformInfo(Symbol sym, Type tp) {        if (sym.isClass()) return Type.erasureMap.map(tp);        if (sym.isType()) return tp;        if (sym == definitions.NULL) return tp.resultType().erasure();        switch (primitives.getPrimitive(sym)) {        case Primitive.IS : return tp;        case Primitive.AS : return tp;        case Primitive.BOX: return eraseParams(tp);        default           : return tp.erasure();        }    }