Improve error message for unused type (#23633)

This commit is contained in:
Andy 2018-04-24 08:54:42 -07:00 committed by GitHub
parent eca17ac243
commit 969aa45ea5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 48 additions and 41 deletions

View File

@ -22183,7 +22183,8 @@ namespace ts {
}
if (!isRemovedPropertyFromObjectSpread(node.kind === SyntaxKind.Identifier ? node.parent : node)) {
addDiagnostic(UnusedKind.Local, createDiagnosticForNodeSpan(getSourceFileOfNode(declaration), declaration, node, Diagnostics._0_is_declared_but_its_value_is_never_read, name));
const message = isTypeDeclaration(declaration) ? Diagnostics._0_is_declared_but_never_used : Diagnostics._0_is_declared_but_its_value_is_never_read;
addDiagnostic(UnusedKind.Local, createDiagnosticForNodeSpan(getSourceFileOfNode(declaration), declaration, node, message, name));
}
}

View File

@ -3530,6 +3530,11 @@
"category": "Message",
"code": 6195
},
"'{0}' is declared but never used.": {
"category": "Error",
"code": 6196,
"reportsUnnecessary": true
},
"Variable '{0}' implicitly has an '{1}' type.": {
"category": "Error",
"code": 7005

View File

@ -5,6 +5,7 @@ namespace ts.codefix {
const fixIdDelete = "unusedIdentifier_delete";
const errorCodes = [
Diagnostics._0_is_declared_but_its_value_is_never_read.code,
Diagnostics._0_is_declared_but_never_used.code,
Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,
Diagnostics.All_imports_in_import_declaration_are_unused.code,
];

View File

@ -1,9 +1,9 @@
tests/cases/compiler/noUnusedLocals_selfReference.ts(3,1): error TS6133: 'f' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(5,5): error TS6133: 'g' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(9,1): error TS6133: 'C' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(12,1): error TS6133: 'E' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(13,1): error TS6133: 'I' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(14,1): error TS6133: 'T' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(9,1): error TS6196: 'C' is declared but never used.
tests/cases/compiler/noUnusedLocals_selfReference.ts(12,1): error TS6196: 'E' is declared but never used.
tests/cases/compiler/noUnusedLocals_selfReference.ts(13,1): error TS6196: 'I' is declared but never used.
tests/cases/compiler/noUnusedLocals_selfReference.ts(14,1): error TS6196: 'T' is declared but never used.
tests/cases/compiler/noUnusedLocals_selfReference.ts(15,1): error TS6133: 'N' is declared but its value is never read.
tests/cases/compiler/noUnusedLocals_selfReference.ts(22,19): error TS6133: 'm' is declared but its value is never read.
@ -23,18 +23,18 @@ tests/cases/compiler/noUnusedLocals_selfReference.ts(22,19): error TS6133: 'm' i
}
class C {
~~~~~~~
!!! error TS6133: 'C' is declared but its value is never read.
!!! error TS6196: 'C' is declared but never used.
m() { C; }
}
enum E { A = 0, B = E.A }
~~~~~~
!!! error TS6133: 'E' is declared but its value is never read.
!!! error TS6196: 'E' is declared but never used.
interface I { x: I };
~~~~~~~~~~~
!!! error TS6133: 'I' is declared but its value is never read.
!!! error TS6196: 'I' is declared but never used.
type T = { x: T };
~~~~~~
!!! error TS6133: 'T' is declared but its value is never read.
!!! error TS6196: 'T' is declared but never used.
namespace N { N; }
~~~~~~~~~~~
!!! error TS6133: 'N' is declared but its value is never read.

View File

@ -1,11 +1,11 @@
tests/cases/compiler/unusedClassesinModule1.ts(2,5): error TS6133: 'Calculator' is declared but its value is never read.
tests/cases/compiler/unusedClassesinModule1.ts(2,5): error TS6196: 'Calculator' is declared but never used.
==== tests/cases/compiler/unusedClassesinModule1.ts (1 errors) ====
module A {
class Calculator {
~~~~~~~~~~~~~~~~
!!! error TS6133: 'Calculator' is declared but its value is never read.
!!! error TS6196: 'Calculator' is declared but never used.
public handelChar() {
}
}

View File

@ -1,11 +1,11 @@
tests/cases/compiler/unusedClassesinNamespace1.ts(2,5): error TS6133: 'c1' is declared but its value is never read.
tests/cases/compiler/unusedClassesinNamespace1.ts(2,5): error TS6196: 'c1' is declared but never used.
==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ====
namespace Validation {
class c1 {
~~~~~~~~
!!! error TS6133: 'c1' is declared but its value is never read.
!!! error TS6196: 'c1' is declared but never used.
}
}

View File

@ -1,11 +1,11 @@
tests/cases/compiler/unusedClassesinNamespace2.ts(2,5): error TS6133: 'c1' is declared but its value is never read.
tests/cases/compiler/unusedClassesinNamespace2.ts(2,5): error TS6196: 'c1' is declared but never used.
==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ====
namespace Validation {
class c1 {
~~~~~~~~
!!! error TS6133: 'c1' is declared but its value is never read.
!!! error TS6196: 'c1' is declared but never used.
}

View File

@ -1,4 +1,4 @@
tests/cases/compiler/unusedClassesinNamespace4.ts(10,5): error TS6133: 'c3' is declared but its value is never read.
tests/cases/compiler/unusedClassesinNamespace4.ts(10,5): error TS6196: 'c3' is declared but never used.
==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ====
@ -13,7 +13,7 @@ tests/cases/compiler/unusedClassesinNamespace4.ts(10,5): error TS6133: 'c3' is d
class c3 extends c1 {
~~~~~~~~
!!! error TS6133: 'c3' is declared but its value is never read.
!!! error TS6196: 'c3' is declared but never used.
}
}

View File

@ -1,4 +1,4 @@
tests/cases/compiler/unusedClassesinNamespace5.ts(10,5): error TS6133: 'c3' is declared but its value is never read.
tests/cases/compiler/unusedClassesinNamespace5.ts(10,5): error TS6196: 'c3' is declared but never used.
==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ====
@ -13,7 +13,7 @@ tests/cases/compiler/unusedClassesinNamespace5.ts(10,5): error TS6133: 'c3' is d
class c3 {
~~~~~~~~
!!! error TS6133: 'c3' is declared but its value is never read.
!!! error TS6196: 'c3' is declared but never used.
public x: c1;
}
}

View File

@ -10,11 +10,11 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,13): error TS6133: 'un
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(24,13): error TS6133: 'unUsedPrivateFunction' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(37,11): error TS6133: 'numberRegexp' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(44,17): error TS6133: 'unUsedPrivateFunction' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(57,5): error TS6133: 'usedLocallyInterface2' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(64,5): error TS6133: 'dummy' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(67,5): error TS6133: 'unusedInterface' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(79,5): error TS6133: 'class3' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6133: 'interface5' is declared but its value is never read.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(57,5): error TS6196: 'usedLocallyInterface2' is declared but never used.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(64,5): error TS6196: 'dummy' is declared but never used.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(67,5): error TS6196: 'unusedInterface' is declared but never used.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(79,5): error TS6196: 'class3' is declared but never used.
tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6196: 'interface5' is declared but never used.
==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (17 errors) ====
@ -100,7 +100,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6133: 'int
interface usedLocallyInterface2 {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS6133: 'usedLocallyInterface2' is declared but its value is never read.
!!! error TS6196: 'usedLocallyInterface2' is declared but never used.
someFunction(s1: string): void;
}
@ -109,12 +109,12 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6133: 'int
class dummy implements usedLocallyInterface {
~~~~~~~~~~~
!!! error TS6133: 'dummy' is declared but its value is never read.
!!! error TS6196: 'dummy' is declared but never used.
}
interface unusedInterface {
~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS6133: 'unusedInterface' is declared but its value is never read.
!!! error TS6196: 'unusedInterface' is declared but never used.
}
}
@ -128,7 +128,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6133: 'int
class class3 {
~~~~~~~~~~~~
!!! error TS6133: 'class3' is declared but its value is never read.
!!! error TS6196: 'class3' is declared but never used.
}
export class class4 {
@ -150,6 +150,6 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(99,5): error TS6133: 'int
interface interface5 {
~~~~~~~~~~~~~~~~~~~~
!!! error TS6133: 'interface5' is declared but its value is never read.
!!! error TS6196: 'interface5' is declared but never used.
}
}

