示例#1
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    if (!((PrtBoolValue)(new PrtBoolValue(((parent).i).Equals(new PrtIntValue(0))))).bl)
                    {
                        goto AnonFun1_if_0_else;
                    }
                    if (!!(Events_1870448896.E).Equals(Events_1870448896.@null))
                    {
                        throw new PrtAssertFailureException("C:\\\\Workspace\\\\P\\\\Tst\\\\RegressionTests\\\\Integration\\\\Correct\\\\SEM_OneMachine_22\\\\AlonBug_1.p (19, 10): Raised event must be non-null");
                    }
                    (application).Trace("<RaiseLog> Machine Main-{0} raised Event {1}", (parent).instanceNumber, (((PrtEventValue)(Events_1870448896.E)).evt).name);
                    (parent).currentTrigger = Events_1870448896.E;
                    (parent).currentPayload = Events_1870448896.@null;
                    (parent).PrtFunContRaise();
                    return;

                    goto AnonFun1_if_0_end;
AnonFun1_if_0_else:
                    ;
                    (parent).i = (new PrtIntValue(((PrtIntValue)((parent).i)).nt + ((PrtIntValue)(new PrtIntValue(1))).nt)).Clone();
AnonFun1_if_0_end:
                    ;
                    parent.PrtFunContReturn(null);
                }
示例#2
0
文件: User.cs 项目: up1/P
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    UserMachine      parent  = (UserMachine)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto AnonFun4_1;
                    }

                    (parent).Driver = (application).CreateInterfaceOrMachine((parent).renamedName, "OSRDriverInterface", Events_1448003977.@null);
                    (parent).PrtFunContNewMachine(this, (currFun).locals, 1);
                    return;

AnonFun4_1:
                    ;
                    if (!!(Events_1448003977.eUnit).Equals(Events_1448003977.@null))
                    {
                        throw new PrtAssertFailureException("C:\\\\Workspace\\\\P\\\\Src\\\\PTester\\\\Regressions\\\\Interfaces\\\\User.p (12, 4): Raised event must be non-null");
                    }
                    Console.Write("<RaiseLog> Machine UserMachine-{0} raised Event {1}\\n", (parent).instanceNumber, (((PrtEventValue)(Events_1448003977.eUnit)).evt).name);
                    (parent).currentTrigger = Events_1448003977.eUnit;
                    (parent).currentPayload = Events_1448003977.@null;
                    (parent).PrtFunContRaise();
                    return;

                    parent.PrtFunContReturn(null);
                }
示例#3
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto foo_1;
                    }

                    (parent).PrtFunContNondet(this, (currFun).locals, 1);
                    return;

foo_1:
                    ;
                    if (!((PrtBoolValue)(new PrtBoolValue(((parent).continuation).ReturnAndResetNondet()))).bl)
                    {
                        goto foo_if_0_else;
                    }
                    (parent).x = (new PrtIntValue(((PrtIntValue)((parent).x)).nt + ((PrtIntValue)(new PrtIntValue(1))).nt)).Clone();
                    goto foo_if_0_end;
foo_if_0_else:
                    ;
foo_if_0_end:
                    ;
                    parent.PrtFunContReturn(null);
                }
示例#4
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto AnonFun5_1;
                    }

                    (parent).PrtPushFunStackFrame(Action1, (Action1).CreateLocals());
AnonFun5_1:
                    ;
                    (Action1).Execute(application, parent);
                    if (((parent).continuation).reason == PrtContinuationReason.Return)
                    {
                    }
                    else
                    {
                        (parent).PrtPushFunStackFrame(Action1, (currFun).locals, 1);
                        return;
                    }

                    parent.PrtFunContReturn(null);
                }
示例#5
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Timer            parent  = (Timer)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    parent.PrtFunContReturn(null);
                }
示例#6
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Timer            parent  = (Timer)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto AnonFun7_1;

                    case 2:
                        goto AnonFun7_2;

                    case 3:
                        goto AnonFun7_3;

                    case 4:
                        goto AnonFun7_4;
                    }

                    (parent).PrtFunContNondet(this, (currFun).locals, 4);
                    return;

AnonFun7_4:
                    ;
                    if (!((PrtBoolValue)(new PrtBoolValue(((parent).continuation).ReturnAndResetNondet()))).bl)
                    {
                        goto AnonFun7_if_0_else;
                    }
                    (((PrtMachineValue)((parent).client)).mach).PrtEnqueueEvent((PrtEventValue)(Events.CANCEL_SUCCESS), parent.self, parent, (PrtMachineValue)((parent).client));
                    (parent).PrtFunContSend(this, (currFun).locals, 1);
                    return;

AnonFun7_1:
                    ;
                    goto AnonFun7_if_0_end;
AnonFun7_if_0_else:
                    ;
                    (((PrtMachineValue)((parent).client)).mach).PrtEnqueueEvent((PrtEventValue)(Events.CANCEL_FAILURE), parent.self, parent, (PrtMachineValue)((parent).client));
                    (parent).PrtFunContSend(this, (currFun).locals, 2);
                    return;

AnonFun7_2:
                    ;
                    (((PrtMachineValue)((parent).client)).mach).PrtEnqueueEvent((PrtEventValue)(Events.TIMEOUT), parent.self, parent, (PrtMachineValue)((parent).client));
                    (parent).PrtFunContSend(this, (currFun).locals, 3);
                    return;

AnonFun7_3:
                    ;
AnonFun7_if_0_end:
                    ;
                    parent.PrtFunContReturn(null);
                }
