blob: 76ec9d1d1182de74bdc81ff19d24fc192da44f80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
//
// Author:
// Jb Evain (jbevain@gmail.com)
//
// Copyright (c) 2008 - 2015 Jb Evain
// Copyright (c) 2008 - 2011 Novell, Inc.
//
// Licensed under the MIT/X11 license.
//
using System;
namespace Mono.Cecil.Metadata {
sealed class GuidHeap : Heap {
public GuidHeap (byte [] data)
: base (data)
{
}
public Guid Read (uint index)
{
const int guid_size = 16;
if (index == 0 || ((index - 1) + guid_size) > data.Length)
return new Guid ();
var buffer = new byte [guid_size];
Buffer.BlockCopy (this.data, (int) ((index - 1) * guid_size), buffer, 0, guid_size);
return new Guid (buffer);
}
}
}
|