Cosmos/source/Kernel-X86/10-CPU/Cosmos.CPU_Asm/Delegate/DelegateGetMulticastInvokeAsm.cs
2017-08-10 21:57:29 -04:00

16 lines
598 B
C#

using System.Reflection;
using XSharp.Assembler;
using Cosmos.IL2CPU;
using XSharp;
namespace Cosmos.CPU_Asm {
public class DelegateGetMulticastInvokeAsm : AssemblerMethod {
public override void AssembleNew(Assembler aAssembler, object aMethodInfo) {
var xAssembler = aAssembler;
var xMethodInfo = (MethodInfo)aMethodInfo;
var xDelegate = typeof(global::System.Delegate);
var xMethod = xDelegate.GetMethod("GetInvokeMethod", BindingFlags.NonPublic | BindingFlags.Instance);
XS.Push(ILOp.GetLabel(xMethod));
}
}
}