Cosmos/source/Cosmos.Core.Plugs.Asm/Delegate/DelegateGetMulticastInvokeAsm.cs
2016-12-13 22:39:41 -06:00

19 lines
651 B
C#

using System;
using System.Reflection;
using Cosmos.Assembler;
using XSharp.Compiler;
namespace Cosmos.IL2CPU.Plugs.Assemblers
{
public class DelegateGetMulticastInvokeAsm : AssemblerMethod
{
public override void AssembleNew(Cosmos.Assembler.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.GetMethodLabel(xMethod));
}
}
}