再利用可能なステートチャート実装を持つ Or 状態のローカル終了のコードは以下のように生成されます。
&& IS_COMPLETED(state)
FinalA = new FinalState(this, OrState, rootState,
"ROOT.OrState.FinalA");
再利用可能なステートチャート実装を持つ And 状態のローカル終了のコードは、以下のように生成されます。
&& IS_COMPLETED(AndState)
この場合は、AndState フレームワーク・クラスの isCompleted() 関数が呼び出されます。
&& IS_COMPLETED(state)
(IS_IN(state))
以下は、実ガードとローカル終了ガードを持つジョイン遷移用に生成されるコードの例です。ここで、 C1 と C2 は、最終アクティビティーを持つ Or 状態で、C3 はリーフ状態です。
if(RealGuard() && IS_COMPLETED(C1) && IS_COMPLETED(C2) && IS_IN(C3))