| 1985 | } |
| 1986 | |
| 1987 | void fxOverrideModule(txMachine* the, txSlot* queue, txSlot* list, txSlot* result, txSlot* module, txSlot* record) |
| 1988 | { |
| 1989 | txSlot** address = &(queue->next); |
| 1990 | txSlot* slot; |
| 1991 | while ((slot = *address)) { |
| 1992 | if (slot->value.reference == module) { |
| 1993 | // slot->value.reference = record; |
| 1994 | *address = slot->next; |
| 1995 | } |
| 1996 | else { |
| 1997 | if (mxModuleStatus(slot) == XS_MODULE_STATUS_LINKING) { |
| 1998 | txSlot* transfer = mxModuleTransfers(slot)->value.reference->next; |
| 1999 | while (transfer) { |
| 2000 | txSlot* from = mxTransferFrom(transfer); |
| 2001 | if ((from->kind == XS_REFERENCE_KIND) && (from->value.reference == module)) |
| 2002 | from->value.reference = record; |
| 2003 | transfer = transfer->next; |
| 2004 | } |
| 2005 | } |
| 2006 | } |
| 2007 | address = &(slot->next); |
| 2008 | } |
| 2009 | slot = list->value.reference->next; |
| 2010 | while (slot) { |
| 2011 | if (slot->value.reference == module) { |
| 2012 | slot->value.reference = record; |
| 2013 | } |
| 2014 | slot = slot->next; |
| 2015 | } |
| 2016 | if (result) { |
| 2017 | if (result->value.reference == module) { |
| 2018 | result->value.reference = record; |
| 2019 | } |
| 2020 | } |
| 2021 | } |
| 2022 | |
| 2023 | void fxPrepareModule(txMachine* the, txFlag flag) |
| 2024 | { |
no outgoing calls
no test coverage detected