| 719 | } |
| 720 | |
| 721 | void fxLinkExports(txMachine* the, txSlot* module) |
| 722 | { |
| 723 | txSlot* exports; |
| 724 | txSlot* transfer; |
| 725 | txSlot* from; |
| 726 | txSlot* import; |
| 727 | txSlot* closure; |
| 728 | |
| 729 | exports = mxModuleExports(module)->value.reference; |
| 730 | exports->flag |= XS_DONT_PATCH_FLAG; |
| 731 | transfer = exports->next; |
| 732 | while (transfer) { |
| 733 | if (transfer->kind != XS_EXPORT_KIND) { |
| 734 | from = mxTransferFrom(transfer); |
| 735 | if (from->kind != XS_NULL_KIND) { |
| 736 | import = mxTransferImport(transfer); |
| 737 | if (import->kind != XS_NULL_KIND) |
| 738 | fxLinkTransfer(the, from, import->value.symbol, transfer); |
| 739 | else |
| 740 | fxLinkNamespace(the, from, transfer); |
| 741 | } |
| 742 | closure = mxTransferClosure(transfer); |
| 743 | transfer->kind = closure->kind; |
| 744 | transfer->value = closure->value; |
| 745 | } |
| 746 | transfer->flag |= XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG; |
| 747 | transfer = transfer->next; |
| 748 | } |
| 749 | } |
| 750 | |
| 751 | void fxLinkLocals(txMachine* the, txSlot* module) |
| 752 | { |
no test coverage detected