private Add ( bool checkOverflow, bool unsigned ) : void | ||
checkOverflow | bool | |
unsigned | bool | |
return | void |
private void Add(bool checkOverflow, bool unsigned)
{
var val2 = _opStack.Pop();
var val1 = _opStack.Pop();
// TODO: float/double
// TODO: overflow
var type = CorInfoType.Int;
if (unsigned)
{
var v1 = (uint)val1.I;
var v2 = (uint)val2.I;
_opStack.Push(new ObjectInstance { I = v1 + v2, Type = type });
}
else
{
var v1 = (int)val1.I;
var v2 = (int)val2.I;
_opStack.Push(new ObjectInstance { I = v1 + v2, Type = type });
}
}
private void Sub(bool checkOverflow, bool unsigned)