public List<Type> directSupertypes(TypeMirror t) { validateTypeNotIn(t, EXEC_OR_PKG); Type type = (Type) t; Type sup = types.supertype(type); return (sup == Type.noType || sup == type || sup == null) ? types.interfaces(type) : types.interfaces(type).prepend(sup); }