| 1042 | } |
| 1043 | |
| 1044 | void fxExportNodeBind(void* it, void* param) |
| 1045 | { |
| 1046 | txExportNode* self = it; |
| 1047 | txBinder* binder = param; |
| 1048 | if (self->from) |
| 1049 | return; |
| 1050 | if (self->specifiers) { |
| 1051 | txSpecifierNode* specifier = (txSpecifierNode*)self->specifiers->first; |
| 1052 | while (specifier) { |
| 1053 | txAccessNode* node = fxAccessNodeNew(binder->parser, XS_TOKEN_ACCESS, specifier->symbol); |
| 1054 | fxScopeLookup(binder->scope, node, 0); |
| 1055 | if (node->declaration) { |
| 1056 | specifier->declaration = node->declaration; |
| 1057 | specifier->declaration->flags |= mxDeclareNodeClosureFlag | mxDeclareNodeUseClosureFlag; |
| 1058 | specifier->nextSpecifier = specifier->declaration->firstExportSpecifier; |
| 1059 | specifier->declaration->firstExportSpecifier = specifier; |
| 1060 | } |
| 1061 | else |
| 1062 | fxReportParserError(binder->parser, specifier->line, "unknown variable %s", specifier->symbol->string); |
| 1063 | specifier = (txSpecifierNode*)specifier->next; |
| 1064 | } |
| 1065 | } |
| 1066 | } |
| 1067 | |
| 1068 | void fxFieldNodeBind(void* it, void* param) |
| 1069 | { |
nothing calls this directly
no test coverage detected