@java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          if (hasKind()) {
            hash = (37 * hash) + KIND_FIELD_NUMBER;
            hash = (53 * hash) + kind_;
          }
          if (hasFilePath()) {
            hash = (37 * hash) + FILE_PATH_FIELD_NUMBER;
            hash = (53 * hash) + getFilePath().hashCode();
          }
          if (hasOutputRoot()) {
            hash = (37 * hash) + OUTPUT_ROOT_FIELD_NUMBER;
            hash = (53 * hash) + getOutputRoot().hashCode();
          }
          if (hasRelativePath()) {
            hash = (37 * hash) + RELATIVE_PATH_FIELD_NUMBER;
            hash = (53 * hash) + getRelativePath().hashCode();
          }
          if (hasClassName()) {
            hash = (37 * hash) + CLASS_NAME_FIELD_NUMBER;
            hash = (53 * hash) + getClassName().hashCode();
          }
          if (getSourceUriCount() > 0) {
            hash = (37 * hash) + SOURCE_URI_FIELD_NUMBER;
            hash = (53 * hash) + getSourceUriList().hashCode();
          }
          if (hasContent()) {
            hash = (37 * hash) + CONTENT_FIELD_NUMBER;
            hash = (53 * hash) + getContent().hashCode();
          }
          if (hasLocation()) {
            hash = (37 * hash) + LOCATION_FIELD_NUMBER;
            hash = (53 * hash) + getLocation().hashCode();
          }
          if (hasIsGenerated()) {
            hash = (37 * hash) + IS_GENERATED_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                getIsGenerated());
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }
@java.lang.Override
        public int hashCode()