michael@0: michael@0: include protocol PTestActorPunningPunned; michael@0: include protocol PTestActorPunningSub; michael@0: include "mozilla/_ipdltest/IPDLUnitTestUtils.h"; michael@0: michael@0: using struct mozilla::_ipdltest::Bad from "mozilla/_ipdltest/IPDLUnitTestUtils.h"; michael@0: michael@0: namespace mozilla { michael@0: namespace _ipdltest { michael@0: michael@0: protocol PTestActorPunning { michael@0: manages PTestActorPunningPunned; michael@0: manages PTestActorPunningSub; michael@0: michael@0: child: michael@0: Start(); michael@0: michael@0: parent: michael@0: PTestActorPunningPunned(); michael@0: PTestActorPunningSub(); michael@0: Pun(PTestActorPunningSub a, Bad bad); michael@0: __delete__(); michael@0: michael@0: michael@0: state PING: michael@0: send Start goto CONSTRUCTING; michael@0: michael@0: state CONSTRUCTING: michael@0: recv PTestActorPunningPunned goto CONSTRUCTING; michael@0: recv PTestActorPunningSub goto CONSTRUCTING; michael@0: recv Pun goto DEAD; michael@0: // We never make it past this transition, --> error. michael@0: michael@0: state DEAD: michael@0: recv __delete__; michael@0: }; michael@0: michael@0: } // namespace mozilla michael@0: } // namespace _ipdltest