Пример #1
0
        public PrtContinuation Clone()
        {
            var clonedVal = new PrtContinuation();

            clonedVal.reason = this.reason;
            clonedVal.retVal = this.retVal.Clone();
            foreach (var loc in retLocals)
            {
                clonedVal.retLocals.Add(loc.Clone());
            }

            return(clonedVal);
        }
Пример #2
0
        public PrtContinuation Clone()
        {
            var clonedVal = new PrtContinuation();

            clonedVal.reason         = this.reason;
            clonedVal.createdMachine = this.createdMachine;
            clonedVal.receiveIndex   = this.receiveIndex;
            clonedVal.retVal         = this.retVal.Clone();
            foreach (var loc in retLocals)
            {
                clonedVal.retLocals.Add(loc.Clone());
            }

            return(clonedVal);
        }
Пример #3
0
        public PrtMachine()
        {
            this.instanceNumber   = 0;
            this.fields           = new List <PrtValue>();
            this.eventValue       = PrtValue.NullValue;
            this.stateStack       = new PrtStateStack();
            this.invertedFunStack = new PrtFunStack();
            this.continuation     = new PrtContinuation();
            this.currentTrigger   = PrtValue.NullValue;
            this.currentPayload   = PrtValue.NullValue;
            this.currentStatus    = PrtMachineStatus.Enabled;
            this.nextSMOperation  = PrtNextStatemachineOperation.EntryOperation;
            this.stateExitReason  = PrtStateExitReason.NotExit;

            this.stateImpl = null;
        }
Пример #4
0
 public PrtMachine()
 {
     this.instanceNumber   = 0;
     this.fields           = new List <PrtValue>();
     this.eventValue       = PrtValue.@null;
     this.stateStack       = new PrtStateStack();
     this.invertedFunStack = new PrtFunStack();
     this.continuation     = new PrtContinuation();
     this.currentTrigger   = PrtValue.@null;
     this.currentPayload   = PrtValue.@null;
     this.currentStatus    = PrtMachineStatus.Enabled;
     this.nextSMOperation  = PrtNextStatemachineOperation.ExecuteFunctionOperation;
     this.stateExitReason  = PrtStateExitReason.NotExit;
     this.sends            = new List <PrtEventValue>();
     this.stateImpl        = null;
     this.renamedName      = null;
     this.isSafe           = false;
 }