[Test] public void PassByValue()
    {
        S a = done.Via();
        S b = a;

        o(a, b);
        o(b, a);
        o(a.Equals(b));
        o(b.Equals(a));
        o(!Object.ReferenceEquals(a, b));
    }
 bool Equals(S exp, S value)
 {
     if (exp.Equals(value) == false)
     {
         return(false);
     }
     else if ((exp == value) == false)
     {
         return(false);
     }
     else if ((exp != value) == true)
     {
         return(false);
     }
     return(true);
 }
 public static status ε(status s,
                        [P] S path = "", [M] S member = "", [L] int line = 0)
 => Eval(s, path, member, line);
 public static status Eval(status s,
                           [P] S path = "", [M] S member = "", [L] int line = 0)
 => log?Lg.Status(s, null, path, member, line) : s;
 internal StatusRef(status value, LogData logData)
 {
     x = value; this.logData = logData;
 }
Beispiel #6
0
 public abstract void OnStatus(status s);
Beispiel #7
0
 override public void OnStatus(status s) => OnStatus(s.running);
Beispiel #8
0
 public Self.Gate?Tie(status @in, [Tag] int key = -1)
 => store.Decorator <Self>(key, Self.id)[@in, crit : true];
Beispiel #9
0
 public Self.Gate?While(status @in, [Tag] int key = -1)
 => store.Decorator <Self>(key, Self.id)[@in, crit : false];
Beispiel #10
0
 public Gate? this[status @in, bool crit] {
     get{
         StatusRef.hold = @in;
         return(@in.running ? Eval(crit) : Bypass());
     }
 }
Beispiel #11
0
 override public void OnStatus(status s) => passing &= s.running;