示例#7
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    if (!((PrtBoolValue)(new PrtBoolValue(false))).bl)
                    {
                        throw new PrtAssertFailureException("C:\\\\Workspace\\\\P\\\\Tst\\\\RegressionTests\\\\Integration\\\\Correct\\\\SEM_OneMachine_22\\\\AlonBug_1.p (12, 10): Assert failed");
                    }
                    parent.PrtFunContReturn(null);
                }
示例#8
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    if (!((PrtBoolValue)(new PrtBoolValue(false))).bl)
                    {
                        throw new PrtAssertFailureException("E:\\\\PLanguage\\\\P\\\\Src\\\\PTester\\\\Regressions\\\\PingPong\\\\PingPong.p (18, 25): Assert failed");
                    }
                    parent.PrtFunContReturn(null);
                }
示例#9
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto AnonFun0_1;

                    case 2:
                        goto AnonFun0_2;

                    case 3:
                        goto AnonFun0_3;
                    }

                    (((PrtMachineValue)(parent.self)).mach).PrtEnqueueEvent((PrtEventValue)(Events_1528637394.boolPayloadEvent), new PrtBoolValue(true), parent, (PrtMachineValue)(parent.self));
                    (parent).PrtFunContSend(this, (currFun).locals, 1);
                    return;

AnonFun0_1:
                    ;
                    (parent).varBool = (new PrtBoolValue(false)).Clone();
                    (((PrtMachineValue)(parent.self)).mach).PrtEnqueueEvent((PrtEventValue)(Events_1528637394.boolPayloadEvent), (parent).varBool, parent, (PrtMachineValue)(parent.self));
                    (parent).PrtFunContSend(this, (currFun).locals, 2);
                    return;

AnonFun0_2:
                    ;
                    (parent).pongId = (application).CreateInterfaceOrMachine((parent).renamedName, "PONG", Events_1528637394.@null);
                    (parent).PrtFunContNewMachine(this, (currFun).locals, 3);
                    return;

AnonFun0_3:
                    ;
                    if (!!(Events_1528637394.Success).Equals(Events_1528637394.@null))
                    {
                        throw new PrtAssertFailureException("E:\\\\PLanguage\\\\P\\\\Src\\\\PTester\\\\Regressions\\\\TwoMachines\\\\TwoMachines.p (59, 10): Raised event must be non-null");
                    }
                    Console.Write("<RaiseLog> Machine Main-{0} raised Event {1}\\n", (parent).instanceNumber, (((PrtEventValue)(Events_1528637394.Success)).evt).name);
                    (parent).currentTrigger = Events_1528637394.Success;
                    (parent).currentPayload = Events_1528637394.@null;
                    (parent).PrtFunContRaise();
                    return;

                    parent.PrtFunContReturn(null);
                }
示例#10
0
                public override void Execute(StateImpl application, PrtMachine parent)
                {
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();

                    if (currFun.returnTolocation == 0)
                    {
                        goto Loc_0;
                    }
                    else
                    {
                        goto Ret;
                    }
Loc_0:
Ret:
                    parent.PrtFunContReturn(null);
                }
示例#11
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Timer            parent  = (Timer)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    (parent).client = (PrtValue.PrtCastValue((currFun).locals[0], Types.type_2_649846341)).Clone();
                    if (!!(Events.UNIT).Equals(Events.@null))
                    {
                        throw new PrtAssertFailureException("C:\\\\Workspace\\\\P\\\\Tst\\\\RegressionTests\\\\Feature1SMLevelDecls\\\\DynamicError\\\\BugRepro\\\\Timer.p (15, 7): Raised event must be non-null");
                    }
                    (application).Trace("<RaiseLog> Machine Timer-{0} raised Event {1}", (parent).instanceNumber, (((PrtEventValue)(Events.UNIT)).evt).name);
                    (parent).currentTrigger = Events.UNIT;
                    (parent).currentPayload = Events.@null;
                    (parent).PrtFunContRaise();
                    return;

                    parent.PrtFunContReturn(null);
                }
示例#12
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Timer            parent  = (Timer)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto AnonFun10_1;
                    }

                    (((PrtMachineValue)((parent).client)).mach).PrtEnqueueEvent((PrtEventValue)(Events.CANCEL_FAILURE), parent.self, parent, (PrtMachineValue)((parent).client));
                    (parent).PrtFunContSend(this, (currFun).locals, 1);
                    return;

AnonFun10_1:
                    ;
                    parent.PrtFunContReturn(null);
                }
示例#13
0
                public override void Execute(StateImpl application, PrtMachine _parent)
                {
                    Main             parent  = (Main)(_parent);
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();
                    PrtValue         swap;

                    switch ((currFun).returnToLocation)
                    {
                    case 1:
                        goto AnonFun2_1;
                    }

                    (((PrtMachineValue)(parent.self)).mach).PrtEnqueueEvent((PrtEventValue)(Events_745868657.dummy), Events_745868657.@null, parent, (PrtMachineValue)(parent.self));
                    (parent).PrtFunContSend(this, (currFun).locals, (currFun).returnToLocation);
                    return;

AnonFun2_1:
                    ;
                    parent.PrtFunContReturn(null);
                }
示例#14
0
                public override void Execute(StateImpl application, PrtMachine parent)
                {
                    PrtFunStackFrame currFun = parent.PrtPopFunStackFrame();

                    if (currFun.returnTolocation == 0)
                    {
                        goto Loc_0;
                    }
                    else
                    {
                        goto Ret;
                    }


Loc_0:
                    parent.PrtEnqueueEvent(dummy, PrtValue.NullValue, parent);
                    parent.PrtFunContSend(this, currFun.locals, 1);

Ret:
                    parent.PrtFunContReturn(null);
                }