MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxLinkExports

Function fxLinkExports

xs/sources/xsModule.c:721–749  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

719}
720
721void 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
751void fxLinkLocals(txMachine* the, txSlot* module)
752{

Callers 1

fxLinkModulesFunction · 0.85

Calls 2

fxLinkTransferFunction · 0.85
fxLinkNamespaceFunction · 0.85

Tested by

no test coverage detected