singrdk/base/Windows/mkmsil/msil/MetaDataVtableFixup.cs

61 lines
1.6 KiB
C#

//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
namespace Bartok.MSIL
{
using System;
// V-table constants from clr inc\corhdr.h
[Flags]
public enum COR_VTABLE : short {
// V-table slots are 32-bits in size.
_32BIT = 0x01,
// V-table slots are 64-bits in size.
_64BIT = 0x02,
// If set, transition from unmanaged.
FROM_UNMANAGED = 0x04,
// If set, transition from unmanaged with keeping the current appdomain.
FROM_UNMANAGED_RETAIN_APPDOMAIN = 0x08,
// Call most derived method described by
CALL_MOST_DERIVED = 0x10
}
public class MetaDataVtableFixup: MetaDataObject {
// Constructor Methods
internal MetaDataVtableFixup(int rva, short size, COR_VTABLE type,
MetaDataMethod[] fixupMethods) {
this.rva = rva;
this.size = size;
this.type = type;
this.fixupMethods = fixupMethods;
}
// Access Methods
public int RVA {
get { return this.rva; }
}
public short Size {
get { return this.size; }
}
public COR_VTABLE Type {
get { return this.type; }
}
public MetaDataMethod[] FixupMethods {
get { return this.fixupMethods; }
}
private readonly int rva;
private readonly short size;
private readonly COR_VTABLE type;
private readonly MetaDataMethod[] fixupMethods;
}
}