View File

@ -1,11 +1,11 @@
tests/cases/compiler/unusedInterfaceinNamespace1.ts(2,5): error TS6133: 'i1' is declared but its value is never read.
tests/cases/compiler/unusedInterfaceinNamespace1.ts(2,5): error TS6196: 'i1' is declared but never used.
==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ====
namespace Validation {
interface i1 {
~~~~~~~~~~~~
!!! error TS6133: 'i1' is declared but its value is never read.
!!! error TS6196: 'i1' is declared but never used.
}
}

View File

@ -1,11 +1,11 @@
tests/cases/compiler/unusedInterfaceinNamespace2.ts(2,5): error TS6133: 'i1' is declared but its value is never read.
tests/cases/compiler/unusedInterfaceinNamespace2.ts(2,5): error TS6196: 'i1' is declared but never used.
==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ====
namespace Validation {
interface i1 {
~~~~~~~~~~~~
!!! error TS6133: 'i1' is declared but its value is never read.
!!! error TS6196: 'i1' is declared but never used.
}

View File

@ -1,4 +1,4 @@
tests/cases/compiler/unusedInterfaceinNamespace3.ts(10,5): error TS6133: 'i3' is declared but its value is never read.
tests/cases/compiler/unusedInterfaceinNamespace3.ts(10,5): error TS6196: 'i3' is declared but never used.
==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ====
@ -13,7 +13,7 @@ tests/cases/compiler/unusedInterfaceinNamespace3.ts(10,5): error TS6133: 'i3' is
interface i3 extends i1 {
~~~~~~~~~~~~
!!! error TS6133: 'i3' is declared but its value is never read.
!!! error TS6196: 'i3' is declared but never used.
}
}

