mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
//----------------------------------------------------------------------------- |
|
// |
|
// Copyright (c) Microsoft. All rights reserved. |
|
// This code is licensed under the Microsoft Public License. |
|
// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF |
|
// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY |
|
// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR |
|
// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. |
|
// |
|
//----------------------------------------------------------------------------- |
|
using System; |
|
using System.IO; |
|
|
|
namespace Microsoft.Cci.Pdb { |
|
internal class PdbReader { |
|
internal PdbReader(Stream reader, int pageSize) { |
|
this.pageSize = pageSize; |
|
this.reader = reader; |
|
} |
|
|
|
internal void Seek(int page, int offset) { |
|
reader.Seek(page * pageSize + offset, SeekOrigin.Begin); |
|
} |
|
|
|
internal void Read(byte[] bytes, int offset, int count) { |
|
reader.Read(bytes, offset, count); |
|
} |
|
|
|
internal int PagesFromSize(int size) { |
|
return (size + pageSize - 1) / (pageSize); |
|
} |
|
|
|
//internal int PageSize { |
|
// get { return pageSize; } |
|
//} |
|
|
|
internal readonly int pageSize; |
|
internal readonly Stream reader; |
|
} |
|
}
|
|
|