Cosmos/source2/IL2PCU/Cosmos.IL2CPU.X86/Plugs/NEW_PLUGS/GetMulticastInvokeAssembler.cs
mterwoord_cp c89d625a1c
2009-10-19 08:28:04 +00:00

26 lines
879 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cosmos.IL2CPU.Plugs;
using Cosmos.IL2CPU.X86.IL;
using Cosmos.IL2CPU;
using System.Reflection;
using MethodInfo = Cosmos.IL2CPU.MethodInfo;
using CPUx86 = Cosmos.IL2CPU.X86;
namespace Indy.IL2CPU.X86.Plugs.NEW_PLUGS
{
public class GetMulticastInvokeAssembler: AssemblerMethod
{
public override void AssembleNew(object aAssembler, object aMethodInfo)
{
var xAsm = (Assembler)aAssembler;
var xMethodInfo = (MethodInfo)aMethodInfo;
var xDelegate = typeof(Delegate);
var xMethod = xDelegate.GetMethod("GetInvokeMethod", BindingFlags.NonPublic | BindingFlags.Instance);
new CPUx86.Push { DestinationRef = ElementReference.New(ILOp.GetMethodLabel(xMethod)) };
}
}
}