Skip to content

Commit 070763d

Browse files
authored
Merge pull request #1 from DanielRosenwasser/suggestionsFor875
Only create and track possible patterns when dealing with string literals.
2 parents eee6307 + 08b75b3 commit 070763d

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

internal/binder/binder.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -797,18 +797,18 @@ func (b *Binder) bindModuleDeclaration(node *ast.Node) {
797797
if ast.IsModuleAugmentationExternal(node) {
798798
b.declareModuleSymbol(node)
799799
} else {
800-
var pattern core.Pattern
801800
name := node.AsModuleDeclaration().Name()
801+
symbol := b.declareSymbolAndAddToSymbolTable(node, ast.SymbolFlagsValueModule, ast.SymbolFlagsValueModuleExcludes)
802+
802803
if ast.IsStringLiteral(name) {
803-
pattern = core.TryParsePattern(name.AsStringLiteral().Text)
804+
pattern := core.TryParsePattern(name.AsStringLiteral().Text)
804805
if !pattern.IsValid() {
806+
// An invalid pattern - must have multiple wildcards.
805807
b.errorOnFirstToken(name, diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character, name.AsStringLiteral().Text)
808+
} else if pattern.StarIndex >= 0 {
809+
b.file.PatternAmbientModules = append(b.file.PatternAmbientModules, &ast.PatternAmbientModule{Pattern: pattern, Symbol: symbol})
806810
}
807811
}
808-
symbol := b.declareSymbolAndAddToSymbolTable(node, ast.SymbolFlagsValueModule, ast.SymbolFlagsValueModuleExcludes)
809-
if pattern.IsValid() && pattern.StarIndex >= 0 {
810-
b.file.PatternAmbientModules = append(b.file.PatternAmbientModules, &ast.PatternAmbientModule{Pattern: pattern, Symbol: symbol})
811-
}
812812
}
813813
} else {
814814
state := b.declareModuleSymbol(node)

0 commit comments

Comments
 (0)