Example #1
0
    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;
    }
Example #2
0
 public static Variable preinc(Variable v)
 {
     v.AssignO(v.Fetch().mo.mro_succ.Get(v), false);
     return v;
 }
Example #3
0
    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;
    }