PdbReader.cs 841 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright (c) Microsoft. All rights reserved.
  2. // Licensed under the MIT license. See LICENSE file in the project root for full license information.
  3. using System;
  4. using System.IO;
  5. namespace Microsoft.Cci.Pdb {
  6. internal class PdbReader {
  7. internal PdbReader(Stream reader, int pageSize) {
  8. this.pageSize = pageSize;
  9. this.reader = reader;
  10. }
  11. internal void Seek(int page, int offset) {
  12. reader.Seek(page * pageSize + offset, SeekOrigin.Begin);
  13. }
  14. internal void Read(byte[] bytes, int offset, int count) {
  15. reader.Read(bytes, offset, count);
  16. }
  17. internal int PagesFromSize(int size) {
  18. return (size + pageSize - 1) / (pageSize);
  19. }
  20. //internal int PageSize {
  21. // get { return pageSize; }
  22. //}
  23. internal readonly int pageSize;
  24. internal readonly Stream reader;
  25. }
  26. }