diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0ddea8baf08..948c8065b8f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8467,7 +8467,7 @@ module ts { // above them to find the lowest container case SyntaxKind.Identifier: // If the identifier is the RHS of a qualified name, then it's a type iff its parent is. - if (node.parent.kind === SyntaxKind.QualifiedName) { + if (node.parent.kind === SyntaxKind.QualifiedName && (node.parent).right === node) { node = node.parent; } // fall through diff --git a/tests/baselines/reference/cloduleAndTypeParameters.types b/tests/baselines/reference/cloduleAndTypeParameters.types index 493aaa2d395..ad43bc90f2f 100644 --- a/tests/baselines/reference/cloduleAndTypeParameters.types +++ b/tests/baselines/reference/cloduleAndTypeParameters.types @@ -2,7 +2,7 @@ class Foo { >Foo : Foo >T : T ->Foo : Foo +>Foo : unknown >Bar : Foo.Bar constructor() { diff --git a/tests/baselines/reference/exportAssignClassAndModule.types b/tests/baselines/reference/exportAssignClassAndModule.types index 0118e6fa812..dc4a19f345c 100644 --- a/tests/baselines/reference/exportAssignClassAndModule.types +++ b/tests/baselines/reference/exportAssignClassAndModule.types @@ -5,7 +5,7 @@ import Foo = require('exportAssignClassAndModule_0'); var z: Foo.Bar; >z : Foo.Bar ->Foo : Foo +>Foo : unknown >Bar : Foo.Bar var zz: Foo; @@ -23,7 +23,7 @@ class Foo { x: Foo.Bar; >x : Foo.Bar ->Foo : Foo +>Foo : unknown >Bar : Foo.Bar } module Foo { diff --git a/tests/baselines/reference/exportEqualNamespaces.types b/tests/baselines/reference/exportEqualNamespaces.types index 57ed5742b2a..5d3afc2731a 100644 --- a/tests/baselines/reference/exportEqualNamespaces.types +++ b/tests/baselines/reference/exportEqualNamespaces.types @@ -11,7 +11,7 @@ interface server { >server : server (): server.Server; ->server : server +>server : unknown >Server : server.Server startTime: Date; diff --git a/tests/baselines/reference/importAliasIdentifiers.types b/tests/baselines/reference/importAliasIdentifiers.types index 5cff22d7e98..7401c3e7518 100644 --- a/tests/baselines/reference/importAliasIdentifiers.types +++ b/tests/baselines/reference/importAliasIdentifiers.types @@ -61,12 +61,12 @@ import clolias = clodule; var p: clolias.Point; >p : alias.Point ->clolias : clodule +>clolias : unknown >Point : clolias.Point var p: clodule.Point; >p : alias.Point ->clodule : clodule +>clodule : unknown >Point : clolias.Point var p: { x: number; y: number; }; diff --git a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types index 9fa07a674f3..936f04731f6 100644 --- a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types +++ b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.types @@ -13,7 +13,7 @@ interface Foo { } var Foo: new () => Foo.A>; >Foo : new () => Foo.A> ->Foo : Foo +>Foo : unknown >A : Foo.A >Foo : Foo diff --git a/tests/cases/fourslash/augmentedTypesModule6.ts b/tests/cases/fourslash/augmentedTypesModule6.ts index b5811e92468..a2433746265 100644 --- a/tests/cases/fourslash/augmentedTypesModule6.ts +++ b/tests/cases/fourslash/augmentedTypesModule6.ts @@ -10,9 +10,7 @@ goTo.marker('1'); verify.completionListContains('I'); - -// bug #837 -verify.completionListContains('foo'); +verify.not.completionListContains('foo'); edit.insert('I;'); goTo.marker('2'); diff --git a/tests/cases/fourslash/completionInAugmentedClassModule.ts b/tests/cases/fourslash/completionInAugmentedClassModule.ts new file mode 100644 index 00000000000..2a1857d6481 --- /dev/null +++ b/tests/cases/fourslash/completionInAugmentedClassModule.ts @@ -0,0 +1,9 @@ +/// + +////declare class m3f { foo(x: number): void } +////module m3f { export interface I { foo(): void } } +////var x: m3f./**/ + +goTo.marker(); +debugger; +verify.not.completionListContains("foo"); \ No newline at end of file