94b2861243
Former-commit-id: 5f9c6ae75f295e057a7d2971f3a6df4656fa8850
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
//-----------------------------------------------------------------------------
|
|
//
|
|
// 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;
|
|
}
|
|
}
|