public static Variable postinc(Constants c, Variable v) { P6any o1 = v.Fetch(); v.AssignO(o1.mo.mro_succ.Get(v), false); if (!o1.IsDefined()) { if (o1.Isa(c.setting.BoolMO)) o1 = c.setting.FalseV; else o1 = Kernel.BoxRaw<int>(0, c.setting.IntMO); } return o1; }
public static Variable preinc(Variable v) { v.AssignO(v.Fetch().mo.mro_succ.Get(v), false); return v; }
public static Variable postdec(Variable v) { P6any o1 = v.Fetch(); v.AssignO(o1.mo.mro_pred.Get(v), false); if (!o1.IsDefined()) { if (o1.Isa(Kernel.BoolMO)) o1 = Kernel.FalseV; else o1 = Kernel.BoxRaw<int>(0, Kernel.IntMO); } return o1; }