aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Translation/ILOpCodeCall.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ChocolArm64/Translation/ILOpCodeCall.cs')
-rw-r--r--ChocolArm64/Translation/ILOpCodeCall.cs11
1 files changed, 7 insertions, 4 deletions
diff --git a/ChocolArm64/Translation/ILOpCodeCall.cs b/ChocolArm64/Translation/ILOpCodeCall.cs
index 8486a791..c046aeeb 100644
--- a/ChocolArm64/Translation/ILOpCodeCall.cs
+++ b/ChocolArm64/Translation/ILOpCodeCall.cs
@@ -5,16 +5,19 @@ namespace ChocolArm64.Translation
{
struct ILOpCodeCall : IILEmit
{
- private MethodInfo _mthdInfo;
+ public MethodInfo Info { get; private set; }
- public ILOpCodeCall(MethodInfo mthdInfo)
+ public bool IsVirtual { get; private set; }
+
+ public ILOpCodeCall(MethodInfo info, bool isVirtual)
{
- _mthdInfo = mthdInfo;
+ Info = info;
+ IsVirtual = isVirtual;
}
public void Emit(ILMethodBuilder context)
{
- context.Generator.Emit(OpCodes.Call, _mthdInfo);
+ context.Generator.Emit(IsVirtual ? OpCodes.Callvirt : OpCodes.Call, Info);
}
}
} \ No newline at end of file