Exemple #1
0
        static MethodExportInfoOptions ToMethodExportInfoOptions(VTableFlags flags)
        {
            var res = MethodExportInfoOptions.None;

            if ((flags & VTableFlags.FromUnmanaged) != 0)
            {
                res |= MethodExportInfoOptions.FromUnmanaged;
            }
            if ((flags & VTableFlags.FromUnmanagedRetainAppDomain) != 0)
            {
                res |= MethodExportInfoOptions.FromUnmanagedRetainAppDomain;
            }
            if ((flags & VTableFlags.CallMostDerived) != 0)
            {
                res |= MethodExportInfoOptions.CallMostDerived;
            }
            return(res);
        }
 /// <summary>
 ///     Constructor
 /// </summary>
 /// <param name="rva">RVA of this vtable</param>
 /// <param name="flags">Flgas</param>
 /// <param name="numSlots">Number of methods in vtable</param>
 public VTable(RVA rva, VTableFlags flags, int numSlots)
 {
     RVA     = rva;
     Flags   = flags;
     Methods = ThreadSafeListCreator.Create <IMethod>(numSlots);
 }
 /// <summary>
 ///     Constructor
 /// </summary>
 /// <param name="rva">RVA of this vtable</param>
 /// <param name="flags">Flgas</param>
 /// <param name="methods">Vtable methods</param>
 public VTable(RVA rva, VTableFlags flags, ThreadSafe.IEnumerable <IMethod> methods)
 {
     RVA     = rva;
     Flags   = flags;
     Methods = ThreadSafeListCreator.Create(methods);
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="rva">RVA of this vtable</param>
 /// <param name="flags">Flgas</param>
 /// <param name="methods">Vtable methods</param>
 public VTable(RVA rva, VTableFlags flags, IEnumerable <IMethod> methods)
 {
     this.rva     = rva;
     this.flags   = flags;
     this.methods = ThreadSafeListCreator.Create <IMethod>(methods);
 }
 /// <summary>
 ///     Constructor
 /// </summary>
 /// <param name="flags">Flags</param>
 public VTable(VTableFlags flags)
 {
     Flags   = flags;
     Methods = ThreadSafeListCreator.Create <IMethod>();
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="rva">RVA of this vtable</param>
 /// <param name="flags">Flgas</param>
 /// <param name="numSlots">Number of methods in vtable</param>
 public VTable(RVA rva, VTableFlags flags, int numSlots)
 {
     this.rva     = rva;
     this.flags   = flags;
     this.methods = ThreadSafeListCreator.Create <IMethod>(numSlots);
 }
Exemple #7
0
 public VTableInfo(VTableFlags flags)
 {
     Flags   = flags;
     Methods = new List <MethodInfo>();
 }
Exemple #8
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="rva">RVA of this vtable</param>
 /// <param name="flags">Flgas</param>
 /// <param name="methods">Vtable methods</param>
 public VTable(RVA rva, VTableFlags flags, IEnumerable <IMethod> methods)
 {
     this.rva     = rva;
     this.flags   = flags;
     this.methods = new List <IMethod>(methods);
 }
Exemple #9
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="rva">RVA of this vtable</param>
 /// <param name="flags">Flgas</param>
 /// <param name="numSlots">Number of methods in vtable</param>
 public VTable(RVA rva, VTableFlags flags, int numSlots)
 {
     this.rva     = rva;
     this.flags   = flags;
     this.methods = new List <IMethod>(numSlots);
 }
Exemple #10
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="flags">Flags</param>
 public VTable(VTableFlags flags)
 {
     this.flags   = flags;
     this.methods = new List <IMethod>();
 }