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

Function fxExportNodeHoist

xs/sources/xsScope.c:650–689  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

648}
649
650void fxExportNodeHoist(void* it, void* param)
651{
652 txExportNode* self = it;
653 txHoister* hoister = param;
654 if (self->from) {
655 if (self->specifiers && self->specifiers->length) {
656 txSpecifierNode* specifier = (txSpecifierNode*)self->specifiers->first;
657 while (specifier) {
658 txDeclareNode* node = fxDeclareNodeNew(hoister->parser, XS_TOKEN_LET, C_NULL);
659 specifier->from = self->from;
660 specifier->with = self->with;
661 node->flags |= mxDeclareNodeClosureFlag | mxDeclareNodeUseClosureFlag;
662 node->line = self->line;
663 node->importSpecifier = specifier;
664 node->firstExportSpecifier = specifier;
665 fxScopeAddDeclareNode(hoister->scope, node);
666 specifier = (txSpecifierNode*)specifier->next;
667 }
668 }
669 else {
670 txSpecifierNode* specifier = fxSpecifierNodeNew(hoister->parser, XS_TOKEN_SPECIFIER);
671 txDeclareNode* node = fxDeclareNodeNew(hoister->parser, XS_TOKEN_LET, C_NULL);
672 specifier->from = self->from;
673 specifier->with = self->with;
674 node->flags |= mxDeclareNodeClosureFlag | mxDeclareNodeUseClosureFlag;
675 node->line = self->line;
676 node->importSpecifier = specifier;
677 node->firstExportSpecifier = C_NULL;
678 fxScopeAddDeclareNode(hoister->scope, node);
679 }
680 }
681 if (self->specifiers && self->specifiers->length) {
682 txSpecifierNode* specifier = (txSpecifierNode*)self->specifiers->first;
683 while (specifier) {
684 fxHoisterAddExportLink(hoister, specifier);
685 fxNodeDispatchHoist(specifier, param);
686 specifier = (txSpecifierNode*)specifier->next;
687 }
688 }
689}
690
691void fxForNodeHoist(void* it, void* param)
692{

Callers

nothing calls this directly

Calls 5

fxDeclareNodeNewFunction · 0.85
fxScopeAddDeclareNodeFunction · 0.85
fxSpecifierNodeNewFunction · 0.85
fxHoisterAddExportLinkFunction · 0.85
fxNodeDispatchHoistFunction · 0.85

Tested by

no test coverage detected