return Type.singleType(prefix, clasz.module());
Symbol module = clasz.sourceModule(); if (module.owner() != clasz.owner()) return type; if (!module.type().isObjectType()) return type; return Type.singleType(prefix, module);
    public Type getTypeToPrintForType0(Type type) {        switch (type) {        case ThisType(Symbol clasz):            if (global.debug || !clasz.isModuleClass()) return type;            Type prefix = getTypeToPrintForType(clasz.owner().thisType());            return Type.singleType(prefix, clasz.module());        case SingleType(_, Symbol sym):            if (global.debug) return type;            if (sym.isSynthetic()) return type.widen();            return type;        case CompoundType(Type[] parts, Scope members):            if (global.debug) return type;            if (type.isFunctionType()) return parts[1];            return type;        case TypeVar(Type origin, Constraint constr):            if (constr.inst != Type.NoType) return constr.inst;            return type;        default:            return type;        }    }