docs: public String getPrettyName(Symbol sym) {
      if (!sym.getSimpleName().isEmpty()) {
        return sym.getSimpleName().toString();
      }
      if (sym.getKind() == ElementKind.ENUM) {
        // anonymous classes for enum constants are identified by the enclosing constant
        // declaration
        return sym.owner.getSimpleName().toString();
      }
      // anonymous classes have an empty name, but a recognizable superclass or interface
      // e.g. refer to `new Runnable() { ... }` as "Runnable"
      Type superType = state.getTypes().supertype(sym.type);
      if (state.getTypes().isSameType(superType, state.getSymtab().objectType)) {
        superType = Iterables.getFirst(state.getTypes().interfaces(sym.type), superType);
      }
      return superType.tsym.getSimpleName().toString();
    }