- 修复 EvalStackCalculator不支持Conv_R_Un指令的bug

- 修复未不支持float与double进行二元计算的bug
dev
walon 2025-06-22 12:03:34 +08:00
parent 73915db7ca
commit 38ebe11d7d
1 changed files with 4 additions and 3 deletions

View File

@ -233,6 +233,7 @@ namespace Obfuz.Emit
switch (op2)
{
case EvalDataType.Float: return EvalDataType.Float;
case EvalDataType.Double: return EvalDataType.Double;
default: throw new Exception($"Unsupported operand type: {op2} for {op1} in binary operation.");
}
}
@ -240,6 +241,7 @@ namespace Obfuz.Emit
{
switch (op2)
{
case EvalDataType.Float:
case EvalDataType.Double: return EvalDataType.Double;
default: throw new Exception($"Unsupported operand type: {op2} for {op1} in binary operation.");
}
@ -658,9 +660,8 @@ namespace Obfuz.Emit
}
case Code.Conv_R_Un:
{
//PushStack(newDataTack, EvalDataType.Double);
//break;
throw new Exception($"unsupported opcode:{inst}");
PushStack(newPushedDatas, EvalDataType.Double);
break;
}
case Code.Cpobj:
case Code.Initobj: