Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/compiler/checker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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));
}
}

Expand Down
5 changes: 5 additions & 0 deletions src/compiler/diagnosticMessages.json
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions src/services/codefixes/fixUnusedIdentifier.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
];
Expand Down
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions tests/baselines/reference/unusedClassesinModule1.errors.txt
Original file line number Diff line number Diff line change
@@ -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() {
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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.

}
}
Original file line number Diff line number Diff line change
@@ -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.

}

Expand Down
Original file line number Diff line number Diff line change
@@ -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) ====
Expand All @@ -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.

}
}
Original file line number Diff line number Diff line change
@@ -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) ====
Expand All @@ -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;
}
}
20 changes: 10 additions & 10 deletions tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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) ====
Expand Down Expand Up @@ -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;
}

Expand All @@ -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.
}
}

Expand All @@ -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 {
Expand All @@ -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.
}
}
Original file line number Diff line number Diff line change
@@ -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.

}
}
Original file line number Diff line number Diff line change
@@ -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.

}

Expand Down
Original file line number Diff line number Diff line change
@@ -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) ====
Expand All @@ -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.

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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) {
~
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
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() {
~~~~~~~~~~~~
!!! 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();
}

Expand Down