% Add Int
meth iadd =^ ( ·
var o : Object ·
var D : DataInfoInt ·
var op1 : int ·
var op2 : int ·
var CurrentFrame : FrameInfo ·
TopFrame.GetFrame(CurrentFrame);
% Getting the first operand on the Operand stack
currentFrame.Pop (o);
if [] o isExactly DataInfoInt ® (DataInfoInt) o.GetInfo(op1);
[] not (o isExactly DataInfoInt) ® miracle
fi
% Getting the second operand on the Operand stack
currentFrame.Pop (o);
if [] o isExactly DataInfoInt ® (DataInfoInt) o.GetInfo(op2);
[] not (o isExactly DataInfoInt) ® miracle
fi
% adding the operands
D.SetInfo(op1 + op2);
currentFrame.Push(D);
TopFrame.SetFrame(CurrentFrame);
end end end end end
)
end