Example #1
0
 public static BaseModifyInPlace Create(VariableName name, YololModifyOp op, bool pre)
 {
     return(op switch {
         YololModifyOp.Increment => (pre ? new PreIncrement(name) : (BaseModifyInPlace) new PostIncrement(name)),
         YololModifyOp.Decrement => (pre ? new PreDecrement(name) : (BaseModifyInPlace) new PostIncrement(name)),
         _ => throw new ArgumentException($"Unknown YololModifyOp type `{op}`")
     });
Example #2
0
 protected BaseModifyInPlace(VariableName name, YololModifyOp op, bool pre) : base(new Variable(name))
 {
     Name  = name;
     Op    = op;
     PreOp = pre;
 }
Example #3
0
        [NotNull] public static BaseModifyInPlace Create([NotNull] VariableName name, YololModifyOp op, bool pre)
        {
            switch (op)
            {
            case YololModifyOp.Increment: return(pre ? new PreIncrement(name) : (BaseModifyInPlace) new PostIncrement(name));

            case YololModifyOp.Decrement: return(pre ? new PreDecrement(name) : (BaseModifyInPlace) new PostIncrement(name));

            default: throw new ArgumentException($"Unknown YololModifyOp type `{op}`");
            }
        }