| 2002 | } |
| 2003 | |
| 2004 | void fxAsyncFromSyncIteratorFailed(txMachine* the) |
| 2005 | { |
| 2006 | txSlot* slot = mxFunctionInstanceHome(mxFunction->value.reference); |
| 2007 | txSlot* instance = slot->value.home.object; |
| 2008 | txSlot* iterator = instance->next; |
| 2009 | mxTry(the) { |
| 2010 | mxPushSlot(iterator); |
| 2011 | mxPushSlot(iterator); |
| 2012 | mxGetID(mxID(_return)); |
| 2013 | if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) { |
| 2014 | mxCall(); |
| 2015 | mxRunCount(0); |
| 2016 | } |
| 2017 | mxPop(); |
| 2018 | } |
| 2019 | mxCatch(the) { |
| 2020 | } |
| 2021 | mxException.kind = mxArgv(0)->kind; |
| 2022 | mxException.value = mxArgv(0)->value; |
| 2023 | fxThrow(the, NULL, 0); |
| 2024 | } |
| 2025 | |
| 2026 | txSlot* fxCheckAsyncFromSyncIteratorInstance(txMachine* the, txSlot* slot) |
| 2027 | { |