View File

@ -2,7 +2,7 @@ tests/cases/compiler/unusedLocalsAndParameters.ts(4,12): error TS6133: 'a' is de
tests/cases/compiler/unusedLocalsAndParameters.ts(9,22): error TS6133: 'a' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParameters.ts(15,5): error TS6133: 'farrow' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParameters.ts(15,15): error TS6133: 'a' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParameters.ts(18,1): error TS6133: 'C' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParameters.ts(18,1): error TS6196: 'C' is declared but never used.
tests/cases/compiler/unusedLocalsAndParameters.ts(20,12): error TS6133: 'a' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParameters.ts(23,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
tests/cases/compiler/unusedLocalsAndParameters.ts(23,11): error TS6133: 'v' is declared but its value is never read.
@ -52,7 +52,7 @@ tests/cases/compiler/unusedLocalsAndParameters.ts(80,9): error TS6133: 'x' is de
class C {
~~~~~~~
!!! error TS6133: 'C' is declared but its value is never read.
!!! error TS6196: 'C' is declared but never used.
// Method declaration paramter
method(a) {
~

View File

@ -1,13 +1,13 @@
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(2,1): error TS6133: 'handler1' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(2,1): error TS6196: 'handler1' is declared but never used.
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(5,1): error TS6133: 'foo' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(6,5): error TS6133: 'handler2' is declared but its value is never read.
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(6,5): error TS6196: 'handler2' is declared but never used.
==== tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts (3 errors) ====
// unused
type handler1 = () => void;
~~~~~~~~~~~~~
!!! error TS6133: 'handler1' is declared but its value is never read.
!!! error TS6196: 'handler1' is declared but never used.
function foo() {
@ -15,7 +15,7 @@ tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(6,5): error TS6133
!!! error TS6133: 'foo' is declared but its value is never read.
type handler2 = () => void;
~~~~~~~~~~~~~
!!! error TS6133: 'handler2' is declared but its value is never read.
!!! error TS6196: 'handler2' is declared but never used.
foo();
}