Cosmos/source2/IL2CPU/Cosmos.IL2CPU/MethodInfo.cs

45 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
namespace Cosmos.IL2CPU
{
public class MethodInfo
{
public enum TypeEnum { Normal, Plug, NeedsPlug };
public readonly MethodBase MethodBase;
public readonly TypeEnum Type;
public readonly UInt32 UID;
public readonly MethodInfo PlugMethod;
public readonly Type MethodAssembler;
public readonly bool IsInlineAssembler = false;
public MethodInfo PluggedMethod;
public MethodInfo(MethodBase aMethodBase, UInt32 aUID, TypeEnum aType, MethodInfo aPlugMethod, Type aMethodAssembler) : this(aMethodBase, aUID, aType, aPlugMethod)
{
MethodAssembler = aMethodAssembler;
}
public MethodInfo(MethodBase aMethodBase, UInt32 aUID, TypeEnum aType, MethodInfo aPlugMethod)
{
MethodBase = aMethodBase;
UID = aUID;
Type = aType;
PlugMethod = aPlugMethod;
}
public MethodInfo(MethodBase aMethodBase, UInt32 aUID, TypeEnum aType, MethodInfo aPlugMethod, bool isInlineAssembler)
{
MethodBase = aMethodBase;
UID = aUID;
Type = aType;
PlugMethod = aPlugMethod;
IsInlineAssembler = isInlineAssembler;
}
}
}