/// <exception cref="NGit.Errors.MissingObjectException"></exception> /// <exception cref="System.IO.IOException"></exception> /// <exception cref="NGit.Diff.SimilarityIndex.TableFullException"></exception> internal virtual void Hash(ObjectLoader obj) { if (obj.IsLarge()) { ObjectStream @in = obj.OpenStream(); try { SetFileSize(@in.GetSize()); Hash(@in, fileSize); } finally { @in.Close(); } } else { byte[] raw = obj.GetCachedBytes(); SetFileSize(raw.Length); Hash(raw, 0, raw.Length); } }