From 6de69df9c1382153f25e10655fff87e87cf59b2c Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 31 Oct 2017 06:38:18 +1100 Subject: [PATCH] Fix #102: More accurate error message for module in type reference (#19324) * Add: Logical OR of "SymbolFlags.ValueModule" into the "meaning" argument of the "resolveName" call, in the "checkAndReportErrorForUsingNamespaceModuleAsValue" function, when checking if a namespace is being used as a type. * Fix: test "privacyImportParseErrors" error messages. * Fix: test "typeofInternalModules" error message. * Fix: test "moduleWithValuesAsType" error message. * Fix: test "moduleAssignmentCompat2" error messages. * Fix: test "moduleVisibilityTest3" error message. * Fix: test "getAccessorWithImpliedReturnTypeAndFunctionClassMerge" error messages. * Fix: test "staticInstanceResolution5" error messages. * Fix: test "noCrashOnImportShadowing" error message. * Fix: test "moduleAssignmentCompat3" error messages. * Fix: test "primaryExpressionMods" error message. * Fix: test "moduleInTypePosition1" error message. * Fix: test "moduleAssignmentCompat1" error messages. * Fix: test "moduleAssignmentCompat4" error messages. * Fix: test "moduleCrashBug1" error message. --- src/compiler/checker.ts | 2 +- ...iedReturnTypeAndFunctionClassMerge.errors.txt | 8 ++++---- .../reference/moduleAssignmentCompat1.errors.txt | 8 ++++---- .../reference/moduleAssignmentCompat2.errors.txt | 8 ++++---- .../reference/moduleAssignmentCompat3.errors.txt | 8 ++++---- .../reference/moduleAssignmentCompat4.errors.txt | 8 ++++---- .../reference/moduleCrashBug1.errors.txt | 4 ++-- .../reference/moduleInTypePosition1.errors.txt | 4 ++-- .../reference/moduleVisibilityTest3.errors.txt | 4 ++-- .../reference/moduleWithValuesAsType.errors.txt | 4 ++-- .../noCrashOnImportShadowing.errors.txt | 4 ++-- .../reference/primaryExpressionMods.errors.txt | 4 ++-- .../privacyImportParseErrors.errors.txt | 16 ++++++++-------- .../staticInstanceResolution5.errors.txt | 12 ++++++------ .../reference/typeofInternalModules.errors.txt | 4 ++-- 15 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5fb425053fe..fbca869e438 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1368,7 +1368,7 @@ namespace ts { } } else if (meaning & (SymbolFlags.Type & ~SymbolFlags.NamespaceModule & ~SymbolFlags.Value)) { - const symbol = resolveSymbol(resolveName(errorLocation, name, SymbolFlags.NamespaceModule & ~SymbolFlags.Type, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); + const symbol = resolveSymbol(resolveName(errorLocation, name, (SymbolFlags.ValueModule | SymbolFlags.NamespaceModule) & ~SymbolFlags.Type, /*nameNotFoundMessage*/undefined, /*nameArg*/ undefined, /*isUse*/ false)); if (symbol) { error(errorLocation, Diagnostics.Cannot_use_namespace_0_as_a_type, unescapeLeadingUnderscores(name)); return true; diff --git a/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.errors.txt b/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.errors.txt index c25aca342ca..e7ceb8acea2 100644 --- a/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.errors.txt +++ b/tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(1,18): error TS2300: Duplicate identifier '_'. -tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(1,41): error TS2304: Cannot find name '_'. +tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(1,41): error TS2709: Cannot use namespace '_' as a type. tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(2,18): error TS2300: Duplicate identifier '_'. -tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(2,34): error TS2304: Cannot find name '_'. +tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(2,34): error TS2709: Cannot use namespace '_' as a type. tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(4,16): error TS2300: Duplicate identifier '_'. tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(15,15): error TS2300: Duplicate identifier '_'. tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(21,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. @@ -12,12 +12,12 @@ tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts(21 ~ !!! error TS2300: Duplicate identifier '_'. ~ -!!! error TS2304: Cannot find name '_'. +!!! error TS2709: Cannot use namespace '_' as a type. declare function _(value: T): _; ~ !!! error TS2300: Duplicate identifier '_'. ~ -!!! error TS2304: Cannot find name '_'. +!!! error TS2709: Cannot use namespace '_' as a type. declare module _ { ~ diff --git a/tests/baselines/reference/moduleAssignmentCompat1.errors.txt b/tests/baselines/reference/moduleAssignmentCompat1.errors.txt index 5b4fe8d3c7c..740c42b0e1c 100644 --- a/tests/baselines/reference/moduleAssignmentCompat1.errors.txt +++ b/tests/baselines/reference/moduleAssignmentCompat1.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/moduleAssignmentCompat1.ts(9,8): error TS2304: Cannot find name 'A'. -tests/cases/compiler/moduleAssignmentCompat1.ts(10,8): error TS2304: Cannot find name 'B'. +tests/cases/compiler/moduleAssignmentCompat1.ts(9,8): error TS2709: Cannot use namespace 'A' as a type. +tests/cases/compiler/moduleAssignmentCompat1.ts(10,8): error TS2709: Cannot use namespace 'B' as a type. ==== tests/cases/compiler/moduleAssignmentCompat1.ts (2 errors) ==== @@ -13,10 +13,10 @@ tests/cases/compiler/moduleAssignmentCompat1.ts(10,8): error TS2304: Cannot find var a: A; ~ -!!! error TS2304: Cannot find name 'A'. +!!! error TS2709: Cannot use namespace 'A' as a type. var b: B; ~ -!!! error TS2304: Cannot find name 'B'. +!!! error TS2709: Cannot use namespace 'B' as a type. // no error a = b; diff --git a/tests/baselines/reference/moduleAssignmentCompat2.errors.txt b/tests/baselines/reference/moduleAssignmentCompat2.errors.txt index 5a14ff03ead..a9ec70739b9 100644 --- a/tests/baselines/reference/moduleAssignmentCompat2.errors.txt +++ b/tests/baselines/reference/moduleAssignmentCompat2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/moduleAssignmentCompat2.ts(9,8): error TS2304: Cannot find name 'A'. -tests/cases/compiler/moduleAssignmentCompat2.ts(10,8): error TS2304: Cannot find name 'B'. +tests/cases/compiler/moduleAssignmentCompat2.ts(9,8): error TS2709: Cannot use namespace 'A' as a type. +tests/cases/compiler/moduleAssignmentCompat2.ts(10,8): error TS2709: Cannot use namespace 'B' as a type. ==== tests/cases/compiler/moduleAssignmentCompat2.ts (2 errors) ==== @@ -13,10 +13,10 @@ tests/cases/compiler/moduleAssignmentCompat2.ts(10,8): error TS2304: Cannot find var a: A; ~ -!!! error TS2304: Cannot find name 'A'. +!!! error TS2709: Cannot use namespace 'A' as a type. var b: B; ~ -!!! error TS2304: Cannot find name 'B'. +!!! error TS2709: Cannot use namespace 'B' as a type. a = b; b = a; // error \ No newline at end of file diff --git a/tests/baselines/reference/moduleAssignmentCompat3.errors.txt b/tests/baselines/reference/moduleAssignmentCompat3.errors.txt index 656fad20a7e..1afc823757c 100644 --- a/tests/baselines/reference/moduleAssignmentCompat3.errors.txt +++ b/tests/baselines/reference/moduleAssignmentCompat3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/moduleAssignmentCompat3.ts(8,8): error TS2304: Cannot find name 'A'. -tests/cases/compiler/moduleAssignmentCompat3.ts(9,8): error TS2304: Cannot find name 'B'. +tests/cases/compiler/moduleAssignmentCompat3.ts(8,8): error TS2709: Cannot use namespace 'A' as a type. +tests/cases/compiler/moduleAssignmentCompat3.ts(9,8): error TS2709: Cannot use namespace 'B' as a type. ==== tests/cases/compiler/moduleAssignmentCompat3.ts (2 errors) ==== @@ -12,10 +12,10 @@ tests/cases/compiler/moduleAssignmentCompat3.ts(9,8): error TS2304: Cannot find var a: A; ~ -!!! error TS2304: Cannot find name 'A'. +!!! error TS2709: Cannot use namespace 'A' as a type. var b: B; ~ -!!! error TS2304: Cannot find name 'B'. +!!! error TS2709: Cannot use namespace 'B' as a type. // both errors a = b; diff --git a/tests/baselines/reference/moduleAssignmentCompat4.errors.txt b/tests/baselines/reference/moduleAssignmentCompat4.errors.txt index 7d6204b53e1..370428d1087 100644 --- a/tests/baselines/reference/moduleAssignmentCompat4.errors.txt +++ b/tests/baselines/reference/moduleAssignmentCompat4.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/moduleAssignmentCompat4.ts(12,8): error TS2304: Cannot find name 'A'. -tests/cases/compiler/moduleAssignmentCompat4.ts(13,8): error TS2304: Cannot find name 'B'. +tests/cases/compiler/moduleAssignmentCompat4.ts(12,8): error TS2709: Cannot use namespace 'A' as a type. +tests/cases/compiler/moduleAssignmentCompat4.ts(13,8): error TS2709: Cannot use namespace 'B' as a type. ==== tests/cases/compiler/moduleAssignmentCompat4.ts (2 errors) ==== @@ -16,10 +16,10 @@ tests/cases/compiler/moduleAssignmentCompat4.ts(13,8): error TS2304: Cannot find var a: A; ~ -!!! error TS2304: Cannot find name 'A'. +!!! error TS2709: Cannot use namespace 'A' as a type. var b: B; ~ -!!! error TS2304: Cannot find name 'B'. +!!! error TS2709: Cannot use namespace 'B' as a type. a = b; b = a; // error \ No newline at end of file diff --git a/tests/baselines/reference/moduleCrashBug1.errors.txt b/tests/baselines/reference/moduleCrashBug1.errors.txt index e50e2a1c3e6..1c187056ff6 100644 --- a/tests/baselines/reference/moduleCrashBug1.errors.txt +++ b/tests/baselines/reference/moduleCrashBug1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/moduleCrashBug1.ts(18,9): error TS2304: Cannot find name '_modes'. +tests/cases/compiler/moduleCrashBug1.ts(18,9): error TS2709: Cannot use namespace '_modes' as a type. ==== tests/cases/compiler/moduleCrashBug1.ts (1 errors) ==== @@ -21,7 +21,7 @@ tests/cases/compiler/moduleCrashBug1.ts(18,9): error TS2304: Cannot find name '_ var m : _modes; ~~~~~~ -!!! error TS2304: Cannot find name '_modes'. +!!! error TS2709: Cannot use namespace '_modes' as a type. \ No newline at end of file diff --git a/tests/baselines/reference/moduleInTypePosition1.errors.txt b/tests/baselines/reference/moduleInTypePosition1.errors.txt index ff5fa2da4eb..46599641772 100644 --- a/tests/baselines/reference/moduleInTypePosition1.errors.txt +++ b/tests/baselines/reference/moduleInTypePosition1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/moduleInTypePosition1_1.ts(3,14): error TS2304: Cannot find name 'WinJS'. +tests/cases/compiler/moduleInTypePosition1_1.ts(3,14): error TS2709: Cannot use namespace 'WinJS' as a type. ==== tests/cases/compiler/moduleInTypePosition1_1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/moduleInTypePosition1_1.ts(3,14): error TS2304: Cannot find import WinJS = require('./moduleInTypePosition1_0'); var x = (w1: WinJS) => { }; ~~~~~ -!!! error TS2304: Cannot find name 'WinJS'. +!!! error TS2709: Cannot use namespace 'WinJS' as a type. ==== tests/cases/compiler/moduleInTypePosition1_0.ts (0 errors) ==== export class Promise { diff --git a/tests/baselines/reference/moduleVisibilityTest3.errors.txt b/tests/baselines/reference/moduleVisibilityTest3.errors.txt index dfecadec23e..d901d48c5a8 100644 --- a/tests/baselines/reference/moduleVisibilityTest3.errors.txt +++ b/tests/baselines/reference/moduleVisibilityTest3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/moduleVisibilityTest3.ts(20,22): error TS2304: Cannot find name 'modes'. +tests/cases/compiler/moduleVisibilityTest3.ts(20,22): error TS2709: Cannot use namespace 'modes' as a type. tests/cases/compiler/moduleVisibilityTest3.ts(20,39): error TS2694: Namespace '_modes' has no exported member 'Mode'. tests/cases/compiler/moduleVisibilityTest3.ts(21,22): error TS2694: Namespace '_modes' has no exported member 'Mode'. @@ -25,7 +25,7 @@ tests/cases/compiler/moduleVisibilityTest3.ts(21,22): error TS2694: Namespace '_ class Bug { constructor(p1: modes, p2: modes.Mode) {// should be an error on p2 - it's not exported ~~~~~ -!!! error TS2304: Cannot find name 'modes'. +!!! error TS2709: Cannot use namespace 'modes' as a type. ~~~~ !!! error TS2694: Namespace '_modes' has no exported member 'Mode'. var x:modes.Mode; diff --git a/tests/baselines/reference/moduleWithValuesAsType.errors.txt b/tests/baselines/reference/moduleWithValuesAsType.errors.txt index 2bbb94f5076..388e328ade8 100644 --- a/tests/baselines/reference/moduleWithValuesAsType.errors.txt +++ b/tests/baselines/reference/moduleWithValuesAsType.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/moduleWithValuesAsType.ts(5,8): error TS2304: Cannot find name 'A'. +tests/cases/compiler/moduleWithValuesAsType.ts(5,8): error TS2709: Cannot use namespace 'A' as a type. ==== tests/cases/compiler/moduleWithValuesAsType.ts (1 errors) ==== @@ -8,4 +8,4 @@ tests/cases/compiler/moduleWithValuesAsType.ts(5,8): error TS2304: Cannot find n var a: A; // no error ~ -!!! error TS2304: Cannot find name 'A'. \ No newline at end of file +!!! error TS2709: Cannot use namespace 'A' as a type. \ No newline at end of file diff --git a/tests/baselines/reference/noCrashOnImportShadowing.errors.txt b/tests/baselines/reference/noCrashOnImportShadowing.errors.txt index c1d1dbcdef1..ddd49c0c2c7 100644 --- a/tests/baselines/reference/noCrashOnImportShadowing.errors.txt +++ b/tests/baselines/reference/noCrashOnImportShadowing.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/index.ts(4,1): error TS2693: 'B' only refers to a type, but is being used as a value here. -tests/cases/compiler/index.ts(9,10): error TS2304: Cannot find name 'OriginalB'. +tests/cases/compiler/index.ts(9,10): error TS2709: Cannot use namespace 'OriginalB' as a type. ==== tests/cases/compiler/b.ts (0 errors) ==== @@ -30,4 +30,4 @@ tests/cases/compiler/index.ts(9,10): error TS2304: Cannot find name 'OriginalB'. const y: OriginalB = x; ~~~~~~~~~ -!!! error TS2304: Cannot find name 'OriginalB'. \ No newline at end of file +!!! error TS2709: Cannot use namespace 'OriginalB' as a type. \ No newline at end of file diff --git a/tests/baselines/reference/primaryExpressionMods.errors.txt b/tests/baselines/reference/primaryExpressionMods.errors.txt index 197970591eb..0816c13b897 100644 --- a/tests/baselines/reference/primaryExpressionMods.errors.txt +++ b/tests/baselines/reference/primaryExpressionMods.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/primaryExpressionMods.ts(7,8): error TS2304: Cannot find name 'M'. +tests/cases/compiler/primaryExpressionMods.ts(7,8): error TS2709: Cannot use namespace 'M' as a type. tests/cases/compiler/primaryExpressionMods.ts(11,8): error TS2503: Cannot find namespace 'm'. @@ -11,7 +11,7 @@ tests/cases/compiler/primaryExpressionMods.ts(11,8): error TS2503: Cannot find n var p: M.P; // Used as ModuleName var m: M = M; // Used as TypeName and PrimaryExpression (error on TypeName) ~ -!!! error TS2304: Cannot find name 'M'. +!!! error TS2709: Cannot use namespace 'M' as a type. var m2: typeof M = M; // Used as PrimaryExpression in TypeQuery var x1 = M.a; // Used as PrimaryExpression var x2 = m.a; // Same as M.a diff --git a/tests/baselines/reference/privacyImportParseErrors.errors.txt b/tests/baselines/reference/privacyImportParseErrors.errors.txt index 1826ac7226a..b607edf049b 100644 --- a/tests/baselines/reference/privacyImportParseErrors.errors.txt +++ b/tests/baselines/reference/privacyImportParseErrors.errors.txt @@ -26,14 +26,14 @@ tests/cases/compiler/privacyImportParseErrors.ts(251,40): error TS2307: Cannot f tests/cases/compiler/privacyImportParseErrors.ts(252,40): error TS2307: Cannot find module 'glo_M4_private'. tests/cases/compiler/privacyImportParseErrors.ts(255,1): error TS2668: 'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible. tests/cases/compiler/privacyImportParseErrors.ts(255,23): error TS2664: Invalid module name in augmentation, module 'use_glo_M1_public' cannot be found. -tests/cases/compiler/privacyImportParseErrors.ts(258,45): error TS2304: Cannot find name 'use_glo_M1_public'. -tests/cases/compiler/privacyImportParseErrors.ts(261,39): error TS2304: Cannot find name 'use_glo_M1_public'. +tests/cases/compiler/privacyImportParseErrors.ts(258,45): error TS2709: Cannot use namespace 'use_glo_M1_public' as a type. +tests/cases/compiler/privacyImportParseErrors.ts(261,39): error TS2709: Cannot use namespace 'use_glo_M1_public' as a type. tests/cases/compiler/privacyImportParseErrors.ts(264,40): error TS2307: Cannot find module 'glo_M2_public'. tests/cases/compiler/privacyImportParseErrors.ts(273,38): error TS1147: Import declarations in a namespace cannot reference a module. tests/cases/compiler/privacyImportParseErrors.ts(277,45): error TS1147: Import declarations in a namespace cannot reference a module. tests/cases/compiler/privacyImportParseErrors.ts(284,16): error TS2664: Invalid module name in augmentation, module 'use_glo_M3_private' cannot be found. -tests/cases/compiler/privacyImportParseErrors.ts(287,46): error TS2304: Cannot find name 'use_glo_M3_private'. -tests/cases/compiler/privacyImportParseErrors.ts(290,40): error TS2304: Cannot find name 'use_glo_M3_private'. +tests/cases/compiler/privacyImportParseErrors.ts(287,46): error TS2709: Cannot use namespace 'use_glo_M3_private' as a type. +tests/cases/compiler/privacyImportParseErrors.ts(290,40): error TS2709: Cannot use namespace 'use_glo_M3_private' as a type. tests/cases/compiler/privacyImportParseErrors.ts(293,41): error TS2307: Cannot find module 'glo_M4_private'. tests/cases/compiler/privacyImportParseErrors.ts(302,38): error TS1147: Import declarations in a namespace cannot reference a module. tests/cases/compiler/privacyImportParseErrors.ts(306,45): error TS1147: Import declarations in a namespace cannot reference a module. @@ -371,12 +371,12 @@ tests/cases/compiler/privacyImportParseErrors.ts(353,29): error TS1147: Import d export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; export var use_glo_M1_public_v2_public: use_glo_M1_public; ~~~~~~~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'use_glo_M1_public'. +!!! error TS2709: Cannot use namespace 'use_glo_M1_public' as a type. export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; var use_glo_M1_public_v2_private: use_glo_M1_public; ~~~~~~~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'use_glo_M1_public'. +!!! error TS2709: Cannot use namespace 'use_glo_M1_public' as a type. var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; import use_glo_M2_public = require("glo_M2_public"); @@ -412,12 +412,12 @@ tests/cases/compiler/privacyImportParseErrors.ts(353,29): error TS1147: Import d export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; export var use_glo_M3_private_v2_public: use_glo_M3_private; ~~~~~~~~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'use_glo_M3_private'. +!!! error TS2709: Cannot use namespace 'use_glo_M3_private' as a type. export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; var use_glo_M3_private_v2_private: use_glo_M3_private; ~~~~~~~~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'use_glo_M3_private'. +!!! error TS2709: Cannot use namespace 'use_glo_M3_private' as a type. var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; import use_glo_M4_private = require("glo_M4_private"); diff --git a/tests/baselines/reference/staticInstanceResolution5.errors.txt b/tests/baselines/reference/staticInstanceResolution5.errors.txt index f36851b2b97..b2875e22bda 100644 --- a/tests/baselines/reference/staticInstanceResolution5.errors.txt +++ b/tests/baselines/reference/staticInstanceResolution5.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/staticInstanceResolution5_1.ts(4,14): error TS2304: Cannot find name 'WinJS'. -tests/cases/compiler/staticInstanceResolution5_1.ts(5,23): error TS2304: Cannot find name 'WinJS'. -tests/cases/compiler/staticInstanceResolution5_1.ts(6,16): error TS2304: Cannot find name 'WinJS'. +tests/cases/compiler/staticInstanceResolution5_1.ts(4,14): error TS2709: Cannot use namespace 'WinJS' as a type. +tests/cases/compiler/staticInstanceResolution5_1.ts(5,23): error TS2709: Cannot use namespace 'WinJS' as a type. +tests/cases/compiler/staticInstanceResolution5_1.ts(6,16): error TS2709: Cannot use namespace 'WinJS' as a type. ==== tests/cases/compiler/staticInstanceResolution5_1.ts (3 errors) ==== @@ -9,13 +9,13 @@ tests/cases/compiler/staticInstanceResolution5_1.ts(6,16): error TS2304: Cannot // these 3 should be errors var x = (w1: WinJS) => { }; ~~~~~ -!!! error TS2304: Cannot find name 'WinJS'. +!!! error TS2709: Cannot use namespace 'WinJS' as a type. var y = function (w2: WinJS) { } ~~~~~ -!!! error TS2304: Cannot find name 'WinJS'. +!!! error TS2709: Cannot use namespace 'WinJS' as a type. function z(w3: WinJS) { } ~~~~~ -!!! error TS2304: Cannot find name 'WinJS'. +!!! error TS2709: Cannot use namespace 'WinJS' as a type. ==== tests/cases/compiler/staticInstanceResolution5_0.ts (0 errors) ==== export class Promise { diff --git a/tests/baselines/reference/typeofInternalModules.errors.txt b/tests/baselines/reference/typeofInternalModules.errors.txt index 5402249ea63..ca8fe501c94 100644 --- a/tests/baselines/reference/typeofInternalModules.errors.txt +++ b/tests/baselines/reference/typeofInternalModules.errors.txt @@ -1,5 +1,5 @@ tests/cases/compiler/typeofInternalModules.ts(15,16): error TS2708: Cannot use namespace 'importUninst' as a value. -tests/cases/compiler/typeofInternalModules.ts(17,9): error TS2304: Cannot find name 'Outer'. +tests/cases/compiler/typeofInternalModules.ts(17,9): error TS2709: Cannot use namespace 'Outer' as a type. tests/cases/compiler/typeofInternalModules.ts(19,1): error TS2322: Type 'typeof Outer' is not assignable to type 'typeof instantiated'. Property 'C' is missing in type 'typeof Outer'. tests/cases/compiler/typeofInternalModules.ts(21,16): error TS2708: Cannot use namespace 'importUninst' as a value. @@ -28,7 +28,7 @@ tests/cases/compiler/typeofInternalModules.ts(23,1): error TS2322: Type 'typeof var x4: Outer = Outer; ~~~~~ -!!! error TS2304: Cannot find name 'Outer'. +!!! error TS2709: Cannot use namespace 'Outer' as a type. var x5: typeof importInst; x5 = Outer; ~~