(node)
| 46354 | } |
| 46355 | } |
| 46356 | function bindModuleDeclaration(node) { |
| 46357 | setExportContextFlag(node); |
| 46358 | if (ts.isAmbientModule(node)) { |
| 46359 | if (ts.hasSyntacticModifier(node, 1 /* ModifierFlags.Export */)) { |
| 46360 | errorOnFirstToken(node, ts.Diagnostics.export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible); |
| 46361 | } |
| 46362 | if (ts.isModuleAugmentationExternal(node)) { |
| 46363 | declareModuleSymbol(node); |
| 46364 | } |
| 46365 | else { |
| 46366 | var pattern = void 0; |
| 46367 | if (node.name.kind === 10 /* SyntaxKind.StringLiteral */) { |
| 46368 | var text = node.name.text; |
| 46369 | pattern = ts.tryParsePattern(text); |
| 46370 | if (pattern === undefined) { |
| 46371 | errorOnFirstToken(node.name, ts.Diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character, text); |
| 46372 | } |
| 46373 | } |
| 46374 | var symbol = declareSymbolAndAddToSymbolTable(node, 512 /* SymbolFlags.ValueModule */, 110735 /* SymbolFlags.ValueModuleExcludes */); |
| 46375 | file.patternAmbientModules = ts.append(file.patternAmbientModules, pattern && !ts.isString(pattern) ? { pattern: pattern, symbol: symbol } : undefined); |
| 46376 | } |
| 46377 | } |
| 46378 | else { |
| 46379 | var state = declareModuleSymbol(node); |
| 46380 | if (state !== 0 /* ModuleInstanceState.NonInstantiated */) { |
| 46381 | var symbol = node.symbol; |
| 46382 | // if module was already merged with some function, class or non-const enum, treat it as non-const-enum-only |
| 46383 | symbol.constEnumOnlyModule = (!(symbol.flags & (16 /* SymbolFlags.Function */ | 32 /* SymbolFlags.Class */ | 256 /* SymbolFlags.RegularEnum */))) |
| 46384 | // Current must be `const enum` only |
| 46385 | && state === 2 /* ModuleInstanceState.ConstEnumOnly */ |
| 46386 | // Can't have been set to 'false' in a previous merged symbol. ('undefined' OK) |
| 46387 | && symbol.constEnumOnlyModule !== false; |
| 46388 | } |
| 46389 | } |
| 46390 | } |
| 46391 | function declareModuleSymbol(node) { |
| 46392 | var state = getModuleInstanceState(node); |
| 46393 | var instantiated = state !== 0 /* ModuleInstanceState.NonInstantiated */; |
no test coverage detected