code: public Symbol location() {
          if (owner.name == null || (owner.name.isEmpty() &&
                                     (owner.flags() & BLOCK) == 0 &&
                                     owner.kind != PCK &&
                                     owner.kind != TYP)) {
              return null;
          }
          return owner;
      }
docs: A Java source description of the location of this symbol; used for
  error reporting.
  
  @return null if the symbol is a package or a toplevel class defined in
  the default package; otherwise, the owner symbol is returned