PdbReader.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //-----------------------------------------------------------------------------
  2. //
  3. // Copyright (c) Microsoft. All rights reserved.
  4. // This code is licensed under the Microsoft Public License.
  5. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
  6. // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
  7. // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
  8. // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
  9. //
  10. //-----------------------------------------------------------------------------
  11. using System;
  12. using System.IO;
  13. namespace Microsoft.Cci.Pdb {
  14. internal class PdbReader {
  15. internal PdbReader(Stream reader, int pageSize) {
  16. this.pageSize = pageSize;
  17. this.reader = reader;
  18. }
  19. internal void Seek(int page, int offset) {
  20. reader.Seek(page * pageSize + offset, SeekOrigin.Begin);
  21. }
  22. internal void Read(byte[] bytes, int offset, int count) {
  23. reader.Read(bytes, offset, count);
  24. }
  25. internal int PagesFromSize(int size) {
  26. return (size + pageSize - 1) / (pageSize);
  27. }
  28. //internal int PageSize {
  29. // get { return pageSize; }
  30. //}
  31. internal readonly int pageSize;
  32. internal readonly Stream reader;
  33. }
  34. }