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