diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 62cdb1cb768..929dabca6fb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16373,7 +16373,8 @@ namespace ts { const nameLowerCase = name.toLowerCase(); for (const candidate of symbols) { const candidateName = symbolName(candidate); - if (!(candidate.flags & meaning && Math.abs(candidateName.length - nameLowerCase.length) <= maximumLengthDifference)) { + if (candidateName.charCodeAt(0) === CharacterCodes.doubleQuote + || !(candidate.flags & meaning && Math.abs(candidateName.length - nameLowerCase.length) <= maximumLengthDifference)) { continue; } const candidateNameLowerCase = candidateName.toLowerCase(); diff --git a/tests/baselines/reference/spellingSuggestionModule.errors.txt b/tests/baselines/reference/spellingSuggestionModule.errors.txt new file mode 100644 index 00000000000..5333bcc4cc4 --- /dev/null +++ b/tests/baselines/reference/spellingSuggestionModule.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/spellingSuggestionModule.ts(2,1): error TS2304: Cannot find name 'foobar'. +tests/cases/compiler/spellingSuggestionModule.ts(5,1): error TS2304: Cannot find name 'barfoo'. +tests/cases/compiler/spellingSuggestionModule.ts(8,1): error TS2552: Cannot find name 'faroo'. Did you mean 'farboo'? + + +==== tests/cases/compiler/spellingSuggestionModule.ts (3 errors) ==== + declare module "foobar" { export const x: number; } + foobar; + ~~~~~~ +!!! error TS2304: Cannot find name 'foobar'. + + declare module 'barfoo' { export const x: number; } + barfoo; + ~~~~~~ +!!! error TS2304: Cannot find name 'barfoo'. + + declare module farboo { export const x: number; } + faroo; + ~~~~~ +!!! error TS2552: Cannot find name 'faroo'. Did you mean 'farboo'? + \ No newline at end of file diff --git a/tests/baselines/reference/spellingSuggestionModule.js b/tests/baselines/reference/spellingSuggestionModule.js new file mode 100644 index 00000000000..bc940687840 --- /dev/null +++ b/tests/baselines/reference/spellingSuggestionModule.js @@ -0,0 +1,15 @@ +//// [spellingSuggestionModule.ts] +declare module "foobar" { export const x: number; } +foobar; + +declare module 'barfoo' { export const x: number; } +barfoo; + +declare module farboo { export const x: number; } +faroo; + + +//// [spellingSuggestionModule.js] +foobar; +barfoo; +faroo; diff --git a/tests/baselines/reference/spellingSuggestionModule.symbols b/tests/baselines/reference/spellingSuggestionModule.symbols new file mode 100644 index 00000000000..3dc64cd2ec7 --- /dev/null +++ b/tests/baselines/reference/spellingSuggestionModule.symbols @@ -0,0 +1,19 @@ +=== tests/cases/compiler/spellingSuggestionModule.ts === +declare module "foobar" { export const x: number; } +>"foobar" : Symbol("foobar", Decl(spellingSuggestionModule.ts, 0, 0)) +>x : Symbol(x, Decl(spellingSuggestionModule.ts, 0, 38)) + +foobar; + +declare module 'barfoo' { export const x: number; } +>'barfoo' : Symbol('barfoo', Decl(spellingSuggestionModule.ts, 1, 7)) +>x : Symbol(x, Decl(spellingSuggestionModule.ts, 3, 38)) + +barfoo; + +declare module farboo { export const x: number; } +>farboo : Symbol(farboo, Decl(spellingSuggestionModule.ts, 4, 7)) +>x : Symbol(x, Decl(spellingSuggestionModule.ts, 6, 36)) + +faroo; + diff --git a/tests/baselines/reference/spellingSuggestionModule.types b/tests/baselines/reference/spellingSuggestionModule.types new file mode 100644 index 00000000000..3e97894504e --- /dev/null +++ b/tests/baselines/reference/spellingSuggestionModule.types @@ -0,0 +1,22 @@ +=== tests/cases/compiler/spellingSuggestionModule.ts === +declare module "foobar" { export const x: number; } +>"foobar" : typeof "foobar" +>x : number + +foobar; +>foobar : any + +declare module 'barfoo' { export const x: number; } +>'barfoo' : typeof 'barfoo' +>x : number + +barfoo; +>barfoo : any + +declare module farboo { export const x: number; } +>farboo : typeof farboo +>x : number + +faroo; +>faroo : any + diff --git a/tests/cases/compiler/spellingSuggestionModule.ts b/tests/cases/compiler/spellingSuggestionModule.ts new file mode 100644 index 00000000000..4b3078630d4 --- /dev/null +++ b/tests/cases/compiler/spellingSuggestionModule.ts @@ -0,0 +1,8 @@ +declare module "foobar" { export const x: number; } +foobar; + +declare module 'barfoo' { export const x: number; } +barfoo; + +declare module farboo { export const x: number; } +faroo;