| 318 | } |
| 319 | |
| 320 | void fxCompleteModule(txMachine* the, txSlot* module, txSlot* exception) |
| 321 | { |
| 322 | if (exception) { |
| 323 | txSlot* exports = mxModuleInstanceExports(module); |
| 324 | txSlot* meta = mxModuleInstanceMeta(module); |
| 325 | if (exports->kind == XS_REFERENCE_KIND) { |
| 326 | exports->value.reference->next = C_NULL; |
| 327 | } |
| 328 | else { |
| 329 | fxNewInstance(the); |
| 330 | mxPullSlot(exports); |
| 331 | } |
| 332 | meta->value = exception->value; |
| 333 | meta->kind = exception->kind; |
| 334 | mxModuleInstanceStatus(module) = XS_MODULE_STATUS_ERROR; |
| 335 | } |
| 336 | else { |
| 337 | mxModuleInstanceStatus(module) = XS_MODULE_STATUS_EXECUTED; |
| 338 | } |
| 339 | } |
| 340 | |
| 341 | void fxDuplicateModuleTransfers(txMachine* the, txSlot* srcModule, txSlot* dstModule) |
| 342 | { |
no test coverage detected