From 617b81916964a28f2eac7bd23e2a8c14232fc8d0 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Tue, 24 May 2016 12:54:32 -0700 Subject: [PATCH 01/38] Code changes to update references of the Identifiers --- src/compiler/checker.ts | 8 ++++++++ src/compiler/types.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 06ef246340252..ef45612f48837 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8100,8 +8100,16 @@ namespace ts { return container === declarationContainer; } + function updateReferences(node: Identifier): void { + const symbol = getReferencedValueSymbol(node); + if (symbol) { + symbol.hasReference = true; + } + } + function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); + updateReferences(node); // As noted in ECMAScript 6 language spec, arrow functions never have an arguments objects. // Although in down-level emit of arrow function, we emit it using function expression which means that diff --git a/src/compiler/types.ts b/src/compiler/types.ts index c7e14a1003108..21eafc2d282f8 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2108,6 +2108,7 @@ namespace ts { /* @internal */ parent?: Symbol; // Parent symbol /* @internal */ exportSymbol?: Symbol; // Exported symbol associated with this symbol /* @internal */ constEnumOnlyModule?: boolean; // True if module contains only const enums or other modules with only const enums + hasReference?: boolean; } /* @internal */ From a8bc8b4bd5ae89d370e77bd3a619d2357dc33bf0 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Thu, 26 May 2016 10:06:01 -0700 Subject: [PATCH 02/38] Added code for handling function, method and coonstructor level local variables and parameters --- src/compiler/checker.ts | 30 +++++++++++++++++++++++++--- src/compiler/commandLineParser.ts | 10 ++++++++++ src/compiler/diagnosticMessages.json | 8 ++++++++ src/compiler/types.ts | 4 +++- 4 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ef45612f48837..21cf2f7c5518c 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8101,9 +8101,11 @@ namespace ts { } function updateReferences(node: Identifier): void { - const symbol = getReferencedValueSymbol(node); - if (symbol) { - symbol.hasReference = true; + if (!isSourceFileADefinitionFile(node)) { + const symbol = getReferencedValueSymbol(node); + if (symbol) { + symbol.hasReference = true; + } } } @@ -13128,6 +13130,7 @@ namespace ts { checkGrammarConstructorTypeParameters(node) || checkGrammarConstructorTypeAnnotation(node); checkSourceElement(node.body); + checkUnusedIdentifiers(node); const symbol = getSymbolOfNode(node); const firstDeclaration = getDeclarationOfKind(symbol, node.kind); @@ -14170,6 +14173,7 @@ namespace ts { } checkSourceElement(node.body); + checkUnusedIdentifiers(node); if (!node.asteriskToken) { const returnOrPromisedType = node.type && (isAsync ? checkAsyncFunctionReturnType(node) : getTypeFromTypeNode(node.type)); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnOrPromisedType); @@ -14191,6 +14195,26 @@ namespace ts { } } + function isSourceFileADefinitionFile(node: Node): boolean { + return getSourceFileOfNode(node).fileName.indexOf(".d.ts") > 0; + } + + function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { + if (!isSourceFileADefinitionFile(node)) { + for (const key in node.locals) { + if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { + if (compilerOptions.noUnusedLocals && node.locals[key].valueDeclaration.kind === SyntaxKind.VariableDeclaration) { + error(node, Diagnostics.Variable_0_has_never_been_used, key); + } + + if (compilerOptions.noUnusedParameters && node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter) { + error(node, Diagnostics.Parameter_0_has_never_been_used, key); + } + } + } + } + } + function checkBlock(node: Block) { // Grammar checking for SyntaxKind.Block if (node.kind === SyntaxKind.Block) { diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 506a2d5bee42d..f5b1fe3b48358 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -132,6 +132,16 @@ namespace ts { type: "boolean", description: Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type, }, + { + name: "noUnusedLocals", + type: "boolean", + description: Diagnostics.Variable_0_has_never_been_used, + }, + { + name: "noUnusedParameters", + type: "boolean", + description: Diagnostics.Parameter_0_has_never_been_used + }, { name: "noLib", type: "boolean", diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 034bd27b1472a..4462e2b3832fb 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2772,6 +2772,14 @@ "category": "Error", "code": 6131 }, + "Variable '{0}' has never been used.": { + "category": "Message", + "code": 6132 + }, + "Parameter '{0}' has never been used.": { + "category": "Message", + "code": 6133 + }, "Variable '{0}' implicitly has an '{1}' type.": { "category": "Error", diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 21eafc2d282f8..e36c0a488557d 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2108,7 +2108,7 @@ namespace ts { /* @internal */ parent?: Symbol; // Parent symbol /* @internal */ exportSymbol?: Symbol; // Exported symbol associated with this symbol /* @internal */ constEnumOnlyModule?: boolean; // True if module contains only const enums or other modules with only const enums - hasReference?: boolean; + /* @internal */ hasReference?: boolean; // True if the symbol is referenced elsewhere } /* @internal */ @@ -2505,6 +2505,8 @@ namespace ts { noErrorTruncation?: boolean; noImplicitAny?: boolean; noImplicitThis?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; noLib?: boolean; noResolve?: boolean; out?: string; From 01966bad69a61c1cd4b9e8f79dba625f0be5fefb Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Thu, 26 May 2016 10:07:04 -0700 Subject: [PATCH 03/38] Rebased with origin master --- lib/lib.scripthost.d.ts | 294 ---------------------------------------- 1 file changed, 294 deletions(-) delete mode 100644 lib/lib.scripthost.d.ts diff --git a/lib/lib.scripthost.d.ts b/lib/lib.scripthost.d.ts deleted file mode 100644 index d4c6131fd93ba..0000000000000 --- a/lib/lib.scripthost.d.ts +++ /dev/null @@ -1,294 +0,0 @@ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ - -/// - - -///////////////////////////// -/// Windows Script Host APIS -///////////////////////////// - - -interface ActiveXObject { - new (s: string): any; -} -declare var ActiveXObject: ActiveXObject; - -interface ITextWriter { - Write(s: string): void; - WriteLine(s: string): void; - Close(): void; -} - -interface TextStreamBase { - /** - * The column number of the current character position in an input stream. - */ - Column: number; - - /** - * The current line number in an input stream. - */ - Line: number; - - /** - * Closes a text stream. - * It is not necessary to close standard streams; they close automatically when the process ends. If - * you close a standard stream, be aware that any other pointers to that standard stream become invalid. - */ - Close(): void; -} - -interface TextStreamWriter extends TextStreamBase { - /** - * Sends a string to an output stream. - */ - Write(s: string): void; - - /** - * Sends a specified number of blank lines (newline characters) to an output stream. - */ - WriteBlankLines(intLines: number): void; - - /** - * Sends a string followed by a newline character to an output stream. - */ - WriteLine(s: string): void; -} - -interface TextStreamReader extends TextStreamBase { - /** - * Returns a specified number of characters from an input stream, starting at the current pointer position. - * Does not return until the ENTER key is pressed. - * Can only be used on a stream in reading mode; causes an error in writing or appending mode. - */ - Read(characters: number): string; - - /** - * Returns all characters from an input stream. - * Can only be used on a stream in reading mode; causes an error in writing or appending mode. - */ - ReadAll(): string; - - /** - * Returns an entire line from an input stream. - * Although this method extracts the newline character, it does not add it to the returned string. - * Can only be used on a stream in reading mode; causes an error in writing or appending mode. - */ - ReadLine(): string; - - /** - * Skips a specified number of characters when reading from an input text stream. - * Can only be used on a stream in reading mode; causes an error in writing or appending mode. - * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) - */ - Skip(characters: number): void; - - /** - * Skips the next line when reading from an input text stream. - * Can only be used on a stream in reading mode, not writing or appending mode. - */ - SkipLine(): void; - - /** - * Indicates whether the stream pointer position is at the end of a line. - */ - AtEndOfLine: boolean; - - /** - * Indicates whether the stream pointer position is at the end of a stream. - */ - AtEndOfStream: boolean; -} - -declare var WScript: { - /** - * Outputs text to either a message box (under WScript.exe) or the command console window followed by - * a newline (under CScript.exe). - */ - Echo(s: any): void; - - /** - * Exposes the write-only error output stream for the current script. - * Can be accessed only while using CScript.exe. - */ - StdErr: TextStreamWriter; - - /** - * Exposes the write-only output stream for the current script. - * Can be accessed only while using CScript.exe. - */ - StdOut: TextStreamWriter; - Arguments: { length: number; Item(n: number): string; }; - - /** - * The full path of the currently running script. - */ - ScriptFullName: string; - - /** - * Forces the script to stop immediately, with an optional exit code. - */ - Quit(exitCode?: number): number; - - /** - * The Windows Script Host build version number. - */ - BuildVersion: number; - - /** - * Fully qualified path of the host executable. - */ - FullName: string; - - /** - * Gets/sets the script mode - interactive(true) or batch(false). - */ - Interactive: boolean; - - /** - * The name of the host executable (WScript.exe or CScript.exe). - */ - Name: string; - - /** - * Path of the directory containing the host executable. - */ - Path: string; - - /** - * The filename of the currently running script. - */ - ScriptName: string; - - /** - * Exposes the read-only input stream for the current script. - * Can be accessed only while using CScript.exe. - */ - StdIn: TextStreamReader; - - /** - * Windows Script Host version - */ - Version: string; - - /** - * Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event. - */ - ConnectObject(objEventSource: any, strPrefix: string): void; - - /** - * Creates a COM object. - * @param strProgiID - * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. - */ - CreateObject(strProgID: string, strPrefix?: string): any; - - /** - * Disconnects a COM object from its event sources. - */ - DisconnectObject(obj: any): void; - - /** - * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. - * @param strPathname Fully qualified path to the file containing the object persisted to disk. - * For objects in memory, pass a zero-length string. - * @param strProgID - * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. - */ - GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; - - /** - * Suspends script execution for a specified length of time, then continues execution. - * @param intTime Interval (in milliseconds) to suspend script execution. - */ - Sleep(intTime: number): void; -}; - -/** - * Allows enumerating over a COM collection, which may not have indexed item access. - */ -interface Enumerator { - /** - * Returns true if the current item is the last one in the collection, or the collection is empty, - * or the current item is undefined. - */ - atEnd(): boolean; - - /** - * Returns the current item in the collection - */ - item(): T; - - /** - * Resets the current item in the collection to the first item. If there are no items in the collection, - * the current item is set to undefined. - */ - moveFirst(): void; - - /** - * Moves the current item to the next item in the collection. If the enumerator is at the end of - * the collection or the collection is empty, the current item is set to undefined. - */ - moveNext(): void; -} - -interface EnumeratorConstructor { - new (collection: any): Enumerator; - new (collection: any): Enumerator; -} - -declare var Enumerator: EnumeratorConstructor; - -/** - * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions. - */ -interface VBArray { - /** - * Returns the number of dimensions (1-based). - */ - dimensions(): number; - - /** - * Takes an index for each dimension in the array, and returns the item at the corresponding location. - */ - getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; - - /** - * Returns the smallest available index for a given dimension. - * @param dimension 1-based dimension (defaults to 1) - */ - lbound(dimension?: number): number; - - /** - * Returns the largest available index for a given dimension. - * @param dimension 1-based dimension (defaults to 1) - */ - ubound(dimension?: number): number; - - /** - * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, - * each successive dimension is appended to the end of the array. - * Example: [[1,2,3],[4,5,6]] becomes [1,2,3,4,5,6] - */ - toArray(): T[]; -} - -interface VBArrayConstructor { - new (safeArray: any): VBArray; - new (safeArray: any): VBArray; -} - -declare var VBArray: VBArrayConstructor; From 1e5ca92010a0bec2281bb7b1a2722171c0e8063b Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 27 May 2016 10:08:19 -0700 Subject: [PATCH 04/38] Code changes to handle unused private variables, private methods and typed parameters --- src/compiler/checker.ts | 49 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 21cf2f7c5518c..4e072c67aeaa4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8109,6 +8109,13 @@ namespace ts { } } + function updateReferencesForTypedParameters(node: TypeNode): void { + const symbol = getNodeLinks(node).resolvedSymbol; + if (symbol) { + symbol.hasReference = true; + } + } + function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); updateReferences(node); @@ -9992,6 +9999,7 @@ namespace ts { return unknownType; } + prop.hasReference = true; getNodeLinks(node).resolvedSymbol = prop; if (prop.parent && prop.parent.flags & SymbolFlags.Class) { @@ -13107,6 +13115,9 @@ namespace ts { checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarProperty(node) || checkGrammarComputedPropertyName(node.name); checkVariableLikeDeclaration(node); + if (node.type && node.type.kind === SyntaxKind.TypeReference) { + updateReferencesForTypedParameters(node.type); + } } function checkMethodDeclaration(node: MethodDeclaration) { @@ -14207,7 +14218,9 @@ namespace ts { error(node, Diagnostics.Variable_0_has_never_been_used, key); } - if (compilerOptions.noUnusedParameters && node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter) { + if (compilerOptions.noUnusedParameters + && node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter + && node.parent.kind === SyntaxKind.FunctionDeclaration) { error(node, Diagnostics.Parameter_0_has_never_been_used, key); } } @@ -14215,6 +14228,39 @@ namespace ts { } } + function checkUnusedPrivates(node: ClassDeclaration): void { + if (!isSourceFileADefinitionFile(node)) { + for (let i = 0; i < node.members.length; i++) { + switch (node.members[i].kind) { + case SyntaxKind.MethodDeclaration: + case SyntaxKind.PropertyDeclaration: + if (compilerOptions.noUnusedLocals && isPrivateClassElement(node.members[i]) && !node.members[i].symbol.hasReference) { + error(node, Diagnostics.Variable_0_has_never_been_used, node.members[i].symbol.name); + } + break; + default: + break; + } + } + + //var typeParametersLength = (node.typeParameters) ? node.typeParameters.length : 0; + for (let i = 0; node.typeParameters && i < node.typeParameters.length; i++) { + if (compilerOptions.noUnusedLocals && !node.typeParameters[i].symbol.hasReference) { + error(node, Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); + } + } + } + } + + function isPrivateClassElement(node: ClassElement): boolean { + for (let i = 0; node.modifiers && i < node.modifiers.length; i++) { + if (node.modifiers[i].kind === SyntaxKind.PrivateKeyword) + return true; + } + return false; + } + + function checkBlock(node: Block) { // Grammar checking for SyntaxKind.Block if (node.kind === SyntaxKind.Block) { @@ -15372,6 +15418,7 @@ namespace ts { } checkClassLikeDeclaration(node); forEach(node.members, checkSourceElement); + checkUnusedPrivates(node); } function checkClassLikeDeclaration(node: ClassLikeDeclaration) { From 890d178a742663b0df75d962fb988f10f9e52e07 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 1 Jun 2016 11:08:17 -0700 Subject: [PATCH 05/38] Code changes to handle namespace level elements --- src/compiler/checker.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4e072c67aeaa4..fc9e03e7ce6b5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14228,9 +14228,21 @@ namespace ts { } } + function checkUnusedModulePrivates(node: ModuleDeclaration): void { + if (!isSourceFileADefinitionFile(node)) { + for (const key in node.locals) { + if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { + if (compilerOptions.noUnusedLocals && !node.locals[key].exportSymbol) { + error(node, Diagnostics.Variable_0_has_never_been_used, key); + } + } + } + } + } + function checkUnusedPrivates(node: ClassDeclaration): void { if (!isSourceFileADefinitionFile(node)) { - for (let i = 0; i < node.members.length; i++) { + for (let i = 0; node.members && i < node.members.length; i++) { switch (node.members[i].kind) { case SyntaxKind.MethodDeclaration: case SyntaxKind.PropertyDeclaration: @@ -14243,7 +14255,6 @@ namespace ts { } } - //var typeParametersLength = (node.typeParameters) ? node.typeParameters.length : 0; for (let i = 0; node.typeParameters && i < node.typeParameters.length; i++) { if (compilerOptions.noUnusedLocals && !node.typeParameters[i].symbol.hasReference) { error(node, Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); @@ -16117,6 +16128,7 @@ namespace ts { } } checkSourceElement(node.body); + checkUnusedModulePrivates(node); } function checkModuleAugmentationElement(node: Node, isGlobalAugmentation: boolean): void { From 69dbeea93612fcede78d0c470b17257716bbb3e6 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 1 Jun 2016 16:08:12 -0700 Subject: [PATCH 06/38] Code changes to handle unimplemented interfaces --- src/compiler/checker.ts | 42 +++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index fc9e03e7ce6b5..eb979933a8d81 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13141,7 +13141,7 @@ namespace ts { checkGrammarConstructorTypeParameters(node) || checkGrammarConstructorTypeAnnotation(node); checkSourceElement(node.body); - checkUnusedIdentifiers(node); + checkUnusedLocals(node); const symbol = getSymbolOfNode(node); const firstDeclaration = getDeclarationOfKind(symbol, node.kind); @@ -14184,7 +14184,7 @@ namespace ts { } checkSourceElement(node.body); - checkUnusedIdentifiers(node); + checkUnusedLocals(node); if (!node.asteriskToken) { const returnOrPromisedType = node.type && (isAsync ? checkAsyncFunctionReturnType(node) : getTypeFromTypeNode(node.type)); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnOrPromisedType); @@ -14210,17 +14210,28 @@ namespace ts { return getSourceFileOfNode(node).fileName.indexOf(".d.ts") > 0; } + function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { + checkUnusedIdentifiers(node); + checkUnusedParameters(node); + } + function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { - if (!isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile(node)) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { - if (compilerOptions.noUnusedLocals && node.locals[key].valueDeclaration.kind === SyntaxKind.VariableDeclaration) { + if (node.locals[key].valueDeclaration.kind === SyntaxKind.VariableDeclaration) { error(node, Diagnostics.Variable_0_has_never_been_used, key); } + } + } + } + } - if (compilerOptions.noUnusedParameters - && node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter - && node.parent.kind === SyntaxKind.FunctionDeclaration) { + function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { + if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile(node)) { + for (const key in node.locals) { + if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { + if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter) { error(node, Diagnostics.Parameter_0_has_never_been_used, key); } } @@ -14229,10 +14240,11 @@ namespace ts { } function checkUnusedModulePrivates(node: ModuleDeclaration): void { - if (!isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile(node)) { for (const key in node.locals) { - if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { - if (compilerOptions.noUnusedLocals && !node.locals[key].exportSymbol) { + if (!node.locals[key].hasReference && !node.locals[key].exportSymbol) { + if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) + || (node.locals[key].declarations && node.locals[key].declarations[0].kind === SyntaxKind.InterfaceDeclaration)) { error(node, Diagnostics.Variable_0_has_never_been_used, key); } } @@ -14241,12 +14253,12 @@ namespace ts { } function checkUnusedPrivates(node: ClassDeclaration): void { - if (!isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile(node)) { for (let i = 0; node.members && i < node.members.length; i++) { switch (node.members[i].kind) { case SyntaxKind.MethodDeclaration: case SyntaxKind.PropertyDeclaration: - if (compilerOptions.noUnusedLocals && isPrivateClassElement(node.members[i]) && !node.members[i].symbol.hasReference) { + if (isPrivateClassElement(node.members[i]) && !node.members[i].symbol.hasReference) { error(node, Diagnostics.Variable_0_has_never_been_used, node.members[i].symbol.name); } break; @@ -14256,7 +14268,7 @@ namespace ts { } for (let i = 0; node.typeParameters && i < node.typeParameters.length; i++) { - if (compilerOptions.noUnusedLocals && !node.typeParameters[i].symbol.hasReference) { + if (!node.typeParameters[i].symbol.hasReference) { error(node, Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); } } @@ -14271,7 +14283,6 @@ namespace ts { return false; } - function checkBlock(node: Block) { // Grammar checking for SyntaxKind.Block if (node.kind === SyntaxKind.Block) { @@ -15494,6 +15505,9 @@ namespace ts { if (produceDiagnostics) { const t = getTypeFromTypeNode(typeRefNode); if (t !== unknownType) { + if (t.symbol) { + t.symbol.hasReference = true; + } const declaredType = (t.flags & TypeFlags.Reference) ? (t).target : t; if (declaredType.flags & (TypeFlags.Class | TypeFlags.Interface)) { checkTypeAssignableTo(typeWithThis, getTypeWithThisArgument(t, type.thisType), node.name || node, Diagnostics.Class_0_incorrectly_implements_interface_1); From c78d0e277ffd4f514c48adccd62f4efbcc9241b3 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 1 Jun 2016 16:15:47 -0700 Subject: [PATCH 07/38] Code to optimize the d.ts check --- src/compiler/checker.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index eb979933a8d81..8407d4835ee0d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -44,6 +44,7 @@ namespace ts { let typeCount = 0; let symbolCount = 0; + let isSourceFileADefinitionFile: boolean = false; const emptyArray: any[] = []; const emptySymbols: SymbolTable = {}; @@ -8101,7 +8102,7 @@ namespace ts { } function updateReferences(node: Identifier): void { - if (!isSourceFileADefinitionFile(node)) { + if (!isSourceFileADefinitionFile) { const symbol = getReferencedValueSymbol(node); if (symbol) { symbol.hasReference = true; @@ -14206,7 +14207,7 @@ namespace ts { } } - function isSourceFileADefinitionFile(node: Node): boolean { + function checkSourceFileADefinitionFile(node: Node): boolean { return getSourceFileOfNode(node).fileName.indexOf(".d.ts") > 0; } @@ -14216,7 +14217,7 @@ namespace ts { } function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { - if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.VariableDeclaration) { @@ -14228,7 +14229,7 @@ namespace ts { } function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { - if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter) { @@ -14240,7 +14241,7 @@ namespace ts { } function checkUnusedModulePrivates(node: ModuleDeclaration): void { - if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && !node.locals[key].exportSymbol) { if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) @@ -14253,7 +14254,7 @@ namespace ts { } function checkUnusedPrivates(node: ClassDeclaration): void { - if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile(node)) { + if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { for (let i = 0; node.members && i < node.members.length; i++) { switch (node.members[i].kind) { case SyntaxKind.MethodDeclaration: @@ -16641,6 +16642,7 @@ namespace ts { function checkSourceFile(node: SourceFile) { const start = new Date().getTime(); + isSourceFileADefinitionFile = checkSourceFileADefinitionFile(node); checkSourceFileWorker(node); checkTime += new Date().getTime() - start; From 107b36991a1486a7d4e8c123b012b7d3eb4ef7e2 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 1 Jun 2016 16:38:24 -0700 Subject: [PATCH 08/38] Correct Code change to handle the parameters for methods inside interfaces --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8407d4835ee0d..a9ef955f5a6ff 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14232,7 +14232,7 @@ namespace ts { if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { - if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter) { + if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { error(node, Diagnostics.Parameter_0_has_never_been_used, key); } } From 481baa3cb164d564e0a397cea3ebf9a8e35daaae Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 1 Jun 2016 18:07:50 -0700 Subject: [PATCH 09/38] Fix for lint error --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index a9ef955f5a6ff..4f6370a434b2f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -44,7 +44,7 @@ namespace ts { let typeCount = 0; let symbolCount = 0; - let isSourceFileADefinitionFile: boolean = false; + let isSourceFileADefinitionFile = false; const emptyArray: any[] = []; const emptySymbols: SymbolTable = {}; From cd1ce0f7a84cd6a1ceb09ee94fc2c6c66ef7bea2 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Thu, 2 Jun 2016 09:41:41 -0700 Subject: [PATCH 10/38] Remove Trailing whitespace --- src/compiler/checker.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4f6370a434b2f..e89d64539eb3e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14225,7 +14225,7 @@ namespace ts { } } } - } + } } function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { @@ -14248,7 +14248,7 @@ namespace ts { || (node.locals[key].declarations && node.locals[key].declarations[0].kind === SyntaxKind.InterfaceDeclaration)) { error(node, Diagnostics.Variable_0_has_never_been_used, key); } - } + } } } } @@ -14273,7 +14273,7 @@ namespace ts { error(node, Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); } } - } + } } function isPrivateClassElement(node: ClassElement): boolean { From a38149d83cc8096e9f18e6c0a3755b99fd8a767f Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 3 Jun 2016 12:19:16 -0700 Subject: [PATCH 11/38] Code changes to handle interface implementations --- src/compiler/checker.ts | 39 ++++++++++++++++++++++++++++----------- src/compiler/utilities.ts | 2 +- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e89d64539eb3e..7ecb1e4867284 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8117,6 +8117,16 @@ namespace ts { } } + function updateReferencesForInterfaceImplementations(node: InterfaceDeclaration): void { + const extendedTypeNode = getClassExtendsHeritageClauseElement(node); + if (extendedTypeNode) { + const t = getTypeFromTypeNode(extendedTypeNode); + if (t !== unknownType && t.symbol) { + t.symbol.hasReference = true; + } + } + } + function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); updateReferences(node); @@ -11899,6 +11909,7 @@ namespace ts { if (node.body.kind === SyntaxKind.Block) { checkSourceElement(node.body); + checkUnusedLocals(node); } else { // From within an async function you can return either a non-promise value or a promise. Any @@ -13335,13 +13346,18 @@ namespace ts { function checkTypeReferenceNode(node: TypeReferenceNode | ExpressionWithTypeArguments) { checkGrammarTypeArguments(node, node.typeArguments); const type = getTypeFromTypeReference(node); - if (type !== unknownType && node.typeArguments) { - // Do type argument local checks only if referenced type is successfully resolved - forEach(node.typeArguments, checkSourceElement); - if (produceDiagnostics) { - const symbol = getNodeLinks(node).resolvedSymbol; - const typeParameters = symbol.flags & SymbolFlags.TypeAlias ? getSymbolLinks(symbol).typeParameters : (type).target.localTypeParameters; - checkTypeArgumentConstraints(typeParameters, node.typeArguments); + if (type !== unknownType) { + if (type.symbol) { + type.symbol.hasReference = true; + } + if (node.typeArguments) { + // Do type argument local checks only if referenced type is successfully resolved + forEach(node.typeArguments, checkSourceElement); + if (produceDiagnostics) { + const symbol = getNodeLinks(node).resolvedSymbol; + const typeParameters = symbol.flags & SymbolFlags.TypeAlias ? getSymbolLinks(symbol).typeParameters : (type).target.localTypeParameters; + checkTypeArgumentConstraints(typeParameters, node.typeArguments); + } } } } @@ -14211,16 +14227,16 @@ namespace ts { return getSourceFileOfNode(node).fileName.indexOf(".d.ts") > 0; } - function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { + function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { checkUnusedIdentifiers(node); checkUnusedParameters(node); } - function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { + function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { - if (node.locals[key].valueDeclaration.kind === SyntaxKind.VariableDeclaration) { + if (node.locals[key].valueDeclaration.kind !== SyntaxKind.Parameter) { error(node, Diagnostics.Variable_0_has_never_been_used, key); } } @@ -14228,7 +14244,7 @@ namespace ts { } } - function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration): void { + function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { @@ -15727,6 +15743,7 @@ namespace ts { checkExportsOnMergedDeclarations(node); const symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(node, symbol); + updateReferencesForInterfaceImplementations(node); // Only check this symbol once const firstInterfaceDecl = getDeclarationOfKind(symbol, SyntaxKind.InterfaceDeclaration); diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 74ea3459b2359..834d599790fbb 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1690,7 +1690,7 @@ namespace ts { node.kind === SyntaxKind.ExportAssignment && (node).expression.kind === SyntaxKind.Identifier; } - export function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration) { + export function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration | InterfaceDeclaration) { const heritageClause = getHeritageClause(node.heritageClauses, SyntaxKind.ExtendsKeyword); return heritageClause && heritageClause.types.length > 0 ? heritageClause.types[0] : undefined; } From 0571c1989b6bc5d3cbce8ca474dad17b5674fae1 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 3 Jun 2016 15:07:20 -0700 Subject: [PATCH 12/38] Changes to display the error position correctly --- src/compiler/checker.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7ecb1e4867284..a88504c65cff2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14237,7 +14237,7 @@ namespace ts { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind !== SyntaxKind.Parameter) { - error(node, Diagnostics.Variable_0_has_never_been_used, key); + error(node.locals[key].valueDeclaration, Diagnostics.Variable_0_has_never_been_used, key); } } } @@ -14249,7 +14249,7 @@ namespace ts { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { - error(node, Diagnostics.Parameter_0_has_never_been_used, key); + error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); } } } @@ -14260,9 +14260,11 @@ namespace ts { if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { for (const key in node.locals) { if (!node.locals[key].hasReference && !node.locals[key].exportSymbol) { - if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) - || (node.locals[key].declarations && node.locals[key].declarations[0].kind === SyntaxKind.InterfaceDeclaration)) { - error(node, Diagnostics.Variable_0_has_never_been_used, key); + if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind)) { + error(node.locals[key].valueDeclaration, Diagnostics.Variable_0_has_never_been_used, key); + } + else if (node.locals[key].declarations && node.locals[key].declarations[0].kind === SyntaxKind.InterfaceDeclaration) { + error(node.locals[key].declarations[0], Diagnostics.Variable_0_has_never_been_used, key); } } } @@ -14276,7 +14278,7 @@ namespace ts { case SyntaxKind.MethodDeclaration: case SyntaxKind.PropertyDeclaration: if (isPrivateClassElement(node.members[i]) && !node.members[i].symbol.hasReference) { - error(node, Diagnostics.Variable_0_has_never_been_used, node.members[i].symbol.name); + error(node.members[i], Diagnostics.Variable_0_has_never_been_used, node.members[i].symbol.name); } break; default: @@ -14286,7 +14288,7 @@ namespace ts { for (let i = 0; node.typeParameters && i < node.typeParameters.length; i++) { if (!node.typeParameters[i].symbol.hasReference) { - error(node, Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); + error(node.typeParameters[i], Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); } } } From e17ed58a27bcd16516273c4eb981cef546bb4e59 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 3 Jun 2016 15:07:58 -0700 Subject: [PATCH 13/38] Compiler Test Cases --- .../unusedClassesinNamespace1.errors.txt | 12 ++ .../reference/unusedClassesinNamespace1.js | 17 ++ .../unusedClassesinNamespace2.errors.txt | 16 ++ .../reference/unusedClassesinNamespace2.js | 27 +++ .../reference/unusedClassesinNamespace3.js | 30 +++ .../unusedClassesinNamespace3.symbols | 19 ++ .../reference/unusedClassesinNamespace3.types | 20 ++ .../unusedClassesinNamespace4.errors.txt | 20 ++ .../reference/unusedClassesinNamespace4.js | 43 ++++ .../unusedClassesinNamespace5.errors.txt | 20 ++ .../reference/unusedClassesinNamespace5.js | 36 ++++ .../unusedFunctionsinNamespaces1.errors.txt | 11 ++ .../reference/unusedFunctionsinNamespaces1.js | 13 ++ .../unusedFunctionsinNamespaces2.errors.txt | 11 ++ .../reference/unusedFunctionsinNamespaces2.js | 13 ++ .../unusedFunctionsinNamespaces3.errors.txt | 14 ++ .../reference/unusedFunctionsinNamespaces3.js | 13 ++ .../unusedFunctionsinNamespaces4.errors.txt | 15 ++ .../reference/unusedFunctionsinNamespaces4.js | 20 ++ .../unusedFunctionsinNamespaces5.errors.txt | 26 +++ .../reference/unusedFunctionsinNamespaces5.js | 33 ++++ .../unusedFunctionsinNamespaces6.errors.txt | 25 +++ .../reference/unusedFunctionsinNamespaces6.js | 36 ++++ .../unusedIdentifiersConsolidated1.errors.txt | 153 ++++++++++++++ .../unusedIdentifiersConsolidated1.js | 187 ++++++++++++++++++ .../unusedInterfaceinNamespace1.errors.txt | 12 ++ .../reference/unusedInterfaceinNamespace1.js | 9 + .../unusedInterfaceinNamespace2.errors.txt | 16 ++ .../reference/unusedInterfaceinNamespace2.js | 13 ++ .../unusedInterfaceinNamespace3.errors.txt | 20 ++ .../reference/unusedInterfaceinNamespace3.js | 17 ++ .../reference/unusedInterfaceinNamespace4.js | 30 +++ .../unusedInterfaceinNamespace4.symbols | 27 +++ .../unusedInterfaceinNamespace4.types | 27 +++ .../reference/unusedInterfaceinNamespace5.js | 36 ++++ .../unusedInterfaceinNamespace5.symbols | 36 ++++ .../unusedInterfaceinNamespace5.types | 36 ++++ .../unusedLocalsInMethod1.errors.txt | 12 ++ .../reference/unusedLocalsInMethod1.js | 17 ++ .../unusedLocalsInMethod2.errors.txt | 13 ++ .../reference/unusedLocalsInMethod2.js | 19 ++ .../unusedLocalsInMethod3.errors.txt | 13 ++ .../reference/unusedLocalsInMethod3.js | 19 ++ ...ationWithinFunctionDeclaration1.errors.txt | 26 +++ ...onDeclarationWithinFunctionDeclaration1.js | 18 ++ ...ationWithinFunctionDeclaration2.errors.txt | 35 ++++ ...onDeclarationWithinFunctionDeclaration2.js | 24 +++ ...rationWithinFunctionExpression1.errors.txt | 26 +++ ...ionDeclarationWithinFunctionExpression1.js | 18 ++ ...rationWithinFunctionExpression2.errors.txt | 35 ++++ ...ionDeclarationWithinFunctionExpression2.js | 24 +++ ...ssionWithinFunctionDeclaration1.errors.txt | 26 +++ ...ionExpressionWithinFunctionDeclaration1.js | 18 ++ ...ssionWithinFunctionDeclaration2.errors.txt | 35 ++++ ...ionExpressionWithinFunctionDeclaration2.js | 24 +++ ...essionWithinFunctionExpression1.errors.txt | 26 +++ ...tionExpressionWithinFunctionExpression1.js | 18 ++ ...essionWithinFunctionExpression2.errors.txt | 35 ++++ ...tionExpressionWithinFunctionExpression2.js | 24 +++ .../unusedLocalsinConstructor1.errors.txt | 12 ++ .../reference/unusedLocalsinConstructor1.js | 15 ++ .../unusedLocalsinConstructor2.errors.txt | 14 ++ .../reference/unusedLocalsinConstructor2.js | 19 ++ ...dMultipleParameter1InContructor.errors.txt | 16 ++ .../unusedMultipleParameter1InContructor.js | 17 ++ ...eParameter1InFunctionExpression.errors.txt | 14 ++ ...dMultipleParameter1InFunctionExpression.js | 12 ++ ...dMultipleParameter2InContructor.errors.txt | 19 ++ .../unusedMultipleParameter2InContructor.js | 17 ++ ...eParameter2InFunctionExpression.errors.txt | 17 ++ ...dMultipleParameter2InFunctionExpression.js | 12 ++ ...arameters1InFunctionDeclaration.errors.txt | 14 ++ ...ultipleParameters1InFunctionDeclaration.js | 12 ++ ...eParameters1InMethodDeclaration.errors.txt | 16 ++ ...dMultipleParameters1InMethodDeclaration.js | 19 ++ ...arameters2InFunctionDeclaration.errors.txt | 17 ++ ...ultipleParameters2InFunctionDeclaration.js | 12 ++ ...eParameters2InMethodDeclaration.errors.txt | 19 ++ ...dMultipleParameters2InMethodDeclaration.js | 19 ++ .../unusedParametersinConstructor1.errors.txt | 11 ++ .../unusedParametersinConstructor1.js | 13 ++ .../unusedParametersinConstructor2.errors.txt | 12 ++ .../unusedParametersinConstructor2.js | 15 ++ .../unusedParametersinConstructor3.errors.txt | 15 ++ .../unusedParametersinConstructor3.js | 15 ++ .../unusedPrivateMethodInClass1.errors.txt | 13 ++ .../reference/unusedPrivateMethodInClass1.js | 19 ++ .../unusedPrivateMethodInClass2.errors.txt | 21 ++ .../reference/unusedPrivateMethodInClass2.js | 28 +++ .../unusedPrivateMethodInClass3.errors.txt | 26 +++ .../reference/unusedPrivateMethodInClass3.js | 37 ++++ .../unusedPrivateMethodInClass4.errors.txt | 24 +++ .../reference/unusedPrivateMethodInClass4.js | 39 ++++ .../unusedPrivateVariableInClass1.errors.txt | 10 + .../unusedPrivateVariableInClass1.js | 12 ++ .../unusedPrivateVariableInClass2.errors.txt | 14 ++ .../unusedPrivateVariableInClass2.js | 13 ++ .../unusedPrivateVariableInClass3.errors.txt | 15 ++ .../unusedPrivateVariableInClass3.js | 14 ++ .../unusedPrivateVariableInClass4.errors.txt | 16 ++ .../unusedPrivateVariableInClass4.js | 21 ++ .../unusedPrivateVariableInClass5.errors.txt | 16 ++ .../unusedPrivateVariableInClass5.js | 19 ++ ...usedSingleParameterInContructor.errors.txt | 15 ++ .../unusedSingleParameterInContructor.js | 15 ++ ...eParameterInFunctionDeclaration.errors.txt | 13 ++ ...sedSingleParameterInFunctionDeclaration.js | 10 + ...leParameterInFunctionExpression.errors.txt | 13 ++ ...usedSingleParameterInFunctionExpression.js | 10 + ...gleParameterInMethodDeclaration.errors.txt | 15 ++ ...nusedSingleParameterInMethodDeclaration.js | 17 ++ .../unusedTypeParameters1.errors.txt | 10 + .../reference/unusedTypeParameters1.js | 12 ++ .../unusedTypeParameters2.errors.txt | 14 ++ .../reference/unusedTypeParameters2.js | 19 ++ .../unusedTypeParameters3.errors.txt | 17 ++ .../reference/unusedTypeParameters3.js | 19 ++ .../unusedVariablesinNamespaces1.errors.txt | 10 + .../reference/unusedVariablesinNamespaces1.js | 11 ++ .../unusedVariablesinNamespaces2.errors.txt | 17 ++ .../reference/unusedVariablesinNamespaces2.js | 28 +++ .../unusedVariablesinNamespaces3.errors.txt | 18 ++ .../reference/unusedVariablesinNamespaces3.js | 30 +++ .../compiler/unusedClassesinNamespace1.ts | 8 + .../compiler/unusedClassesinNamespace2.ts | 12 ++ .../compiler/unusedClassesinNamespace3.ts | 14 ++ .../compiler/unusedClassesinNamespace4.ts | 16 ++ .../compiler/unusedClassesinNamespace5.ts | 16 ++ .../compiler/unusedFunctionsinNamespaces1.ts | 7 + .../compiler/unusedFunctionsinNamespaces2.ts | 7 + .../compiler/unusedFunctionsinNamespaces3.ts | 7 + .../compiler/unusedFunctionsinNamespaces4.ts | 11 ++ .../compiler/unusedFunctionsinNamespaces5.ts | 19 ++ .../compiler/unusedFunctionsinNamespaces6.ts | 21 ++ .../unusedIdentifiersConsolidated1.ts | 104 ++++++++++ .../compiler/unusedInterfaceinNamespace1.ts | 8 + .../compiler/unusedInterfaceinNamespace2.ts | 12 ++ .../compiler/unusedInterfaceinNamespace3.ts | 16 ++ .../compiler/unusedInterfaceinNamespace4.ts | 20 ++ .../compiler/unusedInterfaceinNamespace5.ts | 26 +++ tests/cases/compiler/unusedLocalsInMethod1.ts | 8 + tests/cases/compiler/unusedLocalsInMethod2.ts | 9 + tests/cases/compiler/unusedLocalsInMethod3.ts | 9 + ...onDeclarationWithinFunctionDeclaration1.ts | 10 + ...onDeclarationWithinFunctionDeclaration2.ts | 13 ++ ...ionDeclarationWithinFunctionExpression1.ts | 10 + ...ionDeclarationWithinFunctionExpression2.ts | 13 ++ ...ionExpressionWithinFunctionDeclaration1.ts | 10 + ...ionExpressionWithinFunctionDeclaration2.ts | 13 ++ ...tionExpressionWithinFunctionExpression1.ts | 10 + ...tionExpressionWithinFunctionExpression2.ts | 13 ++ .../compiler/unusedLocalsinConstructor1.ts | 8 + .../compiler/unusedLocalsinConstructor2.ts | 10 + .../unusedMultipleParameter1InContructor.ts | 9 + ...dMultipleParameter1InFunctionExpression.ts | 7 + .../unusedMultipleParameter2InContructor.ts | 9 + ...dMultipleParameter2InFunctionExpression.ts | 7 + ...ultipleParameters1InFunctionDeclaration.ts | 7 + ...dMultipleParameters1InMethodDeclaration.ts | 9 + ...ultipleParameters2InFunctionDeclaration.ts | 7 + ...dMultipleParameters2InMethodDeclaration.ts | 9 + .../unusedParametersinConstructor1.ts | 7 + .../unusedParametersinConstructor2.ts | 8 + .../unusedParametersinConstructor3.ts | 8 + .../compiler/unusedPrivateMethodInClass1.ts | 9 + .../compiler/unusedPrivateMethodInClass2.ts | 14 ++ .../compiler/unusedPrivateMethodInClass3.ts | 19 ++ .../compiler/unusedPrivateMethodInClass4.ts | 20 ++ .../compiler/unusedPrivateVariableInClass1.ts | 6 + .../compiler/unusedPrivateVariableInClass2.ts | 7 + .../compiler/unusedPrivateVariableInClass3.ts | 8 + .../compiler/unusedPrivateVariableInClass4.ts | 12 ++ .../compiler/unusedPrivateVariableInClass5.ts | 12 ++ .../unusedSingleParameterInContructor.ts | 8 + ...sedSingleParameterInFunctionDeclaration.ts | 6 + ...usedSingleParameterInFunctionExpression.ts | 6 + ...nusedSingleParameterInMethodDeclaration.ts | 8 + tests/cases/compiler/unusedTypeParameters1.ts | 6 + tests/cases/compiler/unusedTypeParameters2.ts | 10 + tests/cases/compiler/unusedTypeParameters3.ts | 10 + .../compiler/unusedVariablesinNamespaces1.ts | 6 + .../compiler/unusedVariablesinNamespaces2.ts | 13 ++ .../compiler/unusedVariablesinNamespaces3.ts | 14 ++ 183 files changed, 3418 insertions(+) create mode 100644 tests/baselines/reference/unusedClassesinNamespace1.errors.txt create mode 100644 tests/baselines/reference/unusedClassesinNamespace1.js create mode 100644 tests/baselines/reference/unusedClassesinNamespace2.errors.txt create mode 100644 tests/baselines/reference/unusedClassesinNamespace2.js create mode 100644 tests/baselines/reference/unusedClassesinNamespace3.js create mode 100644 tests/baselines/reference/unusedClassesinNamespace3.symbols create mode 100644 tests/baselines/reference/unusedClassesinNamespace3.types create mode 100644 tests/baselines/reference/unusedClassesinNamespace4.errors.txt create mode 100644 tests/baselines/reference/unusedClassesinNamespace4.js create mode 100644 tests/baselines/reference/unusedClassesinNamespace5.errors.txt create mode 100644 tests/baselines/reference/unusedClassesinNamespace5.js create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces1.js create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces2.js create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces3.js create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces4.js create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces5.js create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt create mode 100644 tests/baselines/reference/unusedFunctionsinNamespaces6.js create mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt create mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.js create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace1.js create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace2.js create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace3.js create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace4.js create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace4.symbols create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace4.types create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace5.js create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace5.symbols create mode 100644 tests/baselines/reference/unusedInterfaceinNamespace5.types create mode 100644 tests/baselines/reference/unusedLocalsInMethod1.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsInMethod1.js create mode 100644 tests/baselines/reference/unusedLocalsInMethod2.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsInMethod2.js create mode 100644 tests/baselines/reference/unusedLocalsInMethod3.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsInMethod3.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js create mode 100644 tests/baselines/reference/unusedLocalsinConstructor1.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsinConstructor1.js create mode 100644 tests/baselines/reference/unusedLocalsinConstructor2.errors.txt create mode 100644 tests/baselines/reference/unusedLocalsinConstructor2.js create mode 100644 tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameter1InContructor.js create mode 100644 tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.js create mode 100644 tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameter2InContructor.js create mode 100644 tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js create mode 100644 tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.js create mode 100644 tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.js create mode 100644 tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js create mode 100644 tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js create mode 100644 tests/baselines/reference/unusedParametersinConstructor1.errors.txt create mode 100644 tests/baselines/reference/unusedParametersinConstructor1.js create mode 100644 tests/baselines/reference/unusedParametersinConstructor2.errors.txt create mode 100644 tests/baselines/reference/unusedParametersinConstructor2.js create mode 100644 tests/baselines/reference/unusedParametersinConstructor3.errors.txt create mode 100644 tests/baselines/reference/unusedParametersinConstructor3.js create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass1.js create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass2.js create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass3.js create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateMethodInClass4.js create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass1.js create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass2.js create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass3.js create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass4.js create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt create mode 100644 tests/baselines/reference/unusedPrivateVariableInClass5.js create mode 100644 tests/baselines/reference/unusedSingleParameterInContructor.errors.txt create mode 100644 tests/baselines/reference/unusedSingleParameterInContructor.js create mode 100644 tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt create mode 100644 tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.js create mode 100644 tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt create mode 100644 tests/baselines/reference/unusedSingleParameterInFunctionExpression.js create mode 100644 tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt create mode 100644 tests/baselines/reference/unusedSingleParameterInMethodDeclaration.js create mode 100644 tests/baselines/reference/unusedTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameters1.js create mode 100644 tests/baselines/reference/unusedTypeParameters2.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameters2.js create mode 100644 tests/baselines/reference/unusedTypeParameters3.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameters3.js create mode 100644 tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinNamespaces1.js create mode 100644 tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinNamespaces2.js create mode 100644 tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinNamespaces3.js create mode 100644 tests/cases/compiler/unusedClassesinNamespace1.ts create mode 100644 tests/cases/compiler/unusedClassesinNamespace2.ts create mode 100644 tests/cases/compiler/unusedClassesinNamespace3.ts create mode 100644 tests/cases/compiler/unusedClassesinNamespace4.ts create mode 100644 tests/cases/compiler/unusedClassesinNamespace5.ts create mode 100644 tests/cases/compiler/unusedFunctionsinNamespaces1.ts create mode 100644 tests/cases/compiler/unusedFunctionsinNamespaces2.ts create mode 100644 tests/cases/compiler/unusedFunctionsinNamespaces3.ts create mode 100644 tests/cases/compiler/unusedFunctionsinNamespaces4.ts create mode 100644 tests/cases/compiler/unusedFunctionsinNamespaces5.ts create mode 100644 tests/cases/compiler/unusedFunctionsinNamespaces6.ts create mode 100644 tests/cases/compiler/unusedIdentifiersConsolidated1.ts create mode 100644 tests/cases/compiler/unusedInterfaceinNamespace1.ts create mode 100644 tests/cases/compiler/unusedInterfaceinNamespace2.ts create mode 100644 tests/cases/compiler/unusedInterfaceinNamespace3.ts create mode 100644 tests/cases/compiler/unusedInterfaceinNamespace4.ts create mode 100644 tests/cases/compiler/unusedInterfaceinNamespace5.ts create mode 100644 tests/cases/compiler/unusedLocalsInMethod1.ts create mode 100644 tests/cases/compiler/unusedLocalsInMethod2.ts create mode 100644 tests/cases/compiler/unusedLocalsInMethod3.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts create mode 100644 tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts create mode 100644 tests/cases/compiler/unusedLocalsinConstructor1.ts create mode 100644 tests/cases/compiler/unusedLocalsinConstructor2.ts create mode 100644 tests/cases/compiler/unusedMultipleParameter1InContructor.ts create mode 100644 tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts create mode 100644 tests/cases/compiler/unusedMultipleParameter2InContructor.ts create mode 100644 tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts create mode 100644 tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts create mode 100644 tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts create mode 100644 tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts create mode 100644 tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts create mode 100644 tests/cases/compiler/unusedParametersinConstructor1.ts create mode 100644 tests/cases/compiler/unusedParametersinConstructor2.ts create mode 100644 tests/cases/compiler/unusedParametersinConstructor3.ts create mode 100644 tests/cases/compiler/unusedPrivateMethodInClass1.ts create mode 100644 tests/cases/compiler/unusedPrivateMethodInClass2.ts create mode 100644 tests/cases/compiler/unusedPrivateMethodInClass3.ts create mode 100644 tests/cases/compiler/unusedPrivateMethodInClass4.ts create mode 100644 tests/cases/compiler/unusedPrivateVariableInClass1.ts create mode 100644 tests/cases/compiler/unusedPrivateVariableInClass2.ts create mode 100644 tests/cases/compiler/unusedPrivateVariableInClass3.ts create mode 100644 tests/cases/compiler/unusedPrivateVariableInClass4.ts create mode 100644 tests/cases/compiler/unusedPrivateVariableInClass5.ts create mode 100644 tests/cases/compiler/unusedSingleParameterInContructor.ts create mode 100644 tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts create mode 100644 tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts create mode 100644 tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts create mode 100644 tests/cases/compiler/unusedTypeParameters1.ts create mode 100644 tests/cases/compiler/unusedTypeParameters2.ts create mode 100644 tests/cases/compiler/unusedTypeParameters3.ts create mode 100644 tests/cases/compiler/unusedVariablesinNamespaces1.ts create mode 100644 tests/cases/compiler/unusedVariablesinNamespaces2.ts create mode 100644 tests/cases/compiler/unusedVariablesinNamespaces3.ts diff --git a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt new file mode 100644 index 0000000000000..eea58a29d7ff3 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): message TS6132: Variable 'c1' has never been used. + + +==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ==== + + namespace Validation { + class c1 { + ~~ +!!! message TS6132: Variable 'c1' has never been used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace1.js b/tests/baselines/reference/unusedClassesinNamespace1.js new file mode 100644 index 0000000000000..e49b9019a2843 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace1.js @@ -0,0 +1,17 @@ +//// [unusedClassesinNamespace1.ts] + +namespace Validation { + class c1 { + + } +} + +//// [unusedClassesinNamespace1.js] +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt new file mode 100644 index 0000000000000..b3520e3047395 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): message TS6132: Variable 'c1' has never been used. + + +==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ==== + + namespace Validation { + class c1 { + ~~ +!!! message TS6132: Variable 'c1' has never been used. + + } + + export class c2 { + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace2.js b/tests/baselines/reference/unusedClassesinNamespace2.js new file mode 100644 index 0000000000000..03431e4fd0412 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace2.js @@ -0,0 +1,27 @@ +//// [unusedClassesinNamespace2.ts] + +namespace Validation { + class c1 { + + } + + export class c2 { + + } +} + +//// [unusedClassesinNamespace2.js] +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); + var c2 = (function () { + function c2() { + } + return c2; + }()); + Validation.c2 = c2; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedClassesinNamespace3.js b/tests/baselines/reference/unusedClassesinNamespace3.js new file mode 100644 index 0000000000000..bdb646e87b20a --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace3.js @@ -0,0 +1,30 @@ +//// [unusedClassesinNamespace3.ts] + +namespace Validation { + class c1 { + + } + + export class c2 { + + } + + export let a = new c1(); +} + +//// [unusedClassesinNamespace3.js] +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); + var c2 = (function () { + function c2() { + } + return c2; + }()); + Validation.c2 = c2; + Validation.a = new c1(); +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedClassesinNamespace3.symbols b/tests/baselines/reference/unusedClassesinNamespace3.symbols new file mode 100644 index 0000000000000..d8eeb0b54600e --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace3.symbols @@ -0,0 +1,19 @@ +=== tests/cases/compiler/unusedClassesinNamespace3.ts === + +namespace Validation { +>Validation : Symbol(Validation, Decl(unusedClassesinNamespace3.ts, 0, 0)) + + class c1 { +>c1 : Symbol(c1, Decl(unusedClassesinNamespace3.ts, 1, 22)) + + } + + export class c2 { +>c2 : Symbol(c2, Decl(unusedClassesinNamespace3.ts, 4, 5)) + + } + + export let a = new c1(); +>a : Symbol(a, Decl(unusedClassesinNamespace3.ts, 10, 14)) +>c1 : Symbol(c1, Decl(unusedClassesinNamespace3.ts, 1, 22)) +} diff --git a/tests/baselines/reference/unusedClassesinNamespace3.types b/tests/baselines/reference/unusedClassesinNamespace3.types new file mode 100644 index 0000000000000..cef64a4c4e3be --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace3.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/unusedClassesinNamespace3.ts === + +namespace Validation { +>Validation : typeof Validation + + class c1 { +>c1 : c1 + + } + + export class c2 { +>c2 : c2 + + } + + export let a = new c1(); +>a : c1 +>new c1() : c1 +>c1 : typeof c1 +} diff --git a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt new file mode 100644 index 0000000000000..bd4f46bbd6484 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt @@ -0,0 +1,20 @@ +tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): message TS6132: Variable 'c3' has never been used. + + +==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ==== + + namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 extends c1 { + ~~ +!!! message TS6132: Variable 'c3' has never been used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace4.js b/tests/baselines/reference/unusedClassesinNamespace4.js new file mode 100644 index 0000000000000..65198c1c1aa7e --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace4.js @@ -0,0 +1,43 @@ +//// [unusedClassesinNamespace4.ts] + +namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 extends c1 { + + } +} + +//// [unusedClassesinNamespace4.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); + var c2 = (function () { + function c2() { + } + return c2; + }()); + Validation.c2 = c2; + var c3 = (function (_super) { + __extends(c3, _super); + function c3() { + _super.apply(this, arguments); + } + return c3; + }(c1)); +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt new file mode 100644 index 0000000000000..81cbad6e11515 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt @@ -0,0 +1,20 @@ +tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): message TS6132: Variable 'c3' has never been used. + + +==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ==== + + namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 { + ~~ +!!! message TS6132: Variable 'c3' has never been used. + public x: c1; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace5.js b/tests/baselines/reference/unusedClassesinNamespace5.js new file mode 100644 index 0000000000000..037a3564bd78c --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace5.js @@ -0,0 +1,36 @@ +//// [unusedClassesinNamespace5.ts] + +namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 { + public x: c1; + } +} + +//// [unusedClassesinNamespace5.js] +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); + var c2 = (function () { + function c2() { + } + return c2; + }()); + Validation.c2 = c2; + var c3 = (function () { + function c3() { + } + return c3; + }()); +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt new file mode 100644 index 0000000000000..6f02e5c2f9f8c --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): message TS6132: Variable 'function1' has never been used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces1.ts (1 errors) ==== + + namespace Validation { + function function1() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces1.js b/tests/baselines/reference/unusedFunctionsinNamespaces1.js new file mode 100644 index 0000000000000..a6eec74b1f5ec --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.js @@ -0,0 +1,13 @@ +//// [unusedFunctionsinNamespaces1.ts] + +namespace Validation { + function function1() { + } +} + +//// [unusedFunctionsinNamespaces1.js] +var Validation; +(function (Validation) { + function function1() { + } +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt new file mode 100644 index 0000000000000..e956ea08a03c2 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): message TS6132: Variable 'function1' has never been used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces2.ts (1 errors) ==== + + namespace Validation { + var function1 = function() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces2.js b/tests/baselines/reference/unusedFunctionsinNamespaces2.js new file mode 100644 index 0000000000000..c908e38e7a64c --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces2.js @@ -0,0 +1,13 @@ +//// [unusedFunctionsinNamespaces2.ts] + +namespace Validation { + var function1 = function() { + } +} + +//// [unusedFunctionsinNamespaces2.js] +var Validation; +(function (Validation) { + var function1 = function () { + }; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt new file mode 100644 index 0000000000000..d375fb6026204 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): message TS6133: Parameter 'param1' has never been used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces3.ts (2 errors) ==== + + namespace Validation { + var function1 = function(param1:string) { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces3.js b/tests/baselines/reference/unusedFunctionsinNamespaces3.js new file mode 100644 index 0000000000000..5501ed62a6f27 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.js @@ -0,0 +1,13 @@ +//// [unusedFunctionsinNamespaces3.ts] + +namespace Validation { + var function1 = function(param1:string) { + } +} + +//// [unusedFunctionsinNamespaces3.js] +var Validation; +(function (Validation) { + var function1 = function (param1) { + }; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt new file mode 100644 index 0000000000000..f4bccdd6df609 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): message TS6132: Variable 'function1' has never been used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces4.ts (1 errors) ==== + + namespace Validation { + var function1 = function() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + } + + export function function2() { + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces4.js b/tests/baselines/reference/unusedFunctionsinNamespaces4.js new file mode 100644 index 0000000000000..41557a6204504 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces4.js @@ -0,0 +1,20 @@ +//// [unusedFunctionsinNamespaces4.ts] + +namespace Validation { + var function1 = function() { + } + + export function function2() { + + } +} + +//// [unusedFunctionsinNamespaces4.js] +var Validation; +(function (Validation) { + var function1 = function () { + }; + function function2() { + } + Validation.function2 = function2; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt new file mode 100644 index 0000000000000..5f76bec8356c8 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): message TS6132: Variable 'function3' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): message TS6132: Variable 'function4' has never been used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces5.ts (2 errors) ==== + + namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function3' has never been used. + function1(); + } + + function function4() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function4' has never been used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces5.js b/tests/baselines/reference/unusedFunctionsinNamespaces5.js new file mode 100644 index 0000000000000..4023876b359cc --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.js @@ -0,0 +1,33 @@ +//// [unusedFunctionsinNamespaces5.ts] + +namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + function1(); + } + + function function4() { + + } +} + +//// [unusedFunctionsinNamespaces5.js] +var Validation; +(function (Validation) { + var function1 = function () { + }; + function function2() { + } + Validation.function2 = function2; + function function3() { + function1(); + } + function function4() { + } +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt new file mode 100644 index 0000000000000..08dc040017d71 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): message TS6132: Variable 'function4' has never been used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces6.ts (1 errors) ==== + + namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + function1(); + } + + function function4() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function4' has never been used. + + } + + export let a = function3; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces6.js b/tests/baselines/reference/unusedFunctionsinNamespaces6.js new file mode 100644 index 0000000000000..81ff5d9ea54e5 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.js @@ -0,0 +1,36 @@ +//// [unusedFunctionsinNamespaces6.ts] + +namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + function1(); + } + + function function4() { + + } + + export let a = function3; +} + +//// [unusedFunctionsinNamespaces6.js] +var Validation; +(function (Validation) { + var function1 = function () { + }; + function function2() { + } + Validation.function2 = function2; + function function3() { + function1(); + } + function function4() { + } + Validation.a = function3; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt new file mode 100644 index 0000000000000..27ec7d90821da --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -0,0 +1,153 @@ +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): message TS6132: Variable 'unusedtypeparameter' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): message TS6132: Variable 'unusedprivatevariable' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): message TS6133: Parameter 'message' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): message TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): message TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): message TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): message TS6132: Variable 'usedLocallyInterface2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): message TS6132: Variable 'dummy' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): message TS6132: Variable 'unusedInterface' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): message TS6132: Variable 'class3' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: Variable 'interface5' has never been used. + + +==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== + + function greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + + class Dummy { + ~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedtypeparameter' has never been used. + private unusedprivatevariable: string; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedprivatevariable' has never been used. + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'message' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. + } + } + + var user = "Jane User"; + var user2 = "Jane2 User2"; + + namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! message TS6132: Variable 'numberRegexp' has never been used. + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'usedLocallyInterface2' has never been used. + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + ~~~~~ +!!! message TS6132: Variable 'dummy' has never been used. + } + + interface unusedInterface { + ~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedInterface' has never been used. + } + } + + + namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + ~~~~~~ +!!! message TS6132: Variable 'class3' has never been used. + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + ~~~~~~~~~~ +!!! message TS6132: Variable 'interface5' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.js b/tests/baselines/reference/unusedIdentifiersConsolidated1.js new file mode 100644 index 0000000000000..521f17bf5ef7e --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.js @@ -0,0 +1,187 @@ +//// [unusedIdentifiersConsolidated1.ts] + +function greeter(person: string) { + var unused = 20; +} + +class Dummy { + private unusedprivatevariable: string; + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + var unused = 20; + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + } +} + +var user = "Jane User"; +var user2 = "Jane2 User2"; + +namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + } + + interface unusedInterface { + } +} + + +namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + } +} + +//// [unusedIdentifiersConsolidated1.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +function greeter(person) { + var unused = 20; +} +var Dummy = (function () { + function Dummy(message) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + Dummy.prototype.greeter = function (person) { + var unused = 20; + this.usedPrivateFunction(); + }; + Dummy.prototype.usedPrivateFunction = function () { + }; + Dummy.prototype.unUsedPrivateFunction = function () { + }; + return Dummy; +}()); +var user = "Jane User"; +var user2 = "Jane2 User2"; +var Validation; +(function (Validation) { + var lettersRegexp = /^[A-Za-z]+$/; + var numberRegexp = /^[0-9]+$/; + var LettersOnlyValidator = (function () { + function LettersOnlyValidator() { + } + LettersOnlyValidator.prototype.isAcceptable = function (s2) { + return lettersRegexp.test(s2); + }; + LettersOnlyValidator.prototype.unUsedPrivateFunction = function () { + }; + return LettersOnlyValidator; + }()); + Validation.LettersOnlyValidator = LettersOnlyValidator; + var ZipCodeValidator = (function () { + function ZipCodeValidator() { + } + ZipCodeValidator.prototype.isAcceptable = function (s3) { + return s3.length === 5; + }; + return ZipCodeValidator; + }()); + Validation.ZipCodeValidator = ZipCodeValidator; + var dummy = (function () { + function dummy() { + } + return dummy; + }()); +})(Validation || (Validation = {})); +var Greeter; +(function (Greeter) { + var class1 = (function () { + function class1() { + } + return class1; + }()); + var class2 = (function (_super) { + __extends(class2, _super); + function class2() { + _super.apply(this, arguments); + } + return class2; + }(class1)); + Greeter.class2 = class2; + var class3 = (function () { + function class3() { + } + return class3; + }()); + var class4 = (function () { + function class4() { + } + return class4; + }()); + Greeter.class4 = class4; +})(Greeter || (Greeter = {})); diff --git a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt new file mode 100644 index 0000000000000..fb56fe108ec3d --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): message TS6132: Variable 'i1' has never been used. + + +==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ==== + + namespace Validation { + interface i1 { + ~~ +!!! message TS6132: Variable 'i1' has never been used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace1.js b/tests/baselines/reference/unusedInterfaceinNamespace1.js new file mode 100644 index 0000000000000..8b4334c13c798 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.js @@ -0,0 +1,9 @@ +//// [unusedInterfaceinNamespace1.ts] + +namespace Validation { + interface i1 { + + } +} + +//// [unusedInterfaceinNamespace1.js] diff --git a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt new file mode 100644 index 0000000000000..0ec233548818b --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): message TS6132: Variable 'i1' has never been used. + + +==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ==== + + namespace Validation { + interface i1 { + ~~ +!!! message TS6132: Variable 'i1' has never been used. + + } + + export interface i2 { + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace2.js b/tests/baselines/reference/unusedInterfaceinNamespace2.js new file mode 100644 index 0000000000000..fbec39921d363 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.js @@ -0,0 +1,13 @@ +//// [unusedInterfaceinNamespace2.ts] + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } +} + +//// [unusedInterfaceinNamespace2.js] diff --git a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt new file mode 100644 index 0000000000000..7f6abaa11b070 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt @@ -0,0 +1,20 @@ +tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): message TS6132: Variable 'i3' has never been used. + + +==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ==== + + namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + ~~ +!!! message TS6132: Variable 'i3' has never been used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace3.js b/tests/baselines/reference/unusedInterfaceinNamespace3.js new file mode 100644 index 0000000000000..7409a3d862398 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.js @@ -0,0 +1,17 @@ +//// [unusedInterfaceinNamespace3.ts] + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + + } +} + +//// [unusedInterfaceinNamespace3.js] diff --git a/tests/baselines/reference/unusedInterfaceinNamespace4.js b/tests/baselines/reference/unusedInterfaceinNamespace4.js new file mode 100644 index 0000000000000..51e09a1565bc8 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace4.js @@ -0,0 +1,30 @@ +//// [unusedInterfaceinNamespace4.ts] + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + + } + + export class c1 implements i3 { + + } +} + +//// [unusedInterfaceinNamespace4.js] +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); + Validation.c1 = c1; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedInterfaceinNamespace4.symbols b/tests/baselines/reference/unusedInterfaceinNamespace4.symbols new file mode 100644 index 0000000000000..90b2ff5df7028 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace4.symbols @@ -0,0 +1,27 @@ +=== tests/cases/compiler/unusedInterfaceinNamespace4.ts === + +namespace Validation { +>Validation : Symbol(Validation, Decl(unusedInterfaceinNamespace4.ts, 0, 0)) + + interface i1 { +>i1 : Symbol(i1, Decl(unusedInterfaceinNamespace4.ts, 1, 22)) + + } + + export interface i2 { +>i2 : Symbol(i2, Decl(unusedInterfaceinNamespace4.ts, 4, 5)) + + } + + interface i3 extends i1 { +>i3 : Symbol(i3, Decl(unusedInterfaceinNamespace4.ts, 8, 5)) +>i1 : Symbol(i1, Decl(unusedInterfaceinNamespace4.ts, 1, 22)) + + } + + export class c1 implements i3 { +>c1 : Symbol(c1, Decl(unusedInterfaceinNamespace4.ts, 12, 5)) +>i3 : Symbol(i3, Decl(unusedInterfaceinNamespace4.ts, 8, 5)) + + } +} diff --git a/tests/baselines/reference/unusedInterfaceinNamespace4.types b/tests/baselines/reference/unusedInterfaceinNamespace4.types new file mode 100644 index 0000000000000..1b1efebb299ae --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace4.types @@ -0,0 +1,27 @@ +=== tests/cases/compiler/unusedInterfaceinNamespace4.ts === + +namespace Validation { +>Validation : typeof Validation + + interface i1 { +>i1 : i1 + + } + + export interface i2 { +>i2 : i2 + + } + + interface i3 extends i1 { +>i3 : i3 +>i1 : i1 + + } + + export class c1 implements i3 { +>c1 : c1 +>i3 : i3 + + } +} diff --git a/tests/baselines/reference/unusedInterfaceinNamespace5.js b/tests/baselines/reference/unusedInterfaceinNamespace5.js new file mode 100644 index 0000000000000..bb29b33ebca2c --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace5.js @@ -0,0 +1,36 @@ +//// [unusedInterfaceinNamespace5.ts] + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + + } + + export class c1 implements i3 { + + } + + interface i4 { + + } + + export let c2:i4; +} + +//// [unusedInterfaceinNamespace5.js] +var Validation; +(function (Validation) { + var c1 = (function () { + function c1() { + } + return c1; + }()); + Validation.c1 = c1; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedInterfaceinNamespace5.symbols b/tests/baselines/reference/unusedInterfaceinNamespace5.symbols new file mode 100644 index 0000000000000..156dc9a3ef14a --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace5.symbols @@ -0,0 +1,36 @@ +=== tests/cases/compiler/unusedInterfaceinNamespace5.ts === + +namespace Validation { +>Validation : Symbol(Validation, Decl(unusedInterfaceinNamespace5.ts, 0, 0)) + + interface i1 { +>i1 : Symbol(i1, Decl(unusedInterfaceinNamespace5.ts, 1, 22)) + + } + + export interface i2 { +>i2 : Symbol(i2, Decl(unusedInterfaceinNamespace5.ts, 4, 5)) + + } + + interface i3 extends i1 { +>i3 : Symbol(i3, Decl(unusedInterfaceinNamespace5.ts, 8, 5)) +>i1 : Symbol(i1, Decl(unusedInterfaceinNamespace5.ts, 1, 22)) + + } + + export class c1 implements i3 { +>c1 : Symbol(c1, Decl(unusedInterfaceinNamespace5.ts, 12, 5)) +>i3 : Symbol(i3, Decl(unusedInterfaceinNamespace5.ts, 8, 5)) + + } + + interface i4 { +>i4 : Symbol(i4, Decl(unusedInterfaceinNamespace5.ts, 16, 5)) + + } + + export let c2:i4; +>c2 : Symbol(c2, Decl(unusedInterfaceinNamespace5.ts, 22, 14)) +>i4 : Symbol(i4, Decl(unusedInterfaceinNamespace5.ts, 16, 5)) +} diff --git a/tests/baselines/reference/unusedInterfaceinNamespace5.types b/tests/baselines/reference/unusedInterfaceinNamespace5.types new file mode 100644 index 0000000000000..db896be80ae72 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace5.types @@ -0,0 +1,36 @@ +=== tests/cases/compiler/unusedInterfaceinNamespace5.ts === + +namespace Validation { +>Validation : typeof Validation + + interface i1 { +>i1 : i1 + + } + + export interface i2 { +>i2 : i2 + + } + + interface i3 extends i1 { +>i3 : i3 +>i1 : i1 + + } + + export class c1 implements i3 { +>c1 : c1 +>i3 : i3 + + } + + interface i4 { +>i4 : i4 + + } + + export let c2:i4; +>c2 : i4 +>i4 : i4 +} diff --git a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt new file mode 100644 index 0000000000000..2e6c31edd4ce1 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): message TS6132: Variable 'x' has never been used. + + +==== tests/cases/compiler/unusedLocalsInMethod1.ts (1 errors) ==== + + class greeter { + public function1() { + var x = 10; + ~ +!!! message TS6132: Variable 'x' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod1.js b/tests/baselines/reference/unusedLocalsInMethod1.js new file mode 100644 index 0000000000000..7f2e555ab62c1 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod1.js @@ -0,0 +1,17 @@ +//// [unusedLocalsInMethod1.ts] + +class greeter { + public function1() { + var x = 10; + } +} + +//// [unusedLocalsInMethod1.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var x = 10; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt new file mode 100644 index 0000000000000..104700882aa15 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): message TS6132: Variable 'x' has never been used. + + +==== tests/cases/compiler/unusedLocalsInMethod2.ts (1 errors) ==== + + class greeter { + public function1() { + var x, y = 10; + ~ +!!! message TS6132: Variable 'x' has never been used. + y++; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod2.js b/tests/baselines/reference/unusedLocalsInMethod2.js new file mode 100644 index 0000000000000..b92de2497507c --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod2.js @@ -0,0 +1,19 @@ +//// [unusedLocalsInMethod2.ts] + +class greeter { + public function1() { + var x, y = 10; + y++; + } +} + +//// [unusedLocalsInMethod2.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var x, y = 10; + y++; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt new file mode 100644 index 0000000000000..4859b2256e00e --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): message TS6132: Variable 'x' has never been used. + + +==== tests/cases/compiler/unusedLocalsInMethod3.ts (1 errors) ==== + + class greeter { + public function1() { + var x, y; + ~ +!!! message TS6132: Variable 'x' has never been used. + y = 1; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod3.js b/tests/baselines/reference/unusedLocalsInMethod3.js new file mode 100644 index 0000000000000..ff148f7a78fff --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod3.js @@ -0,0 +1,19 @@ +//// [unusedLocalsInMethod3.ts] + +class greeter { + public function1() { + var x, y; + y = 1; + } +} + +//// [unusedLocalsInMethod3.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var x, y; + y = 1; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt new file mode 100644 index 0000000000000..36281a919089a --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): message TS6132: Variable 'unused2' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts (5 errors) ==== + + function greeter(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + function maker(child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js new file mode 100644 index 0000000000000..a8da9dcfa8781 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js @@ -0,0 +1,18 @@ +//// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts] + +function greeter(person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} + +//// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js] +function greeter(person, person2) { + var unused = 20; + function maker(child) { + var unused2 = 22; + } + person2 = "dummy value"; +} diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt new file mode 100644 index 0000000000000..cb4521998e850 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -0,0 +1,35 @@ +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): message TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): message TS6132: Variable 'unused3' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts (7 errors) ==== + + function greeter(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + function maker(child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + function maker2(child2: string): void { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child2' has never been used. + var unused3 = 23; + ~~~~~~~ +!!! message TS6132: Variable 'unused3' has never been used. + } + maker2(person2); + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js new file mode 100644 index 0000000000000..28b5057d6409a --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js @@ -0,0 +1,24 @@ +//// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts] + +function greeter(person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + function maker2(child2: string): void { + var unused3 = 23; + } + maker2(person2); +} + +//// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js] +function greeter(person, person2) { + var unused = 20; + function maker(child) { + var unused2 = 22; + } + function maker2(child2) { + var unused3 = 23; + } + maker2(person2); +} diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt new file mode 100644 index 0000000000000..509e83e8c624d --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): message TS6132: Variable 'unused2' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts (5 errors) ==== + + var greeter = function (person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + function maker(child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js new file mode 100644 index 0000000000000..b9c7649323900 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js @@ -0,0 +1,18 @@ +//// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts] + +var greeter = function (person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} + +//// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js] +var greeter = function (person, person2) { + var unused = 20; + function maker(child) { + var unused2 = 22; + } + person2 = "dummy value"; +}; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt new file mode 100644 index 0000000000000..10610f397fc59 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -0,0 +1,35 @@ +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): message TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): message TS6132: Variable 'unused3' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts (7 errors) ==== + + var greeter = function (person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + function maker(child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + function maker2(child2: string): void { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child2' has never been used. + var unused3 = 23; + ~~~~~~~ +!!! message TS6132: Variable 'unused3' has never been used. + } + maker2(person2); + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js new file mode 100644 index 0000000000000..e7930da686c13 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js @@ -0,0 +1,24 @@ +//// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts] + +var greeter = function (person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + function maker2(child2: string): void { + var unused3 = 23; + } + maker2(person2); +} + +//// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js] +var greeter = function (person, person2) { + var unused = 20; + function maker(child) { + var unused2 = 22; + } + function maker2(child2) { + var unused3 = 23; + } + maker2(person2); +}; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt new file mode 100644 index 0000000000000..4265702a17c05 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): message TS6132: Variable 'unused2' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts (5 errors) ==== + + function greeter(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + var maker = function (child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js new file mode 100644 index 0000000000000..880053a8667b4 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js @@ -0,0 +1,18 @@ +//// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts] + +function greeter(person: string, person2: string) { + var unused = 20; + var maker = function (child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} + +//// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js] +function greeter(person, person2) { + var unused = 20; + var maker = function (child) { + var unused2 = 22; + }; + person2 = "dummy value"; +} diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt new file mode 100644 index 0000000000000..586dab0eb0aed --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -0,0 +1,35 @@ +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): message TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): message TS6132: Variable 'unused3' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts (7 errors) ==== + + function greeter(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + var maker = function(child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + var maker2 = function(child2: string): void { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child2' has never been used. + var unused3 = 23; + ~~~~~~~ +!!! message TS6132: Variable 'unused3' has never been used. + } + maker2(person2); + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js new file mode 100644 index 0000000000000..fb37bf9cb5a9b --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js @@ -0,0 +1,24 @@ +//// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts] + +function greeter(person: string, person2: string) { + var unused = 20; + var maker = function(child: string): void { + var unused2 = 22; + } + var maker2 = function(child2: string): void { + var unused3 = 23; + } + maker2(person2); +} + +//// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js] +function greeter(person, person2) { + var unused = 20; + var maker = function (child) { + var unused2 = 22; + }; + var maker2 = function (child2) { + var unused3 = 23; + }; + maker2(person2); +} diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt new file mode 100644 index 0000000000000..86a461ce6c781 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): message TS6132: Variable 'unused2' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts (5 errors) ==== + + var greeter = function (person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + var maker = function (child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js new file mode 100644 index 0000000000000..299c0e97b94cd --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js @@ -0,0 +1,18 @@ +//// [unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts] + +var greeter = function (person: string, person2: string) { + var unused = 20; + var maker = function (child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} + +//// [unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js] +var greeter = function (person, person2) { + var unused = 20; + var maker = function (child) { + var unused2 = 22; + }; + person2 = "dummy value"; +}; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt new file mode 100644 index 0000000000000..ce78a2fb1839e --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -0,0 +1,35 @@ +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): message TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): message TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): message TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): message TS6132: Variable 'unused3' has never been used. + + +==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts (7 errors) ==== + + var greeter = function (person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + var maker = function (child: string): void { + ~~~~~ +!!! message TS6132: Variable 'maker' has never been used. + ~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + } + var maker2 = function (child2: string): void { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'child2' has never been used. + var unused3 = 23; + ~~~~~~~ +!!! message TS6132: Variable 'unused3' has never been used. + } + maker2(person2); + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js new file mode 100644 index 0000000000000..00ba31b16d729 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js @@ -0,0 +1,24 @@ +//// [unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts] + +var greeter = function (person: string, person2: string) { + var unused = 20; + var maker = function (child: string): void { + var unused2 = 22; + } + var maker2 = function (child2: string): void { + var unused3 = 23; + } + maker2(person2); +} + +//// [unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js] +var greeter = function (person, person2) { + var unused = 20; + var maker = function (child) { + var unused2 = 22; + }; + var maker2 = function (child2) { + var unused3 = 23; + }; + maker2(person2); +}; diff --git a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt new file mode 100644 index 0000000000000..aea22dceeb356 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedLocalsinConstructor1.ts (1 errors) ==== + + class greeter { + constructor() { + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor1.js b/tests/baselines/reference/unusedLocalsinConstructor1.js new file mode 100644 index 0000000000000..28bd75730680f --- /dev/null +++ b/tests/baselines/reference/unusedLocalsinConstructor1.js @@ -0,0 +1,15 @@ +//// [unusedLocalsinConstructor1.ts] + +class greeter { + constructor() { + var unused = 20; + } +} + +//// [unusedLocalsinConstructor1.js] +var greeter = (function () { + function greeter() { + var unused = 20; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt new file mode 100644 index 0000000000000..7eced3493f7f3 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedLocalsinConstructor2.ts (1 errors) ==== + + class greeter { + constructor() { + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + var used = "dummy"; + used = used + "second part"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor2.js b/tests/baselines/reference/unusedLocalsinConstructor2.js new file mode 100644 index 0000000000000..2fda63d28a304 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsinConstructor2.js @@ -0,0 +1,19 @@ +//// [unusedLocalsinConstructor2.ts] + +class greeter { + constructor() { + var unused = 20; + var used = "dummy"; + used = used + "second part"; + } +} + +//// [unusedLocalsinConstructor2.js] +var greeter = (function () { + function greeter() { + var unused = 20; + var used = "dummy"; + used = used + "second part"; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt new file mode 100644 index 0000000000000..ad829ef8bcbbd --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (2 errors) ==== + + class Dummy { + constructor(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "Dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.js b/tests/baselines/reference/unusedMultipleParameter1InContructor.js new file mode 100644 index 0000000000000..e236ea3d26a09 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.js @@ -0,0 +1,17 @@ +//// [unusedMultipleParameter1InContructor.ts] + +class Dummy { + constructor(person: string, person2: string) { + var unused = 20; + person2 = "Dummy value"; + } +} + +//// [unusedMultipleParameter1InContructor.js] +var Dummy = (function () { + function Dummy(person, person2) { + var unused = 20; + person2 = "Dummy value"; + } + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt new file mode 100644 index 0000000000000..97e152e96fe34 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts (2 errors) ==== + + var func = function(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "Dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.js b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.js new file mode 100644 index 0000000000000..55a697cc3e028 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.js @@ -0,0 +1,12 @@ +//// [unusedMultipleParameter1InFunctionExpression.ts] + +var func = function(person: string, person2: string) { + var unused = 20; + person2 = "Dummy value"; +} + +//// [unusedMultipleParameter1InFunctionExpression.js] +var func = function (person, person2) { + var unused = 20; + person2 = "Dummy value"; +}; diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt new file mode 100644 index 0000000000000..7196273a5c725 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -0,0 +1,19 @@ +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): message TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (3 errors) ==== + + class Dummy { + constructor(person: string, person2: string, person3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person3' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "Dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.js b/tests/baselines/reference/unusedMultipleParameter2InContructor.js new file mode 100644 index 0000000000000..8ffd4c3659124 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.js @@ -0,0 +1,17 @@ +//// [unusedMultipleParameter2InContructor.ts] + +class Dummy { + constructor(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; + } +} + +//// [unusedMultipleParameter2InContructor.js] +var Dummy = (function () { + function Dummy(person, person2, person3) { + var unused = 20; + person2 = "Dummy value"; + } + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt new file mode 100644 index 0000000000000..ddf63a22146f8 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): message TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts (3 errors) ==== + + var func = function(person: string, person2: string, person3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person3' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "Dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js new file mode 100644 index 0000000000000..1c35c1762f34d --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js @@ -0,0 +1,12 @@ +//// [unusedMultipleParameter2InFunctionExpression.ts] + +var func = function(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; +} + +//// [unusedMultipleParameter2InFunctionExpression.js] +var func = function (person, person2, person3) { + var unused = 20; + person2 = "Dummy value"; +}; diff --git a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt new file mode 100644 index 0000000000000..61a1864318235 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts (2 errors) ==== + + function greeter(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.js b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.js new file mode 100644 index 0000000000000..caac12c873532 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.js @@ -0,0 +1,12 @@ +//// [unusedMultipleParameters1InFunctionDeclaration.ts] + +function greeter(person: string, person2: string) { + var unused = 20; + person2 = "dummy value"; +} + +//// [unusedMultipleParameters1InFunctionDeclaration.js] +function greeter(person, person2) { + var unused = 20; + person2 = "dummy value"; +} diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt new file mode 100644 index 0000000000000..7037ef6423a64 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts (2 errors) ==== + + class Dummy { + public greeter(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.js b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.js new file mode 100644 index 0000000000000..bc78da7bd7594 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.js @@ -0,0 +1,19 @@ +//// [unusedMultipleParameters1InMethodDeclaration.ts] + +class Dummy { + public greeter(person: string, person2: string) { + var unused = 20; + person2 = "dummy value"; + } +} + +//// [unusedMultipleParameters1InMethodDeclaration.js] +var Dummy = (function () { + function Dummy() { + } + Dummy.prototype.greeter = function (person, person2) { + var unused = 20; + person2 = "dummy value"; + }; + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt new file mode 100644 index 0000000000000..83594231e532f --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): message TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts (3 errors) ==== + + function greeter(person: string, person2: string, person3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person3' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js new file mode 100644 index 0000000000000..1197cabf646c2 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js @@ -0,0 +1,12 @@ +//// [unusedMultipleParameters2InFunctionDeclaration.ts] + +function greeter(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "dummy value"; +} + +//// [unusedMultipleParameters2InFunctionDeclaration.js] +function greeter(person, person2, person3) { + var unused = 20; + person2 = "dummy value"; +} diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt new file mode 100644 index 0000000000000..27f4db42d7c94 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -0,0 +1,19 @@ +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): message TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts (3 errors) ==== + + class Dummy { + public greeter(person: string, person2: string, person3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person3' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js new file mode 100644 index 0000000000000..80f93990b5bca --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js @@ -0,0 +1,19 @@ +//// [unusedMultipleParameters2InMethodDeclaration.ts] + +class Dummy { + public greeter(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "dummy value"; + } +} + +//// [unusedMultipleParameters2InMethodDeclaration.js] +var Dummy = (function () { + function Dummy() { + } + Dummy.prototype.greeter = function (person, person2, person3) { + var unused = 20; + person2 = "dummy value"; + }; + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt new file mode 100644 index 0000000000000..ca4bc497c7559 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): message TS6133: Parameter 'param1' has never been used. + + +==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== + + class greeter { + constructor(param1: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor1.js b/tests/baselines/reference/unusedParametersinConstructor1.js new file mode 100644 index 0000000000000..500d7a45eb2f5 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor1.js @@ -0,0 +1,13 @@ +//// [unusedParametersinConstructor1.ts] + +class greeter { + constructor(param1: string) { + } +} + +//// [unusedParametersinConstructor1.js] +var greeter = (function () { + function greeter(param1) { + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt new file mode 100644 index 0000000000000..282e40b0f68da --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): message TS6133: Parameter 'param1' has never been used. + + +==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== + + class greeter { + constructor(param1: string, param2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + param2 = param2 + "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.js b/tests/baselines/reference/unusedParametersinConstructor2.js new file mode 100644 index 0000000000000..97bbf21ee0437 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.js @@ -0,0 +1,15 @@ +//// [unusedParametersinConstructor2.ts] + +class greeter { + constructor(param1: string, param2: string) { + param2 = param2 + "dummy value"; + } +} + +//// [unusedParametersinConstructor2.js] +var greeter = (function () { + function greeter(param1, param2) { + param2 = param2 + "dummy value"; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt new file mode 100644 index 0000000000000..29f3685327190 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): message TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): message TS6133: Parameter 'param3' has never been used. + + +==== tests/cases/compiler/unusedParametersinConstructor3.ts (2 errors) ==== + + class greeter { + constructor(param1: string, param2: string, param3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param3' has never been used. + param2 = param2 + "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor3.js b/tests/baselines/reference/unusedParametersinConstructor3.js new file mode 100644 index 0000000000000..06ac99229ac94 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor3.js @@ -0,0 +1,15 @@ +//// [unusedParametersinConstructor3.ts] + +class greeter { + constructor(param1: string, param2: string, param3: string) { + param2 = param2 + "dummy value"; + } +} + +//// [unusedParametersinConstructor3.js] +var greeter = (function () { + function greeter(param1, param2, param3) { + param2 = param2 + "dummy value"; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt new file mode 100644 index 0000000000000..f426aac6cc939 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): message TS6132: Variable 'function1' has never been used. + + +==== tests/cases/compiler/unusedPrivateMethodInClass1.ts (1 errors) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + var y = 10; + y++; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass1.js b/tests/baselines/reference/unusedPrivateMethodInClass1.js new file mode 100644 index 0000000000000..18e6fc339c3fe --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass1.js @@ -0,0 +1,19 @@ +//// [unusedPrivateMethodInClass1.ts] + +class greeter { + private function1() { + var y = 10; + y++; + } +} + +//// [unusedPrivateMethodInClass1.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var y = 10; + y++; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt new file mode 100644 index 0000000000000..605458197d1da --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): message TS6132: Variable 'function2' has never been used. + + +==== tests/cases/compiler/unusedPrivateMethodInClass2.ts (2 errors) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + var y = 10; + y++; + } + + private function2() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function2' has never been used. + var y = 10; + y++; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass2.js b/tests/baselines/reference/unusedPrivateMethodInClass2.js new file mode 100644 index 0000000000000..6a1dbd4df685b --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass2.js @@ -0,0 +1,28 @@ +//// [unusedPrivateMethodInClass2.ts] + +class greeter { + private function1() { + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } +} + +//// [unusedPrivateMethodInClass2.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var y = 10; + y++; + }; + greeter.prototype.function2 = function () { + var y = 10; + y++; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt new file mode 100644 index 0000000000000..e25cd2b61bf56 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt @@ -0,0 +1,26 @@ +tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): message TS6132: Variable 'function2' has never been used. + + +==== tests/cases/compiler/unusedPrivateMethodInClass3.ts (2 errors) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + var y = 10; + y++; + } + + private function2() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function2' has never been used. + var y = 10; + y++; + } + + public function3() { + var y = 10; + y++; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass3.js b/tests/baselines/reference/unusedPrivateMethodInClass3.js new file mode 100644 index 0000000000000..0009a52f8b684 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass3.js @@ -0,0 +1,37 @@ +//// [unusedPrivateMethodInClass3.ts] + +class greeter { + private function1() { + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } + + public function3() { + var y = 10; + y++; + } +} + +//// [unusedPrivateMethodInClass3.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var y = 10; + y++; + }; + greeter.prototype.function2 = function () { + var y = 10; + y++; + }; + greeter.prototype.function3 = function () { + var y = 10; + y++; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt new file mode 100644 index 0000000000000..1c2796e37717d --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt @@ -0,0 +1,24 @@ +tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): message TS6132: Variable 'function1' has never been used. + + +==== tests/cases/compiler/unusedPrivateMethodInClass4.ts (1 errors) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! message TS6132: Variable 'function1' has never been used. + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } + + public function3() { + var y = 10; + y++; + this.function2(); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass4.js b/tests/baselines/reference/unusedPrivateMethodInClass4.js new file mode 100644 index 0000000000000..6bf2b928fa43e --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass4.js @@ -0,0 +1,39 @@ +//// [unusedPrivateMethodInClass4.ts] + +class greeter { + private function1() { + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } + + public function3() { + var y = 10; + y++; + this.function2(); + } +} + +//// [unusedPrivateMethodInClass4.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + var y = 10; + y++; + }; + greeter.prototype.function2 = function () { + var y = 10; + y++; + }; + greeter.prototype.function3 = function () { + var y = 10; + y++; + this.function2(); + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt new file mode 100644 index 0000000000000..1be4db39e31d4 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): message TS6132: Variable 'x' has never been used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass1.ts (1 errors) ==== + + class greeter { + private x: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'x' has never been used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass1.js b/tests/baselines/reference/unusedPrivateVariableInClass1.js new file mode 100644 index 0000000000000..464676490d89f --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.js @@ -0,0 +1,12 @@ +//// [unusedPrivateVariableInClass1.ts] + +class greeter { + private x: string; +} + +//// [unusedPrivateVariableInClass1.js] +var greeter = (function () { + function greeter() { + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt new file mode 100644 index 0000000000000..bc5772507ef52 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): message TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): message TS6132: Variable 'y' has never been used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass2.ts (2 errors) ==== + + class greeter { + private x: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'x' has never been used. + private y: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'y' has never been used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass2.js b/tests/baselines/reference/unusedPrivateVariableInClass2.js new file mode 100644 index 0000000000000..329e2bbe2b6ef --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.js @@ -0,0 +1,13 @@ +//// [unusedPrivateVariableInClass2.ts] + +class greeter { + private x: string; + private y: string; +} + +//// [unusedPrivateVariableInClass2.js] +var greeter = (function () { + function greeter() { + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt new file mode 100644 index 0000000000000..c63294bb6e12e --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): message TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): message TS6132: Variable 'y' has never been used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass3.ts (2 errors) ==== + + class greeter { + private x: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'x' has never been used. + private y: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'y' has never been used. + public z: string; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass3.js b/tests/baselines/reference/unusedPrivateVariableInClass3.js new file mode 100644 index 0000000000000..c72b9e61995c7 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.js @@ -0,0 +1,14 @@ +//// [unusedPrivateVariableInClass3.ts] + +class greeter { + private x: string; + private y: string; + public z: string; +} + +//// [unusedPrivateVariableInClass3.js] +var greeter = (function () { + function greeter() { + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt new file mode 100644 index 0000000000000..65edb89ef0cf7 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): message TS6132: Variable 'y' has never been used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass4.ts (1 errors) ==== + + class greeter { + private x: string; + private y: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'y' has never been used. + public z: string; + + public method1() { + this.x = "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass4.js b/tests/baselines/reference/unusedPrivateVariableInClass4.js new file mode 100644 index 0000000000000..878a7780e85c9 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.js @@ -0,0 +1,21 @@ +//// [unusedPrivateVariableInClass4.ts] + +class greeter { + private x: string; + private y: string; + public z: string; + + public method1() { + this.x = "dummy value"; + } +} + +//// [unusedPrivateVariableInClass4.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.method1 = function () { + this.x = "dummy value"; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt new file mode 100644 index 0000000000000..eb056fc446049 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): message TS6132: Variable 'y' has never been used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass5.ts (1 errors) ==== + + class greeter { + private x: string; + private y: string; + ~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'y' has never been used. + public z: string; + + constructor() { + this.x = "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.js b/tests/baselines/reference/unusedPrivateVariableInClass5.js new file mode 100644 index 0000000000000..4d9b301722234 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.js @@ -0,0 +1,19 @@ +//// [unusedPrivateVariableInClass5.ts] + +class greeter { + private x: string; + private y: string; + public z: string; + + constructor() { + this.x = "dummy value"; + } +} + +//// [unusedPrivateVariableInClass5.js] +var greeter = (function () { + function greeter() { + this.x = "dummy value"; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt new file mode 100644 index 0000000000000..923a743d224b8 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedSingleParameterInContructor.ts (2 errors) ==== + + class Dummy { + constructor(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.js b/tests/baselines/reference/unusedSingleParameterInContructor.js new file mode 100644 index 0000000000000..172f9e20ab860 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInContructor.js @@ -0,0 +1,15 @@ +//// [unusedSingleParameterInContructor.ts] + +class Dummy { + constructor(person: string) { + var unused = 20; + } +} + +//// [unusedSingleParameterInContructor.js] +var Dummy = (function () { + function Dummy(person) { + var unused = 20; + } + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt new file mode 100644 index 0000000000000..0e8e7598f122b --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts (2 errors) ==== + + function greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.js b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.js new file mode 100644 index 0000000000000..0ee7c3d608a23 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.js @@ -0,0 +1,10 @@ +//// [unusedSingleParameterInFunctionDeclaration.ts] + +function greeter(person: string) { + var unused = 20; +} + +//// [unusedSingleParameterInFunctionDeclaration.js] +function greeter(person) { + var unused = 20; +} diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt new file mode 100644 index 0000000000000..a614b0058c8ce --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts (2 errors) ==== + + var func = function(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.js b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.js new file mode 100644 index 0000000000000..578707e43cc9e --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.js @@ -0,0 +1,10 @@ +//// [unusedSingleParameterInFunctionExpression.ts] + +var func = function(person: string) { + var unused = 20; +} + +//// [unusedSingleParameterInFunctionExpression.js] +var func = function (person) { + var unused = 20; +}; diff --git a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt new file mode 100644 index 0000000000000..b34d8a9bfc5db --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts (2 errors) ==== + + class Dummy { + public greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.js b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.js new file mode 100644 index 0000000000000..993866086db0b --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.js @@ -0,0 +1,17 @@ +//// [unusedSingleParameterInMethodDeclaration.ts] + +class Dummy { + public greeter(person: string) { + var unused = 20; + } +} + +//// [unusedSingleParameterInMethodDeclaration.js] +var Dummy = (function () { + function Dummy() { + } + Dummy.prototype.greeter = function (person) { + var unused = 20; + }; + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedTypeParameters1.errors.txt b/tests/baselines/reference/unusedTypeParameters1.errors.txt new file mode 100644 index 0000000000000..c00d0b072e8b3 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters1.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedTypeParameters1.ts(2,15): message TS6132: Variable 'typeparameter1' has never been used. + + +==== tests/cases/compiler/unusedTypeParameters1.ts (1 errors) ==== + + class greeter { + ~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'typeparameter1' has never been used. + + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters1.js b/tests/baselines/reference/unusedTypeParameters1.js new file mode 100644 index 0000000000000..27de80a9ecc41 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters1.js @@ -0,0 +1,12 @@ +//// [unusedTypeParameters1.ts] + +class greeter { + +} + +//// [unusedTypeParameters1.js] +var greeter = (function () { + function greeter() { + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedTypeParameters2.errors.txt b/tests/baselines/reference/unusedTypeParameters2.errors.txt new file mode 100644 index 0000000000000..af6192260c31f --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedTypeParameters2.ts(2,15): message TS6132: Variable 'typeparameter1' has never been used. + + +==== tests/cases/compiler/unusedTypeParameters2.ts (1 errors) ==== + + class greeter { + ~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'typeparameter1' has never been used. + private x: typeparameter2; + + public function1() { + this.x; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters2.js b/tests/baselines/reference/unusedTypeParameters2.js new file mode 100644 index 0000000000000..b28aa5074e774 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters2.js @@ -0,0 +1,19 @@ +//// [unusedTypeParameters2.ts] + +class greeter { + private x: typeparameter2; + + public function1() { + this.x; + } +} + +//// [unusedTypeParameters2.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + this.x; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedTypeParameters3.errors.txt b/tests/baselines/reference/unusedTypeParameters3.errors.txt new file mode 100644 index 0000000000000..2f74d3f53dfd4 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters3.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedTypeParameters3.ts(2,15): message TS6132: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters3.ts(2,47): message TS6132: Variable 'typeparameter3' has never been used. + + +==== tests/cases/compiler/unusedTypeParameters3.ts (2 errors) ==== + + class greeter { + ~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'typeparameter1' has never been used. + ~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'typeparameter3' has never been used. + private x: typeparameter2; + + public function1() { + this.x; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters3.js b/tests/baselines/reference/unusedTypeParameters3.js new file mode 100644 index 0000000000000..0552acaf54081 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters3.js @@ -0,0 +1,19 @@ +//// [unusedTypeParameters3.ts] + +class greeter { + private x: typeparameter2; + + public function1() { + this.x; + } +} + +//// [unusedTypeParameters3.js] +var greeter = (function () { + function greeter() { + } + greeter.prototype.function1 = function () { + this.x; + }; + return greeter; +}()); diff --git a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt new file mode 100644 index 0000000000000..460a06ef91558 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): message TS6132: Variable 'lettersRegexp' has never been used. + + +==== tests/cases/compiler/unusedVariablesinNamespaces1.ts (1 errors) ==== + + namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + ~~~~~~~~~~~~~ +!!! message TS6132: Variable 'lettersRegexp' has never been used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinNamespaces1.js b/tests/baselines/reference/unusedVariablesinNamespaces1.js new file mode 100644 index 0000000000000..a6dca8e413f13 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces1.js @@ -0,0 +1,11 @@ +//// [unusedVariablesinNamespaces1.ts] + +namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; +} + +//// [unusedVariablesinNamespaces1.js] +var Validation; +(function (Validation) { + var lettersRegexp = /^[A-Za-z]+$/; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt new file mode 100644 index 0000000000000..f175e709bcd39 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): message TS6132: Variable 'numberRegexp' has never been used. + + +==== tests/cases/compiler/unusedVariablesinNamespaces2.ts (1 errors) ==== + + namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! message TS6132: Variable 'numberRegexp' has never been used. + + export class LettersOnlyValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinNamespaces2.js b/tests/baselines/reference/unusedVariablesinNamespaces2.js new file mode 100644 index 0000000000000..b0b64fa644d82 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.js @@ -0,0 +1,28 @@ +//// [unusedVariablesinNamespaces2.ts] + +namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + + export class LettersOnlyValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + } +} + +//// [unusedVariablesinNamespaces2.js] +var Validation; +(function (Validation) { + var lettersRegexp = /^[A-Za-z]+$/; + var numberRegexp = /^[0-9]+$/; + var LettersOnlyValidator = (function () { + function LettersOnlyValidator() { + } + LettersOnlyValidator.prototype.isAcceptable = function (s2) { + return lettersRegexp.test(s2); + }; + return LettersOnlyValidator; + }()); + Validation.LettersOnlyValidator = LettersOnlyValidator; +})(Validation || (Validation = {})); diff --git a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt new file mode 100644 index 0000000000000..e9ab2418904d8 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt @@ -0,0 +1,18 @@ +tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): message TS6132: Variable 'numberRegexp' has never been used. + + +==== tests/cases/compiler/unusedVariablesinNamespaces3.ts (1 errors) ==== + + namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! message TS6132: Variable 'numberRegexp' has never been used. + export const anotherUnusedVariable = "Dummy value"; + + export class LettersOnlyValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinNamespaces3.js b/tests/baselines/reference/unusedVariablesinNamespaces3.js new file mode 100644 index 0000000000000..16a92a475d954 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.js @@ -0,0 +1,30 @@ +//// [unusedVariablesinNamespaces3.ts] + +namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + export const anotherUnusedVariable = "Dummy value"; + + export class LettersOnlyValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + } +} + +//// [unusedVariablesinNamespaces3.js] +var Validation; +(function (Validation) { + var lettersRegexp = /^[A-Za-z]+$/; + var numberRegexp = /^[0-9]+$/; + Validation.anotherUnusedVariable = "Dummy value"; + var LettersOnlyValidator = (function () { + function LettersOnlyValidator() { + } + LettersOnlyValidator.prototype.isAcceptable = function (s2) { + return lettersRegexp.test(s2); + }; + return LettersOnlyValidator; + }()); + Validation.LettersOnlyValidator = LettersOnlyValidator; +})(Validation || (Validation = {})); diff --git a/tests/cases/compiler/unusedClassesinNamespace1.ts b/tests/cases/compiler/unusedClassesinNamespace1.ts new file mode 100644 index 0000000000000..da1feef919566 --- /dev/null +++ b/tests/cases/compiler/unusedClassesinNamespace1.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + class c1 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedClassesinNamespace2.ts b/tests/cases/compiler/unusedClassesinNamespace2.ts new file mode 100644 index 0000000000000..83d60ff16280f --- /dev/null +++ b/tests/cases/compiler/unusedClassesinNamespace2.ts @@ -0,0 +1,12 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + class c1 { + + } + + export class c2 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedClassesinNamespace3.ts b/tests/cases/compiler/unusedClassesinNamespace3.ts new file mode 100644 index 0000000000000..9d39af37ea287 --- /dev/null +++ b/tests/cases/compiler/unusedClassesinNamespace3.ts @@ -0,0 +1,14 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + class c1 { + + } + + export class c2 { + + } + + export let a = new c1(); +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedClassesinNamespace4.ts b/tests/cases/compiler/unusedClassesinNamespace4.ts new file mode 100644 index 0000000000000..390df8f72298c --- /dev/null +++ b/tests/cases/compiler/unusedClassesinNamespace4.ts @@ -0,0 +1,16 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 extends c1 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedClassesinNamespace5.ts b/tests/cases/compiler/unusedClassesinNamespace5.ts new file mode 100644 index 0000000000000..43265e8fc4072 --- /dev/null +++ b/tests/cases/compiler/unusedClassesinNamespace5.ts @@ -0,0 +1,16 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 { + public x: c1; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedFunctionsinNamespaces1.ts b/tests/cases/compiler/unusedFunctionsinNamespaces1.ts new file mode 100644 index 0000000000000..3e4a1814ba85a --- /dev/null +++ b/tests/cases/compiler/unusedFunctionsinNamespaces1.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + function function1() { + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedFunctionsinNamespaces2.ts b/tests/cases/compiler/unusedFunctionsinNamespaces2.ts new file mode 100644 index 0000000000000..5f38bbaaaace6 --- /dev/null +++ b/tests/cases/compiler/unusedFunctionsinNamespaces2.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + var function1 = function() { + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedFunctionsinNamespaces3.ts b/tests/cases/compiler/unusedFunctionsinNamespaces3.ts new file mode 100644 index 0000000000000..c20759494f640 --- /dev/null +++ b/tests/cases/compiler/unusedFunctionsinNamespaces3.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + var function1 = function(param1:string) { + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedFunctionsinNamespaces4.ts b/tests/cases/compiler/unusedFunctionsinNamespaces4.ts new file mode 100644 index 0000000000000..b8855ba265040 --- /dev/null +++ b/tests/cases/compiler/unusedFunctionsinNamespaces4.ts @@ -0,0 +1,11 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + var function1 = function() { + } + + export function function2() { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedFunctionsinNamespaces5.ts b/tests/cases/compiler/unusedFunctionsinNamespaces5.ts new file mode 100644 index 0000000000000..f1d516fa66f29 --- /dev/null +++ b/tests/cases/compiler/unusedFunctionsinNamespaces5.ts @@ -0,0 +1,19 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + function1(); + } + + function function4() { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedFunctionsinNamespaces6.ts b/tests/cases/compiler/unusedFunctionsinNamespaces6.ts new file mode 100644 index 0000000000000..19f1591249c4c --- /dev/null +++ b/tests/cases/compiler/unusedFunctionsinNamespaces6.ts @@ -0,0 +1,21 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + function1(); + } + + function function4() { + + } + + export let a = function3; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedIdentifiersConsolidated1.ts b/tests/cases/compiler/unusedIdentifiersConsolidated1.ts new file mode 100644 index 0000000000000..7c6e9b2e6957a --- /dev/null +++ b/tests/cases/compiler/unusedIdentifiersConsolidated1.ts @@ -0,0 +1,104 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string) { + var unused = 20; +} + +class Dummy { + private unusedprivatevariable: string; + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + var unused = 20; + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + } +} + +var user = "Jane User"; +var user2 = "Jane2 User2"; + +namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + } + + interface unusedInterface { + } +} + + +namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedInterfaceinNamespace1.ts b/tests/cases/compiler/unusedInterfaceinNamespace1.ts new file mode 100644 index 0000000000000..db50d0da2b6ac --- /dev/null +++ b/tests/cases/compiler/unusedInterfaceinNamespace1.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + interface i1 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedInterfaceinNamespace2.ts b/tests/cases/compiler/unusedInterfaceinNamespace2.ts new file mode 100644 index 0000000000000..d0b6eb239ef5c --- /dev/null +++ b/tests/cases/compiler/unusedInterfaceinNamespace2.ts @@ -0,0 +1,12 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedInterfaceinNamespace3.ts b/tests/cases/compiler/unusedInterfaceinNamespace3.ts new file mode 100644 index 0000000000000..48c615be90348 --- /dev/null +++ b/tests/cases/compiler/unusedInterfaceinNamespace3.ts @@ -0,0 +1,16 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedInterfaceinNamespace4.ts b/tests/cases/compiler/unusedInterfaceinNamespace4.ts new file mode 100644 index 0000000000000..e643f8122277b --- /dev/null +++ b/tests/cases/compiler/unusedInterfaceinNamespace4.ts @@ -0,0 +1,20 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + + } + + export class c1 implements i3 { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedInterfaceinNamespace5.ts b/tests/cases/compiler/unusedInterfaceinNamespace5.ts new file mode 100644 index 0000000000000..901124e0f393a --- /dev/null +++ b/tests/cases/compiler/unusedInterfaceinNamespace5.ts @@ -0,0 +1,26 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + + } + + export class c1 implements i3 { + + } + + interface i4 { + + } + + export let c2:i4; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsInMethod1.ts b/tests/cases/compiler/unusedLocalsInMethod1.ts new file mode 100644 index 0000000000000..7da21b2c1afba --- /dev/null +++ b/tests/cases/compiler/unusedLocalsInMethod1.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + public function1() { + var x = 10; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsInMethod2.ts b/tests/cases/compiler/unusedLocalsInMethod2.ts new file mode 100644 index 0000000000000..a376e6de0acae --- /dev/null +++ b/tests/cases/compiler/unusedLocalsInMethod2.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + public function1() { + var x, y = 10; + y++; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsInMethod3.ts b/tests/cases/compiler/unusedLocalsInMethod3.ts new file mode 100644 index 0000000000000..5d94911057369 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsInMethod3.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + public function1() { + var x, y; + y = 1; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts new file mode 100644 index 0000000000000..0c325f198fa9e --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts new file mode 100644 index 0000000000000..00615f034b7c2 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts @@ -0,0 +1,13 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + function maker2(child2: string): void { + var unused3 = 23; + } + maker2(person2); +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts new file mode 100644 index 0000000000000..fd0e0f190e965 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var greeter = function (person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts new file mode 100644 index 0000000000000..73adf038564cc --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts @@ -0,0 +1,13 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var greeter = function (person: string, person2: string) { + var unused = 20; + function maker(child: string): void { + var unused2 = 22; + } + function maker2(child2: string): void { + var unused3 = 23; + } + maker2(person2); +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts new file mode 100644 index 0000000000000..9417b13b65a49 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string, person2: string) { + var unused = 20; + var maker = function (child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts new file mode 100644 index 0000000000000..7971ce5a30aae --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts @@ -0,0 +1,13 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string, person2: string) { + var unused = 20; + var maker = function(child: string): void { + var unused2 = 22; + } + var maker2 = function(child2: string): void { + var unused3 = 23; + } + maker2(person2); +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts new file mode 100644 index 0000000000000..edeb341ee7db9 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var greeter = function (person: string, person2: string) { + var unused = 20; + var maker = function (child: string): void { + var unused2 = 22; + } + person2 = "dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts new file mode 100644 index 0000000000000..b407755c259e1 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts @@ -0,0 +1,13 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var greeter = function (person: string, person2: string) { + var unused = 20; + var maker = function (child: string): void { + var unused2 = 22; + } + var maker2 = function (child2: string): void { + var unused3 = 23; + } + maker2(person2); +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsinConstructor1.ts b/tests/cases/compiler/unusedLocalsinConstructor1.ts new file mode 100644 index 0000000000000..fca303d2b9f5d --- /dev/null +++ b/tests/cases/compiler/unusedLocalsinConstructor1.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor() { + var unused = 20; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedLocalsinConstructor2.ts b/tests/cases/compiler/unusedLocalsinConstructor2.ts new file mode 100644 index 0000000000000..2e67d98d56e65 --- /dev/null +++ b/tests/cases/compiler/unusedLocalsinConstructor2.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor() { + var unused = 20; + var used = "dummy"; + used = used + "second part"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameter1InContructor.ts b/tests/cases/compiler/unusedMultipleParameter1InContructor.ts new file mode 100644 index 0000000000000..b9565cafca62a --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter1InContructor.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + constructor(person: string, person2: string) { + var unused = 20; + person2 = "Dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts b/tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts new file mode 100644 index 0000000000000..3892db7e39d76 --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var func = function(person: string, person2: string) { + var unused = 20; + person2 = "Dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameter2InContructor.ts b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts new file mode 100644 index 0000000000000..34d54c714af6f --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + constructor(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts b/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts new file mode 100644 index 0000000000000..4d5bb2a103b09 --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var func = function(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts new file mode 100644 index 0000000000000..bc63d72f0150d --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string, person2: string) { + var unused = 20; + person2 = "dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts new file mode 100644 index 0000000000000..c74e702bbae36 --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + public greeter(person: string, person2: string) { + var unused = 20; + person2 = "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts new file mode 100644 index 0000000000000..ad20d044eccdb --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "dummy value"; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts new file mode 100644 index 0000000000000..4ede3cd47a409 --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + public greeter(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor1.ts b/tests/cases/compiler/unusedParametersinConstructor1.ts new file mode 100644 index 0000000000000..421636d661b74 --- /dev/null +++ b/tests/cases/compiler/unusedParametersinConstructor1.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor(param1: string) { + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor2.ts b/tests/cases/compiler/unusedParametersinConstructor2.ts new file mode 100644 index 0000000000000..d6812f438c598 --- /dev/null +++ b/tests/cases/compiler/unusedParametersinConstructor2.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor(param1: string, param2: string) { + param2 = param2 + "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor3.ts b/tests/cases/compiler/unusedParametersinConstructor3.ts new file mode 100644 index 0000000000000..e6295cd49fadf --- /dev/null +++ b/tests/cases/compiler/unusedParametersinConstructor3.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor(param1: string, param2: string, param3: string) { + param2 = param2 + "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateMethodInClass1.ts b/tests/cases/compiler/unusedPrivateMethodInClass1.ts new file mode 100644 index 0000000000000..e31dec6033b54 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateMethodInClass1.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private function1() { + var y = 10; + y++; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateMethodInClass2.ts b/tests/cases/compiler/unusedPrivateMethodInClass2.ts new file mode 100644 index 0000000000000..5039c26589033 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateMethodInClass2.ts @@ -0,0 +1,14 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private function1() { + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateMethodInClass3.ts b/tests/cases/compiler/unusedPrivateMethodInClass3.ts new file mode 100644 index 0000000000000..a35cd4512ecc2 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateMethodInClass3.ts @@ -0,0 +1,19 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private function1() { + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } + + public function3() { + var y = 10; + y++; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateMethodInClass4.ts b/tests/cases/compiler/unusedPrivateMethodInClass4.ts new file mode 100644 index 0000000000000..5e2741a12bc58 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateMethodInClass4.ts @@ -0,0 +1,20 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private function1() { + var y = 10; + y++; + } + + private function2() { + var y = 10; + y++; + } + + public function3() { + var y = 10; + y++; + this.function2(); + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateVariableInClass1.ts b/tests/cases/compiler/unusedPrivateVariableInClass1.ts new file mode 100644 index 0000000000000..0877b7cd8685b --- /dev/null +++ b/tests/cases/compiler/unusedPrivateVariableInClass1.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: string; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateVariableInClass2.ts b/tests/cases/compiler/unusedPrivateVariableInClass2.ts new file mode 100644 index 0000000000000..acaf1e80412c3 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateVariableInClass2.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: string; + private y: string; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateVariableInClass3.ts b/tests/cases/compiler/unusedPrivateVariableInClass3.ts new file mode 100644 index 0000000000000..6cfa3184f44a7 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateVariableInClass3.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: string; + private y: string; + public z: string; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateVariableInClass4.ts b/tests/cases/compiler/unusedPrivateVariableInClass4.ts new file mode 100644 index 0000000000000..23598d5a491bd --- /dev/null +++ b/tests/cases/compiler/unusedPrivateVariableInClass4.ts @@ -0,0 +1,12 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: string; + private y: string; + public z: string; + + public method1() { + this.x = "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedPrivateVariableInClass5.ts b/tests/cases/compiler/unusedPrivateVariableInClass5.ts new file mode 100644 index 0000000000000..51e64afca1d27 --- /dev/null +++ b/tests/cases/compiler/unusedPrivateVariableInClass5.ts @@ -0,0 +1,12 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: string; + private y: string; + public z: string; + + constructor() { + this.x = "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSingleParameterInContructor.ts b/tests/cases/compiler/unusedSingleParameterInContructor.ts new file mode 100644 index 0000000000000..0f8f756fb48e4 --- /dev/null +++ b/tests/cases/compiler/unusedSingleParameterInContructor.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + constructor(person: string) { + var unused = 20; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts b/tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts new file mode 100644 index 0000000000000..8122065d7ca64 --- /dev/null +++ b/tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function greeter(person: string) { + var unused = 20; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts b/tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts new file mode 100644 index 0000000000000..f4a749c33afee --- /dev/null +++ b/tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var func = function(person: string) { + var unused = 20; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts b/tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts new file mode 100644 index 0000000000000..2dee007f21059 --- /dev/null +++ b/tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + public greeter(person: string) { + var unused = 20; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters1.ts b/tests/cases/compiler/unusedTypeParameters1.ts new file mode 100644 index 0000000000000..cec2be7efdafa --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters1.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters2.ts b/tests/cases/compiler/unusedTypeParameters2.ts new file mode 100644 index 0000000000000..c1018578147b4 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters2.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: typeparameter2; + + public function1() { + this.x; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters3.ts b/tests/cases/compiler/unusedTypeParameters3.ts new file mode 100644 index 0000000000000..ea67756d5adb5 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters3.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + private x: typeparameter2; + + public function1() { + this.x; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinNamespaces1.ts b/tests/cases/compiler/unusedVariablesinNamespaces1.ts new file mode 100644 index 0000000000000..04febf7026041 --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinNamespaces1.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinNamespaces2.ts b/tests/cases/compiler/unusedVariablesinNamespaces2.ts new file mode 100644 index 0000000000000..2178da8fbda92 --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinNamespaces2.ts @@ -0,0 +1,13 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + + export class LettersOnlyValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinNamespaces3.ts b/tests/cases/compiler/unusedVariablesinNamespaces3.ts new file mode 100644 index 0000000000000..9952da92a7fea --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinNamespaces3.ts @@ -0,0 +1,14 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + export const anotherUnusedVariable = "Dummy value"; + + export class LettersOnlyValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + } +} \ No newline at end of file From 5a34352d6f897c0ff4ce5f557639958272f6f417 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 11:24:28 -0700 Subject: [PATCH 14/38] Adding condition to ignore constructor parameters --- src/compiler/checker.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 05172c9ed5c73..5dbc92d6d91ff 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14221,7 +14221,9 @@ namespace ts { function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { checkUnusedIdentifiers(node); - checkUnusedParameters(node); + if (node.kind !== SyntaxKind.Constructor) { + checkUnusedParameters(node); + } } function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { From 93b7490115c1270ed029c3c8d459dc451ca4eb1d Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 11:42:04 -0700 Subject: [PATCH 15/38] Removing unnecessary tests --- .../unusedIdentifiersConsolidated1.errors.txt | 153 -------------- .../unusedIdentifiersConsolidated1.js | 187 ------------------ ...dMultipleParameter1InContructor.errors.txt | 16 -- .../unusedMultipleParameter1InContructor.js | 17 -- ...dMultipleParameter2InContructor.errors.txt | 19 -- .../unusedMultipleParameter2InContructor.js | 17 -- .../unusedParametersinConstructor1.errors.txt | 11 -- .../unusedParametersinConstructor1.js | 13 -- .../unusedParametersinConstructor2.errors.txt | 12 -- .../unusedParametersinConstructor2.js | 15 -- .../unusedParametersinConstructor3.errors.txt | 15 -- .../unusedParametersinConstructor3.js | 15 -- ...usedSingleParameterInContructor.errors.txt | 15 -- .../unusedSingleParameterInContructor.js | 15 -- .../unusedMultipleParameter1InContructor.ts | 9 - .../unusedMultipleParameter2InContructor.ts | 9 - .../unusedParametersinConstructor1.ts | 7 - .../unusedParametersinConstructor2.ts | 8 - .../unusedParametersinConstructor3.ts | 8 - .../unusedSingleParameterInContructor.ts | 8 - 20 files changed, 569 deletions(-) delete mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt delete mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.js delete mode 100644 tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt delete mode 100644 tests/baselines/reference/unusedMultipleParameter1InContructor.js delete mode 100644 tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt delete mode 100644 tests/baselines/reference/unusedMultipleParameter2InContructor.js delete mode 100644 tests/baselines/reference/unusedParametersinConstructor1.errors.txt delete mode 100644 tests/baselines/reference/unusedParametersinConstructor1.js delete mode 100644 tests/baselines/reference/unusedParametersinConstructor2.errors.txt delete mode 100644 tests/baselines/reference/unusedParametersinConstructor2.js delete mode 100644 tests/baselines/reference/unusedParametersinConstructor3.errors.txt delete mode 100644 tests/baselines/reference/unusedParametersinConstructor3.js delete mode 100644 tests/baselines/reference/unusedSingleParameterInContructor.errors.txt delete mode 100644 tests/baselines/reference/unusedSingleParameterInContructor.js delete mode 100644 tests/cases/compiler/unusedMultipleParameter1InContructor.ts delete mode 100644 tests/cases/compiler/unusedMultipleParameter2InContructor.ts delete mode 100644 tests/cases/compiler/unusedParametersinConstructor1.ts delete mode 100644 tests/cases/compiler/unusedParametersinConstructor2.ts delete mode 100644 tests/cases/compiler/unusedParametersinConstructor3.ts delete mode 100644 tests/cases/compiler/unusedSingleParameterInContructor.ts diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt deleted file mode 100644 index 27ec7d90821da..0000000000000 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ /dev/null @@ -1,153 +0,0 @@ -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): message TS6132: Variable 'unusedtypeparameter' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): message TS6132: Variable 'unusedprivatevariable' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): message TS6133: Parameter 'message' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): message TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): message TS6132: Variable 'numberRegexp' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): message TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): message TS6132: Variable 'usedLocallyInterface2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): message TS6132: Variable 'dummy' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): message TS6132: Variable 'unusedInterface' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): message TS6132: Variable 'class3' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: Variable 'interface5' has never been used. - - -==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== - - function greeter(person: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - } - - class Dummy { - ~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedtypeparameter' has never been used. - private unusedprivatevariable: string; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedprivatevariable' has never been used. - private greeting: string; - public unusedpublicvariable: string; - public typedvariable: usedtypeparameter; - - constructor(message: string) { - ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'message' has never been used. - var unused2 = 22; - ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. - this.greeting = "Dummy Message"; - } - - public greeter(person: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - this.usedPrivateFunction(); - } - - private usedPrivateFunction() { - } - - private unUsedPrivateFunction() { - ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. - } - } - - var user = "Jane User"; - var user2 = "Jane2 User2"; - - namespace Validation { - export interface StringValidator { - isAcceptable(s: string): boolean; - } - - const lettersRegexp = /^[A-Za-z]+$/; - const numberRegexp = /^[0-9]+$/; - ~~~~~~~~~~~~ -!!! message TS6132: Variable 'numberRegexp' has never been used. - - export class LettersOnlyValidator implements StringValidator { - isAcceptable(s2: string) { - return lettersRegexp.test(s2); - } - - private unUsedPrivateFunction() { - ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. - } - } - - export class ZipCodeValidator implements StringValidator { - isAcceptable(s3: string) { - return s3.length === 5; - } - } - - interface usedLocallyInterface { - } - - interface usedLocallyInterface2 { - ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'usedLocallyInterface2' has never been used. - someFunction(s1: string): void; - } - - export interface exportedInterface { - } - - class dummy implements usedLocallyInterface { - ~~~~~ -!!! message TS6132: Variable 'dummy' has never been used. - } - - interface unusedInterface { - ~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedInterface' has never been used. - } - } - - - namespace Greeter { - class class1 { - } - - export class class2 extends class1 { - } - - class class3 { - ~~~~~~ -!!! message TS6132: Variable 'class3' has never been used. - } - - export class class4 { - } - - interface interface1 { - } - - export interface interface2 extends interface1 { - } - - interface interface3 { - } - - export interface interface4 { - } - - export let a: interface3; - - interface interface5 { - ~~~~~~~~~~ -!!! message TS6132: Variable 'interface5' has never been used. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.js b/tests/baselines/reference/unusedIdentifiersConsolidated1.js deleted file mode 100644 index 521f17bf5ef7e..0000000000000 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.js +++ /dev/null @@ -1,187 +0,0 @@ -//// [unusedIdentifiersConsolidated1.ts] - -function greeter(person: string) { - var unused = 20; -} - -class Dummy { - private unusedprivatevariable: string; - private greeting: string; - public unusedpublicvariable: string; - public typedvariable: usedtypeparameter; - - constructor(message: string) { - var unused2 = 22; - this.greeting = "Dummy Message"; - } - - public greeter(person: string) { - var unused = 20; - this.usedPrivateFunction(); - } - - private usedPrivateFunction() { - } - - private unUsedPrivateFunction() { - } -} - -var user = "Jane User"; -var user2 = "Jane2 User2"; - -namespace Validation { - export interface StringValidator { - isAcceptable(s: string): boolean; - } - - const lettersRegexp = /^[A-Za-z]+$/; - const numberRegexp = /^[0-9]+$/; - - export class LettersOnlyValidator implements StringValidator { - isAcceptable(s2: string) { - return lettersRegexp.test(s2); - } - - private unUsedPrivateFunction() { - } - } - - export class ZipCodeValidator implements StringValidator { - isAcceptable(s3: string) { - return s3.length === 5; - } - } - - interface usedLocallyInterface { - } - - interface usedLocallyInterface2 { - someFunction(s1: string): void; - } - - export interface exportedInterface { - } - - class dummy implements usedLocallyInterface { - } - - interface unusedInterface { - } -} - - -namespace Greeter { - class class1 { - } - - export class class2 extends class1 { - } - - class class3 { - } - - export class class4 { - } - - interface interface1 { - } - - export interface interface2 extends interface1 { - } - - interface interface3 { - } - - export interface interface4 { - } - - export let a: interface3; - - interface interface5 { - } -} - -//// [unusedIdentifiersConsolidated1.js] -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -function greeter(person) { - var unused = 20; -} -var Dummy = (function () { - function Dummy(message) { - var unused2 = 22; - this.greeting = "Dummy Message"; - } - Dummy.prototype.greeter = function (person) { - var unused = 20; - this.usedPrivateFunction(); - }; - Dummy.prototype.usedPrivateFunction = function () { - }; - Dummy.prototype.unUsedPrivateFunction = function () { - }; - return Dummy; -}()); -var user = "Jane User"; -var user2 = "Jane2 User2"; -var Validation; -(function (Validation) { - var lettersRegexp = /^[A-Za-z]+$/; - var numberRegexp = /^[0-9]+$/; - var LettersOnlyValidator = (function () { - function LettersOnlyValidator() { - } - LettersOnlyValidator.prototype.isAcceptable = function (s2) { - return lettersRegexp.test(s2); - }; - LettersOnlyValidator.prototype.unUsedPrivateFunction = function () { - }; - return LettersOnlyValidator; - }()); - Validation.LettersOnlyValidator = LettersOnlyValidator; - var ZipCodeValidator = (function () { - function ZipCodeValidator() { - } - ZipCodeValidator.prototype.isAcceptable = function (s3) { - return s3.length === 5; - }; - return ZipCodeValidator; - }()); - Validation.ZipCodeValidator = ZipCodeValidator; - var dummy = (function () { - function dummy() { - } - return dummy; - }()); -})(Validation || (Validation = {})); -var Greeter; -(function (Greeter) { - var class1 = (function () { - function class1() { - } - return class1; - }()); - var class2 = (function (_super) { - __extends(class2, _super); - function class2() { - _super.apply(this, arguments); - } - return class2; - }(class1)); - Greeter.class2 = class2; - var class3 = (function () { - function class3() { - } - return class3; - }()); - var class4 = (function () { - function class4() { - } - return class4; - }()); - Greeter.class4 = class4; -})(Greeter || (Greeter = {})); diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt deleted file mode 100644 index ad829ef8bcbbd..0000000000000 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. - - -==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (2 errors) ==== - - class Dummy { - constructor(person: string, person2: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - person2 = "Dummy value"; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.js b/tests/baselines/reference/unusedMultipleParameter1InContructor.js deleted file mode 100644 index e236ea3d26a09..0000000000000 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.js +++ /dev/null @@ -1,17 +0,0 @@ -//// [unusedMultipleParameter1InContructor.ts] - -class Dummy { - constructor(person: string, person2: string) { - var unused = 20; - person2 = "Dummy value"; - } -} - -//// [unusedMultipleParameter1InContructor.js] -var Dummy = (function () { - function Dummy(person, person2) { - var unused = 20; - person2 = "Dummy value"; - } - return Dummy; -}()); diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt deleted file mode 100644 index 7196273a5c725..0000000000000 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): message TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. - - -==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (3 errors) ==== - - class Dummy { - constructor(person: string, person2: string, person3: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person3' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - person2 = "Dummy value"; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.js b/tests/baselines/reference/unusedMultipleParameter2InContructor.js deleted file mode 100644 index 8ffd4c3659124..0000000000000 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.js +++ /dev/null @@ -1,17 +0,0 @@ -//// [unusedMultipleParameter2InContructor.ts] - -class Dummy { - constructor(person: string, person2: string, person3: string) { - var unused = 20; - person2 = "Dummy value"; - } -} - -//// [unusedMultipleParameter2InContructor.js] -var Dummy = (function () { - function Dummy(person, person2, person3) { - var unused = 20; - person2 = "Dummy value"; - } - return Dummy; -}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt deleted file mode 100644 index ca4bc497c7559..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): message TS6133: Parameter 'param1' has never been used. - - -==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== - - class greeter { - constructor(param1: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor1.js b/tests/baselines/reference/unusedParametersinConstructor1.js deleted file mode 100644 index 500d7a45eb2f5..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor1.js +++ /dev/null @@ -1,13 +0,0 @@ -//// [unusedParametersinConstructor1.ts] - -class greeter { - constructor(param1: string) { - } -} - -//// [unusedParametersinConstructor1.js] -var greeter = (function () { - function greeter(param1) { - } - return greeter; -}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt deleted file mode 100644 index 282e40b0f68da..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): message TS6133: Parameter 'param1' has never been used. - - -==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== - - class greeter { - constructor(param1: string, param2: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. - param2 = param2 + "dummy value"; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.js b/tests/baselines/reference/unusedParametersinConstructor2.js deleted file mode 100644 index 97bbf21ee0437..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor2.js +++ /dev/null @@ -1,15 +0,0 @@ -//// [unusedParametersinConstructor2.ts] - -class greeter { - constructor(param1: string, param2: string) { - param2 = param2 + "dummy value"; - } -} - -//// [unusedParametersinConstructor2.js] -var greeter = (function () { - function greeter(param1, param2) { - param2 = param2 + "dummy value"; - } - return greeter; -}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt deleted file mode 100644 index 29f3685327190..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): message TS6133: Parameter 'param1' has never been used. -tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): message TS6133: Parameter 'param3' has never been used. - - -==== tests/cases/compiler/unusedParametersinConstructor3.ts (2 errors) ==== - - class greeter { - constructor(param1: string, param2: string, param3: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param3' has never been used. - param2 = param2 + "dummy value"; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor3.js b/tests/baselines/reference/unusedParametersinConstructor3.js deleted file mode 100644 index 06ac99229ac94..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor3.js +++ /dev/null @@ -1,15 +0,0 @@ -//// [unusedParametersinConstructor3.ts] - -class greeter { - constructor(param1: string, param2: string, param3: string) { - param2 = param2 + "dummy value"; - } -} - -//// [unusedParametersinConstructor3.js] -var greeter = (function () { - function greeter(param1, param2, param3) { - param2 = param2 + "dummy value"; - } - return greeter; -}()); diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt deleted file mode 100644 index 923a743d224b8..0000000000000 --- a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. - - -==== tests/cases/compiler/unusedSingleParameterInContructor.ts (2 errors) ==== - - class Dummy { - constructor(person: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.js b/tests/baselines/reference/unusedSingleParameterInContructor.js deleted file mode 100644 index 172f9e20ab860..0000000000000 --- a/tests/baselines/reference/unusedSingleParameterInContructor.js +++ /dev/null @@ -1,15 +0,0 @@ -//// [unusedSingleParameterInContructor.ts] - -class Dummy { - constructor(person: string) { - var unused = 20; - } -} - -//// [unusedSingleParameterInContructor.js] -var Dummy = (function () { - function Dummy(person) { - var unused = 20; - } - return Dummy; -}()); diff --git a/tests/cases/compiler/unusedMultipleParameter1InContructor.ts b/tests/cases/compiler/unusedMultipleParameter1InContructor.ts deleted file mode 100644 index b9565cafca62a..0000000000000 --- a/tests/cases/compiler/unusedMultipleParameter1InContructor.ts +++ /dev/null @@ -1,9 +0,0 @@ -//@noUnusedLocals:true -//@noUnusedParameters:true - -class Dummy { - constructor(person: string, person2: string) { - var unused = 20; - person2 = "Dummy value"; - } -} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameter2InContructor.ts b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts deleted file mode 100644 index 34d54c714af6f..0000000000000 --- a/tests/cases/compiler/unusedMultipleParameter2InContructor.ts +++ /dev/null @@ -1,9 +0,0 @@ -//@noUnusedLocals:true -//@noUnusedParameters:true - -class Dummy { - constructor(person: string, person2: string, person3: string) { - var unused = 20; - person2 = "Dummy value"; - } -} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor1.ts b/tests/cases/compiler/unusedParametersinConstructor1.ts deleted file mode 100644 index 421636d661b74..0000000000000 --- a/tests/cases/compiler/unusedParametersinConstructor1.ts +++ /dev/null @@ -1,7 +0,0 @@ -//@noUnusedLocals:true -//@noUnusedParameters:true - -class greeter { - constructor(param1: string) { - } -} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor2.ts b/tests/cases/compiler/unusedParametersinConstructor2.ts deleted file mode 100644 index d6812f438c598..0000000000000 --- a/tests/cases/compiler/unusedParametersinConstructor2.ts +++ /dev/null @@ -1,8 +0,0 @@ -//@noUnusedLocals:true -//@noUnusedParameters:true - -class greeter { - constructor(param1: string, param2: string) { - param2 = param2 + "dummy value"; - } -} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor3.ts b/tests/cases/compiler/unusedParametersinConstructor3.ts deleted file mode 100644 index e6295cd49fadf..0000000000000 --- a/tests/cases/compiler/unusedParametersinConstructor3.ts +++ /dev/null @@ -1,8 +0,0 @@ -//@noUnusedLocals:true -//@noUnusedParameters:true - -class greeter { - constructor(param1: string, param2: string, param3: string) { - param2 = param2 + "dummy value"; - } -} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSingleParameterInContructor.ts b/tests/cases/compiler/unusedSingleParameterInContructor.ts deleted file mode 100644 index 0f8f756fb48e4..0000000000000 --- a/tests/cases/compiler/unusedSingleParameterInContructor.ts +++ /dev/null @@ -1,8 +0,0 @@ -//@noUnusedLocals:true -//@noUnusedParameters:true - -class Dummy { - constructor(person: string) { - var unused = 20; - } -} \ No newline at end of file From 7aba6266b396ec1b3c624acbffec29dbfa49284d Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 12:11:54 -0700 Subject: [PATCH 16/38] Additional changes for compiler code --- src/compiler/checker.ts | 21 +- .../unusedIdentifiersConsolidated1.errors.txt | 150 ++++++++++++++ .../unusedIdentifiersConsolidated1.js | 187 ++++++++++++++++++ 3 files changed, 344 insertions(+), 14 deletions(-) create mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt create mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.js diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5dbc92d6d91ff..068c4613433bd 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8103,15 +8103,6 @@ namespace ts { return container === declarationContainer; } - function updateReferences(node: Identifier): void { - if (!isSourceFileADefinitionFile) { - const symbol = getReferencedValueSymbol(node); - if (symbol) { - symbol.hasReference = true; - } - } - } - function updateReferencesForTypedParameters(node: TypeNode): void { const symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { @@ -8131,7 +8122,9 @@ namespace ts { function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); - updateReferences(node); + if (symbol && !isSourceFileADefinitionFile) { + symbol.hasReference = true; + } // As noted in ECMAScript 6 language spec, arrow functions never have an arguments objects. // Although in down-level emit of arrow function, we emit it using function expression which means that @@ -14216,14 +14209,14 @@ namespace ts { } function checkSourceFileADefinitionFile(node: Node): boolean { - return getSourceFileOfNode(node).fileName.indexOf(".d.ts") > 0; + return /\.d\.ts$/.test(getSourceFileOfNode(node).fileName); } function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { checkUnusedIdentifiers(node); if (node.kind !== SyntaxKind.Constructor) { checkUnusedParameters(node); - } + } } function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { @@ -14241,7 +14234,7 @@ namespace ts { function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile) { for (const key in node.locals) { - if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { + if (hasProperty(node.locals, key) && !node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); } @@ -14253,7 +14246,7 @@ namespace ts { function checkUnusedModulePrivates(node: ModuleDeclaration): void { if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { for (const key in node.locals) { - if (!node.locals[key].hasReference && !node.locals[key].exportSymbol) { + if (hasProperty(node.locals, key) && !node.locals[key].hasReference && !node.locals[key].exportSymbol) { if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind)) { error(node.locals[key].valueDeclaration, Diagnostics.Variable_0_has_never_been_used, key); } diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt new file mode 100644 index 0000000000000..561b7891942d9 --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -0,0 +1,150 @@ +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): message TS6132: Variable 'unusedtypeparameter' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): message TS6132: Variable 'unusedprivatevariable' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): message TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): message TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): message TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): message TS6132: Variable 'usedLocallyInterface2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): message TS6132: Variable 'dummy' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): message TS6132: Variable 'unusedInterface' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): message TS6132: Variable 'class3' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: Variable 'interface5' has never been used. + + +==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (15 errors) ==== + + function greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + + class Dummy { + ~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedtypeparameter' has never been used. + private unusedprivatevariable: string; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedprivatevariable' has never been used. + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. + } + } + + var user = "Jane User"; + var user2 = "Jane2 User2"; + + namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! message TS6132: Variable 'numberRegexp' has never been used. + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'usedLocallyInterface2' has never been used. + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + ~~~~~ +!!! message TS6132: Variable 'dummy' has never been used. + } + + interface unusedInterface { + ~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedInterface' has never been used. + } + } + + + namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + ~~~~~~ +!!! message TS6132: Variable 'class3' has never been used. + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + ~~~~~~~~~~ +!!! message TS6132: Variable 'interface5' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.js b/tests/baselines/reference/unusedIdentifiersConsolidated1.js new file mode 100644 index 0000000000000..521f17bf5ef7e --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.js @@ -0,0 +1,187 @@ +//// [unusedIdentifiersConsolidated1.ts] + +function greeter(person: string) { + var unused = 20; +} + +class Dummy { + private unusedprivatevariable: string; + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + var unused = 20; + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + } +} + +var user = "Jane User"; +var user2 = "Jane2 User2"; + +namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + } + + interface unusedInterface { + } +} + + +namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + } +} + +//// [unusedIdentifiersConsolidated1.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +function greeter(person) { + var unused = 20; +} +var Dummy = (function () { + function Dummy(message) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + Dummy.prototype.greeter = function (person) { + var unused = 20; + this.usedPrivateFunction(); + }; + Dummy.prototype.usedPrivateFunction = function () { + }; + Dummy.prototype.unUsedPrivateFunction = function () { + }; + return Dummy; +}()); +var user = "Jane User"; +var user2 = "Jane2 User2"; +var Validation; +(function (Validation) { + var lettersRegexp = /^[A-Za-z]+$/; + var numberRegexp = /^[0-9]+$/; + var LettersOnlyValidator = (function () { + function LettersOnlyValidator() { + } + LettersOnlyValidator.prototype.isAcceptable = function (s2) { + return lettersRegexp.test(s2); + }; + LettersOnlyValidator.prototype.unUsedPrivateFunction = function () { + }; + return LettersOnlyValidator; + }()); + Validation.LettersOnlyValidator = LettersOnlyValidator; + var ZipCodeValidator = (function () { + function ZipCodeValidator() { + } + ZipCodeValidator.prototype.isAcceptable = function (s3) { + return s3.length === 5; + }; + return ZipCodeValidator; + }()); + Validation.ZipCodeValidator = ZipCodeValidator; + var dummy = (function () { + function dummy() { + } + return dummy; + }()); +})(Validation || (Validation = {})); +var Greeter; +(function (Greeter) { + var class1 = (function () { + function class1() { + } + return class1; + }()); + var class2 = (function (_super) { + __extends(class2, _super); + function class2() { + _super.apply(this, arguments); + } + return class2; + }(class1)); + Greeter.class2 = class2; + var class3 = (function () { + function class3() { + } + return class3; + }()); + var class4 = (function () { + function class4() { + } + return class4; + }()); + Greeter.class4 = class4; +})(Greeter || (Greeter = {})); From ed5052d9aa2016698de4e923c47f0acad823c297 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 13:08:43 -0700 Subject: [PATCH 17/38] Additional changes to handle constructor scenario --- src/compiler/checker.ts | 21 +- .../unusedIdentifiersConsolidated1.errors.txt | 150 -------------- .../unusedIdentifiersConsolidated1.js | 187 ------------------ ...dMultipleParameter1InContructor.errors.txt | 16 ++ .../unusedMultipleParameter1InContructor.js | 17 ++ ...dMultipleParameter2InContructor.errors.txt | 19 ++ .../unusedMultipleParameter2InContructor.js | 17 ++ .../unusedParametersinConstructor1.errors.txt | 11 ++ .../unusedParametersinConstructor1.js | 13 ++ .../unusedParametersinConstructor2.errors.txt | 12 ++ .../unusedParametersinConstructor2.js | 15 ++ .../unusedParametersinConstructor3.errors.txt | 15 ++ .../unusedParametersinConstructor3.js | 15 ++ ...usedSingleParameterInContructor.errors.txt | 15 ++ .../unusedSingleParameterInContructor.js | 15 ++ .../unusedMultipleParameter1InContructor.ts | 9 + .../unusedMultipleParameter2InContructor.ts | 9 + .../unusedParametersinConstructor1.ts | 7 + .../unusedParametersinConstructor2.ts | 8 + .../unusedParametersinConstructor3.ts | 8 + .../unusedSingleParameterInContructor.ts | 8 + 21 files changed, 246 insertions(+), 341 deletions(-) delete mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt delete mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.js create mode 100644 tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameter1InContructor.js create mode 100644 tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt create mode 100644 tests/baselines/reference/unusedMultipleParameter2InContructor.js create mode 100644 tests/baselines/reference/unusedParametersinConstructor1.errors.txt create mode 100644 tests/baselines/reference/unusedParametersinConstructor1.js create mode 100644 tests/baselines/reference/unusedParametersinConstructor2.errors.txt create mode 100644 tests/baselines/reference/unusedParametersinConstructor2.js create mode 100644 tests/baselines/reference/unusedParametersinConstructor3.errors.txt create mode 100644 tests/baselines/reference/unusedParametersinConstructor3.js create mode 100644 tests/baselines/reference/unusedSingleParameterInContructor.errors.txt create mode 100644 tests/baselines/reference/unusedSingleParameterInContructor.js create mode 100644 tests/cases/compiler/unusedMultipleParameter1InContructor.ts create mode 100644 tests/cases/compiler/unusedMultipleParameter2InContructor.ts create mode 100644 tests/cases/compiler/unusedParametersinConstructor1.ts create mode 100644 tests/cases/compiler/unusedParametersinConstructor2.ts create mode 100644 tests/cases/compiler/unusedParametersinConstructor3.ts create mode 100644 tests/cases/compiler/unusedSingleParameterInContructor.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 068c4613433bd..0c46778135fe1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14214,9 +14214,7 @@ namespace ts { function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { checkUnusedIdentifiers(node); - if (node.kind !== SyntaxKind.Constructor) { - checkUnusedParameters(node); - } + checkUnusedParameters(node); } function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { @@ -14236,7 +14234,13 @@ namespace ts { for (const key in node.locals) { if (hasProperty(node.locals, key) && !node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { - error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); + if (node.locals[key].valueDeclaration.modifiers) { + if (!checkModifiersForPublicAccess(node.locals[key].valueDeclaration.modifiers)) { + error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); + } + } else { + error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); + } } } } @@ -14289,6 +14293,15 @@ namespace ts { return false; } + function checkModifiersForPublicAccess(modifiers: ModifiersArray): boolean { + for (let i = 0; i < modifiers.length; i++) { + if (modifiers[i].kind === SyntaxKind.PublicKeyword) { + return true; + } + } + return false; + } + function checkBlock(node: Block) { // Grammar checking for SyntaxKind.Block if (node.kind === SyntaxKind.Block) { diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt deleted file mode 100644 index 561b7891942d9..0000000000000 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ /dev/null @@ -1,150 +0,0 @@ -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): message TS6132: Variable 'unusedtypeparameter' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): message TS6132: Variable 'unusedprivatevariable' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): message TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): message TS6132: Variable 'numberRegexp' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): message TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): message TS6132: Variable 'usedLocallyInterface2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): message TS6132: Variable 'dummy' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): message TS6132: Variable 'unusedInterface' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): message TS6132: Variable 'class3' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: Variable 'interface5' has never been used. - - -==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (15 errors) ==== - - function greeter(person: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - } - - class Dummy { - ~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedtypeparameter' has never been used. - private unusedprivatevariable: string; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedprivatevariable' has never been used. - private greeting: string; - public unusedpublicvariable: string; - public typedvariable: usedtypeparameter; - - constructor(message: string) { - var unused2 = 22; - ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. - this.greeting = "Dummy Message"; - } - - public greeter(person: string) { - ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. - var unused = 20; - ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. - this.usedPrivateFunction(); - } - - private usedPrivateFunction() { - } - - private unUsedPrivateFunction() { - ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. - } - } - - var user = "Jane User"; - var user2 = "Jane2 User2"; - - namespace Validation { - export interface StringValidator { - isAcceptable(s: string): boolean; - } - - const lettersRegexp = /^[A-Za-z]+$/; - const numberRegexp = /^[0-9]+$/; - ~~~~~~~~~~~~ -!!! message TS6132: Variable 'numberRegexp' has never been used. - - export class LettersOnlyValidator implements StringValidator { - isAcceptable(s2: string) { - return lettersRegexp.test(s2); - } - - private unUsedPrivateFunction() { - ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. - } - } - - export class ZipCodeValidator implements StringValidator { - isAcceptable(s3: string) { - return s3.length === 5; - } - } - - interface usedLocallyInterface { - } - - interface usedLocallyInterface2 { - ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'usedLocallyInterface2' has never been used. - someFunction(s1: string): void; - } - - export interface exportedInterface { - } - - class dummy implements usedLocallyInterface { - ~~~~~ -!!! message TS6132: Variable 'dummy' has never been used. - } - - interface unusedInterface { - ~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedInterface' has never been used. - } - } - - - namespace Greeter { - class class1 { - } - - export class class2 extends class1 { - } - - class class3 { - ~~~~~~ -!!! message TS6132: Variable 'class3' has never been used. - } - - export class class4 { - } - - interface interface1 { - } - - export interface interface2 extends interface1 { - } - - interface interface3 { - } - - export interface interface4 { - } - - export let a: interface3; - - interface interface5 { - ~~~~~~~~~~ -!!! message TS6132: Variable 'interface5' has never been used. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.js b/tests/baselines/reference/unusedIdentifiersConsolidated1.js deleted file mode 100644 index 521f17bf5ef7e..0000000000000 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.js +++ /dev/null @@ -1,187 +0,0 @@ -//// [unusedIdentifiersConsolidated1.ts] - -function greeter(person: string) { - var unused = 20; -} - -class Dummy { - private unusedprivatevariable: string; - private greeting: string; - public unusedpublicvariable: string; - public typedvariable: usedtypeparameter; - - constructor(message: string) { - var unused2 = 22; - this.greeting = "Dummy Message"; - } - - public greeter(person: string) { - var unused = 20; - this.usedPrivateFunction(); - } - - private usedPrivateFunction() { - } - - private unUsedPrivateFunction() { - } -} - -var user = "Jane User"; -var user2 = "Jane2 User2"; - -namespace Validation { - export interface StringValidator { - isAcceptable(s: string): boolean; - } - - const lettersRegexp = /^[A-Za-z]+$/; - const numberRegexp = /^[0-9]+$/; - - export class LettersOnlyValidator implements StringValidator { - isAcceptable(s2: string) { - return lettersRegexp.test(s2); - } - - private unUsedPrivateFunction() { - } - } - - export class ZipCodeValidator implements StringValidator { - isAcceptable(s3: string) { - return s3.length === 5; - } - } - - interface usedLocallyInterface { - } - - interface usedLocallyInterface2 { - someFunction(s1: string): void; - } - - export interface exportedInterface { - } - - class dummy implements usedLocallyInterface { - } - - interface unusedInterface { - } -} - - -namespace Greeter { - class class1 { - } - - export class class2 extends class1 { - } - - class class3 { - } - - export class class4 { - } - - interface interface1 { - } - - export interface interface2 extends interface1 { - } - - interface interface3 { - } - - export interface interface4 { - } - - export let a: interface3; - - interface interface5 { - } -} - -//// [unusedIdentifiersConsolidated1.js] -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -function greeter(person) { - var unused = 20; -} -var Dummy = (function () { - function Dummy(message) { - var unused2 = 22; - this.greeting = "Dummy Message"; - } - Dummy.prototype.greeter = function (person) { - var unused = 20; - this.usedPrivateFunction(); - }; - Dummy.prototype.usedPrivateFunction = function () { - }; - Dummy.prototype.unUsedPrivateFunction = function () { - }; - return Dummy; -}()); -var user = "Jane User"; -var user2 = "Jane2 User2"; -var Validation; -(function (Validation) { - var lettersRegexp = /^[A-Za-z]+$/; - var numberRegexp = /^[0-9]+$/; - var LettersOnlyValidator = (function () { - function LettersOnlyValidator() { - } - LettersOnlyValidator.prototype.isAcceptable = function (s2) { - return lettersRegexp.test(s2); - }; - LettersOnlyValidator.prototype.unUsedPrivateFunction = function () { - }; - return LettersOnlyValidator; - }()); - Validation.LettersOnlyValidator = LettersOnlyValidator; - var ZipCodeValidator = (function () { - function ZipCodeValidator() { - } - ZipCodeValidator.prototype.isAcceptable = function (s3) { - return s3.length === 5; - }; - return ZipCodeValidator; - }()); - Validation.ZipCodeValidator = ZipCodeValidator; - var dummy = (function () { - function dummy() { - } - return dummy; - }()); -})(Validation || (Validation = {})); -var Greeter; -(function (Greeter) { - var class1 = (function () { - function class1() { - } - return class1; - }()); - var class2 = (function (_super) { - __extends(class2, _super); - function class2() { - _super.apply(this, arguments); - } - return class2; - }(class1)); - Greeter.class2 = class2; - var class3 = (function () { - function class3() { - } - return class3; - }()); - var class4 = (function () { - function class4() { - } - return class4; - }()); - Greeter.class4 = class4; -})(Greeter || (Greeter = {})); diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt new file mode 100644 index 0000000000000..ad829ef8bcbbd --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (2 errors) ==== + + class Dummy { + constructor(person: string, person2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "Dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.js b/tests/baselines/reference/unusedMultipleParameter1InContructor.js new file mode 100644 index 0000000000000..e236ea3d26a09 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.js @@ -0,0 +1,17 @@ +//// [unusedMultipleParameter1InContructor.ts] + +class Dummy { + constructor(person: string, person2: string) { + var unused = 20; + person2 = "Dummy value"; + } +} + +//// [unusedMultipleParameter1InContructor.js] +var Dummy = (function () { + function Dummy(person, person2) { + var unused = 20; + person2 = "Dummy value"; + } + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt new file mode 100644 index 0000000000000..7196273a5c725 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -0,0 +1,19 @@ +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): message TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (3 errors) ==== + + class Dummy { + constructor(person: string, person2: string, person3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person3' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + person2 = "Dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.js b/tests/baselines/reference/unusedMultipleParameter2InContructor.js new file mode 100644 index 0000000000000..8ffd4c3659124 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.js @@ -0,0 +1,17 @@ +//// [unusedMultipleParameter2InContructor.ts] + +class Dummy { + constructor(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; + } +} + +//// [unusedMultipleParameter2InContructor.js] +var Dummy = (function () { + function Dummy(person, person2, person3) { + var unused = 20; + person2 = "Dummy value"; + } + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt new file mode 100644 index 0000000000000..ca4bc497c7559 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): message TS6133: Parameter 'param1' has never been used. + + +==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== + + class greeter { + constructor(param1: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor1.js b/tests/baselines/reference/unusedParametersinConstructor1.js new file mode 100644 index 0000000000000..500d7a45eb2f5 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor1.js @@ -0,0 +1,13 @@ +//// [unusedParametersinConstructor1.ts] + +class greeter { + constructor(param1: string) { + } +} + +//// [unusedParametersinConstructor1.js] +var greeter = (function () { + function greeter(param1) { + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt new file mode 100644 index 0000000000000..282e40b0f68da --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): message TS6133: Parameter 'param1' has never been used. + + +==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== + + class greeter { + constructor(param1: string, param2: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + param2 = param2 + "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.js b/tests/baselines/reference/unusedParametersinConstructor2.js new file mode 100644 index 0000000000000..97bbf21ee0437 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.js @@ -0,0 +1,15 @@ +//// [unusedParametersinConstructor2.ts] + +class greeter { + constructor(param1: string, param2: string) { + param2 = param2 + "dummy value"; + } +} + +//// [unusedParametersinConstructor2.js] +var greeter = (function () { + function greeter(param1, param2) { + param2 = param2 + "dummy value"; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt new file mode 100644 index 0000000000000..29f3685327190 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): message TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): message TS6133: Parameter 'param3' has never been used. + + +==== tests/cases/compiler/unusedParametersinConstructor3.ts (2 errors) ==== + + class greeter { + constructor(param1: string, param2: string, param3: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param1' has never been used. + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'param3' has never been used. + param2 = param2 + "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor3.js b/tests/baselines/reference/unusedParametersinConstructor3.js new file mode 100644 index 0000000000000..06ac99229ac94 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor3.js @@ -0,0 +1,15 @@ +//// [unusedParametersinConstructor3.ts] + +class greeter { + constructor(param1: string, param2: string, param3: string) { + param2 = param2 + "dummy value"; + } +} + +//// [unusedParametersinConstructor3.js] +var greeter = (function () { + function greeter(param1, param2, param3) { + param2 = param2 + "dummy value"; + } + return greeter; +}()); diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt new file mode 100644 index 0000000000000..923a743d224b8 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. + + +==== tests/cases/compiler/unusedSingleParameterInContructor.ts (2 errors) ==== + + class Dummy { + constructor(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.js b/tests/baselines/reference/unusedSingleParameterInContructor.js new file mode 100644 index 0000000000000..172f9e20ab860 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInContructor.js @@ -0,0 +1,15 @@ +//// [unusedSingleParameterInContructor.ts] + +class Dummy { + constructor(person: string) { + var unused = 20; + } +} + +//// [unusedSingleParameterInContructor.js] +var Dummy = (function () { + function Dummy(person) { + var unused = 20; + } + return Dummy; +}()); diff --git a/tests/cases/compiler/unusedMultipleParameter1InContructor.ts b/tests/cases/compiler/unusedMultipleParameter1InContructor.ts new file mode 100644 index 0000000000000..b9565cafca62a --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter1InContructor.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + constructor(person: string, person2: string) { + var unused = 20; + person2 = "Dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMultipleParameter2InContructor.ts b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts new file mode 100644 index 0000000000000..34d54c714af6f --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + constructor(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor1.ts b/tests/cases/compiler/unusedParametersinConstructor1.ts new file mode 100644 index 0000000000000..421636d661b74 --- /dev/null +++ b/tests/cases/compiler/unusedParametersinConstructor1.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor(param1: string) { + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor2.ts b/tests/cases/compiler/unusedParametersinConstructor2.ts new file mode 100644 index 0000000000000..d6812f438c598 --- /dev/null +++ b/tests/cases/compiler/unusedParametersinConstructor2.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor(param1: string, param2: string) { + param2 = param2 + "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersinConstructor3.ts b/tests/cases/compiler/unusedParametersinConstructor3.ts new file mode 100644 index 0000000000000..e6295cd49fadf --- /dev/null +++ b/tests/cases/compiler/unusedParametersinConstructor3.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class greeter { + constructor(param1: string, param2: string, param3: string) { + param2 = param2 + "dummy value"; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSingleParameterInContructor.ts b/tests/cases/compiler/unusedSingleParameterInContructor.ts new file mode 100644 index 0000000000000..0f8f756fb48e4 --- /dev/null +++ b/tests/cases/compiler/unusedSingleParameterInContructor.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Dummy { + constructor(person: string) { + var unused = 20; + } +} \ No newline at end of file From f5cdc9c39ecf8669d4ca08595c3942f4797b2e0a Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 13:09:42 -0700 Subject: [PATCH 18/38] Fixing the consolidated case --- .../unusedIdentifiersConsolidated1.errors.txt | 153 ++++++++++++++ .../unusedIdentifiersConsolidated1.js | 187 ++++++++++++++++++ 2 files changed, 340 insertions(+) create mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt create mode 100644 tests/baselines/reference/unusedIdentifiersConsolidated1.js diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt new file mode 100644 index 0000000000000..27ec7d90821da --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -0,0 +1,153 @@ +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): message TS6132: Variable 'unusedtypeparameter' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): message TS6132: Variable 'unusedprivatevariable' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): message TS6133: Parameter 'message' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): message TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): message TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): message TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): message TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): message TS6132: Variable 'usedLocallyInterface2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): message TS6132: Variable 'dummy' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): message TS6132: Variable 'unusedInterface' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): message TS6132: Variable 'class3' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: Variable 'interface5' has never been used. + + +==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== + + function greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + } + + class Dummy { + ~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedtypeparameter' has never been used. + private unusedprivatevariable: string; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedprivatevariable' has never been used. + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + ~~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'message' has never been used. + var unused2 = 22; + ~~~~~~~ +!!! message TS6132: Variable 'unused2' has never been used. + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + ~~~~~~~~~~~~~~ +!!! message TS6133: Parameter 'person' has never been used. + var unused = 20; + ~~~~~~ +!!! message TS6132: Variable 'unused' has never been used. + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. + } + } + + var user = "Jane User"; + var user2 = "Jane2 User2"; + + namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! message TS6132: Variable 'numberRegexp' has never been used. + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + ~~~~~~~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'usedLocallyInterface2' has never been used. + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + ~~~~~ +!!! message TS6132: Variable 'dummy' has never been used. + } + + interface unusedInterface { + ~~~~~~~~~~~~~~~ +!!! message TS6132: Variable 'unusedInterface' has never been used. + } + } + + + namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + ~~~~~~ +!!! message TS6132: Variable 'class3' has never been used. + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + ~~~~~~~~~~ +!!! message TS6132: Variable 'interface5' has never been used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.js b/tests/baselines/reference/unusedIdentifiersConsolidated1.js new file mode 100644 index 0000000000000..521f17bf5ef7e --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.js @@ -0,0 +1,187 @@ +//// [unusedIdentifiersConsolidated1.ts] + +function greeter(person: string) { + var unused = 20; +} + +class Dummy { + private unusedprivatevariable: string; + private greeting: string; + public unusedpublicvariable: string; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + var unused = 20; + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + } +} + +var user = "Jane User"; +var user2 = "Jane2 User2"; + +namespace Validation { + export interface StringValidator { + isAcceptable(s: string): boolean; + } + + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + } + + interface unusedInterface { + } +} + + +namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + } +} + +//// [unusedIdentifiersConsolidated1.js] +var __extends = (this && this.__extends) || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +}; +function greeter(person) { + var unused = 20; +} +var Dummy = (function () { + function Dummy(message) { + var unused2 = 22; + this.greeting = "Dummy Message"; + } + Dummy.prototype.greeter = function (person) { + var unused = 20; + this.usedPrivateFunction(); + }; + Dummy.prototype.usedPrivateFunction = function () { + }; + Dummy.prototype.unUsedPrivateFunction = function () { + }; + return Dummy; +}()); +var user = "Jane User"; +var user2 = "Jane2 User2"; +var Validation; +(function (Validation) { + var lettersRegexp = /^[A-Za-z]+$/; + var numberRegexp = /^[0-9]+$/; + var LettersOnlyValidator = (function () { + function LettersOnlyValidator() { + } + LettersOnlyValidator.prototype.isAcceptable = function (s2) { + return lettersRegexp.test(s2); + }; + LettersOnlyValidator.prototype.unUsedPrivateFunction = function () { + }; + return LettersOnlyValidator; + }()); + Validation.LettersOnlyValidator = LettersOnlyValidator; + var ZipCodeValidator = (function () { + function ZipCodeValidator() { + } + ZipCodeValidator.prototype.isAcceptable = function (s3) { + return s3.length === 5; + }; + return ZipCodeValidator; + }()); + Validation.ZipCodeValidator = ZipCodeValidator; + var dummy = (function () { + function dummy() { + } + return dummy; + }()); +})(Validation || (Validation = {})); +var Greeter; +(function (Greeter) { + var class1 = (function () { + function class1() { + } + return class1; + }()); + var class2 = (function (_super) { + __extends(class2, _super); + function class2() { + _super.apply(this, arguments); + } + return class2; + }(class1)); + Greeter.class2 = class2; + var class3 = (function () { + function class3() { + } + return class3; + }()); + var class4 = (function () { + function class4() { + } + return class4; + }()); + Greeter.class4 = class4; +})(Greeter || (Greeter = {})); From 8c3c7b1309300d4197b36ab05c695bff1ed36ba8 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 13:30:57 -0700 Subject: [PATCH 19/38] Changed logic to search for private instead of public --- src/compiler/checker.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0c46778135fe1..4b40d3e4deb6a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14235,7 +14235,7 @@ namespace ts { if (hasProperty(node.locals, key) && !node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { if (node.locals[key].valueDeclaration.modifiers) { - if (!checkModifiersForPublicAccess(node.locals[key].valueDeclaration.modifiers)) { + if (checkModifiersForPrivateAccess(node.locals[key].valueDeclaration.modifiers)) { error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); } } else { @@ -14293,9 +14293,9 @@ namespace ts { return false; } - function checkModifiersForPublicAccess(modifiers: ModifiersArray): boolean { + function checkModifiersForPrivateAccess(modifiers: ModifiersArray): boolean { for (let i = 0; i < modifiers.length; i++) { - if (modifiers[i].kind === SyntaxKind.PublicKeyword) { + if (modifiers[i].kind === SyntaxKind.PrivateKeyword) { return true; } } From dfad7cc388478b4468268c004c7e2899fde555f3 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 15:57:32 -0700 Subject: [PATCH 20/38] Response to PR Comments --- src/compiler/checker.ts | 21 +++--- src/compiler/commandLineParser.ts | 4 +- src/compiler/diagnosticMessages.json | 12 +++- .../unusedClassesinNamespace1.errors.txt | 4 +- .../unusedClassesinNamespace2.errors.txt | 4 +- .../unusedClassesinNamespace4.errors.txt | 4 +- .../unusedClassesinNamespace5.errors.txt | 4 +- .../unusedFunctionsinNamespaces1.errors.txt | 4 +- .../unusedFunctionsinNamespaces2.errors.txt | 4 +- .../unusedFunctionsinNamespaces3.errors.txt | 8 +-- .../unusedFunctionsinNamespaces4.errors.txt | 4 +- .../unusedFunctionsinNamespaces5.errors.txt | 8 +-- .../unusedFunctionsinNamespaces6.errors.txt | 4 +- .../unusedIdentifiersConsolidated1.errors.txt | 64 +++++++++---------- .../unusedInterfaceinNamespace1.errors.txt | 4 +- .../unusedInterfaceinNamespace2.errors.txt | 4 +- .../unusedInterfaceinNamespace3.errors.txt | 4 +- .../unusedLocalsInMethod1.errors.txt | 4 +- .../unusedLocalsInMethod2.errors.txt | 4 +- .../unusedLocalsInMethod3.errors.txt | 4 +- ...ationWithinFunctionDeclaration1.errors.txt | 20 +++--- ...ationWithinFunctionDeclaration2.errors.txt | 28 ++++---- ...rationWithinFunctionExpression1.errors.txt | 20 +++--- ...rationWithinFunctionExpression2.errors.txt | 28 ++++---- ...ssionWithinFunctionDeclaration1.errors.txt | 20 +++--- ...ssionWithinFunctionDeclaration2.errors.txt | 28 ++++---- ...essionWithinFunctionExpression1.errors.txt | 20 +++--- ...essionWithinFunctionExpression2.errors.txt | 28 ++++---- .../unusedLocalsinConstructor1.errors.txt | 4 +- .../unusedLocalsinConstructor2.errors.txt | 4 +- ...dMultipleParameter1InContructor.errors.txt | 8 +-- ...eParameter1InFunctionExpression.errors.txt | 8 +-- ...dMultipleParameter2InContructor.errors.txt | 12 ++-- ...eParameter2InFunctionExpression.errors.txt | 12 ++-- ...arameters1InFunctionDeclaration.errors.txt | 8 +-- ...eParameters1InMethodDeclaration.errors.txt | 8 +-- ...arameters2InFunctionDeclaration.errors.txt | 12 ++-- ...eParameters2InMethodDeclaration.errors.txt | 12 ++-- .../unusedParametersinConstructor1.errors.txt | 4 +- .../unusedParametersinConstructor2.errors.txt | 4 +- .../unusedParametersinConstructor3.errors.txt | 8 +-- .../unusedPrivateMethodInClass1.errors.txt | 4 +- .../unusedPrivateMethodInClass2.errors.txt | 8 +-- .../unusedPrivateMethodInClass3.errors.txt | 8 +-- .../unusedPrivateMethodInClass4.errors.txt | 4 +- .../unusedPrivateVariableInClass1.errors.txt | 4 +- .../unusedPrivateVariableInClass2.errors.txt | 8 +-- .../unusedPrivateVariableInClass3.errors.txt | 8 +-- .../unusedPrivateVariableInClass4.errors.txt | 4 +- .../unusedPrivateVariableInClass5.errors.txt | 4 +- ...usedSingleParameterInContructor.errors.txt | 8 +-- ...eParameterInFunctionDeclaration.errors.txt | 8 +-- ...leParameterInFunctionExpression.errors.txt | 8 +-- ...gleParameterInMethodDeclaration.errors.txt | 8 +-- .../unusedTypeParameters1.errors.txt | 4 +- .../unusedTypeParameters2.errors.txt | 4 +- .../unusedTypeParameters3.errors.txt | 8 +-- .../unusedVariablesinNamespaces1.errors.txt | 4 +- .../unusedVariablesinNamespaces2.errors.txt | 4 +- .../unusedVariablesinNamespaces3.errors.txt | 4 +- 60 files changed, 292 insertions(+), 289 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4b40d3e4deb6a..98441867cf3d2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -44,7 +44,6 @@ namespace ts { let typeCount = 0; let symbolCount = 0; - let isSourceFileADefinitionFile = false; const emptyArray: any[] = []; const emptySymbols: SymbolTable = {}; @@ -8122,7 +8121,7 @@ namespace ts { function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); - if (symbol && !isSourceFileADefinitionFile) { + if (symbol && !isInAmbientContext(node)) { symbol.hasReference = true; } @@ -14208,17 +14207,13 @@ namespace ts { } } - function checkSourceFileADefinitionFile(node: Node): boolean { - return /\.d\.ts$/.test(getSourceFileOfNode(node).fileName); - } - function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { checkUnusedIdentifiers(node); checkUnusedParameters(node); } function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { - if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind !== SyntaxKind.Parameter) { @@ -14230,7 +14225,7 @@ namespace ts { } function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { - if (compilerOptions.noUnusedParameters && !isSourceFileADefinitionFile) { + if (compilerOptions.noUnusedParameters && !isInAmbientContext(node)) { for (const key in node.locals) { if (hasProperty(node.locals, key) && !node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { @@ -14238,9 +14233,10 @@ namespace ts { if (checkModifiersForPrivateAccess(node.locals[key].valueDeclaration.modifiers)) { error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); } - } else { + } + else { error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); - } + } } } } @@ -14248,7 +14244,7 @@ namespace ts { } function checkUnusedModulePrivates(node: ModuleDeclaration): void { - if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { if (hasProperty(node.locals, key) && !node.locals[key].hasReference && !node.locals[key].exportSymbol) { if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind)) { @@ -14263,7 +14259,7 @@ namespace ts { } function checkUnusedPrivates(node: ClassDeclaration): void { - if (compilerOptions.noUnusedLocals && !isSourceFileADefinitionFile) { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (let i = 0; node.members && i < node.members.length; i++) { switch (node.members[i].kind) { case SyntaxKind.MethodDeclaration: @@ -16661,7 +16657,6 @@ namespace ts { function checkSourceFile(node: SourceFile) { const start = new Date().getTime(); - isSourceFileADefinitionFile = checkSourceFileADefinitionFile(node); checkSourceFileWorker(node); checkTime += new Date().getTime() - start; diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index f5b1fe3b48358..d388fa38c5dd4 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -135,12 +135,12 @@ namespace ts { { name: "noUnusedLocals", type: "boolean", - description: Diagnostics.Variable_0_has_never_been_used, + description: Diagnostics.Report_Errors_on_Unused_Locals, }, { name: "noUnusedParameters", type: "boolean", - description: Diagnostics.Parameter_0_has_never_been_used + description: Diagnostics.Report_Errors_on_Unused_Parameters }, { name: "noLib", diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 4462e2b3832fb..c61c7a81983f2 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2773,13 +2773,21 @@ "code": 6131 }, "Variable '{0}' has never been used.": { - "category": "Message", + "category": "Error", "code": 6132 }, "Parameter '{0}' has never been used.": { - "category": "Message", + "category": "Error", "code": 6133 }, + "Report Errors on Unused Locals.": { + "category": "Message", + "code": 6134 + }, + "Report Errors on Unused Parameters.": { + "category": "Message", + "code": 6135 + }, "Variable '{0}' implicitly has an '{1}' type.": { "category": "Error", diff --git a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt index eea58a29d7ff3..8f1a90233f7a8 100644 --- a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): message TS6132: Variable 'c1' has never been used. +tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6132: Variable 'c1' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): message TS6132: Variabl namespace Validation { class c1 { ~~ -!!! message TS6132: Variable 'c1' has never been used. +!!! error TS6132: Variable 'c1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt index b3520e3047395..e818568378873 100644 --- a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): message TS6132: Variable 'c1' has never been used. +tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6132: Variable 'c1' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): message TS6132: Variabl namespace Validation { class c1 { ~~ -!!! message TS6132: Variable 'c1' has never been used. +!!! error TS6132: Variable 'c1' has never been used. } diff --git a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt index bd4f46bbd6484..4553f2b3fa1dc 100644 --- a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): message TS6132: Variable 'c3' has never been used. +tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6132: Variable 'c3' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): message TS6132: Variab class c3 extends c1 { ~~ -!!! message TS6132: Variable 'c3' has never been used. +!!! error TS6132: Variable 'c3' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt index 81cbad6e11515..ce1eb4f578b32 100644 --- a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): message TS6132: Variable 'c3' has never been used. +tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6132: Variable 'c3' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): message TS6132: Variab class c3 { ~~ -!!! message TS6132: Variable 'c3' has never been used. +!!! error TS6132: Variable 'c3' has never been used. public x: c1; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt index 6f02e5c2f9f8c..bfb24d043f7fe 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6132: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces1.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): message TS6132: Vari namespace Validation { function function1() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt index e956ea08a03c2..dc5fdd1740b3e 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6132: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces2.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): message TS6132: Varia namespace Validation { var function1 = function() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt index d375fb6026204..8ba79b408d48d 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): message TS6132: Variable 'function1' has never been used. -tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): message TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6133: Parameter 'param1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces3.ts (2 errors) ==== @@ -7,8 +7,8 @@ tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): message TS6133: Para namespace Validation { var function1 = function(param1:string) { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. +!!! error TS6133: Parameter 'param1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt index f4bccdd6df609..1fce88371d999 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6132: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): message TS6132: Varia namespace Validation { var function1 = function() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. } export function function2() { diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt index 5f76bec8356c8..30da9d7227e6a 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): message TS6132: Variable 'function3' has never been used. -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): message TS6132: Variable 'function4' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): error TS6132: Variable 'function3' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6132: Variable 'function4' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces5.ts (2 errors) ==== @@ -14,13 +14,13 @@ tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): message TS6132: Var function function3() { ~~~~~~~~~ -!!! message TS6132: Variable 'function3' has never been used. +!!! error TS6132: Variable 'function3' has never been used. function1(); } function function4() { ~~~~~~~~~ -!!! message TS6132: Variable 'function4' has never been used. +!!! error TS6132: Variable 'function4' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt index 08dc040017d71..470dba934d9e4 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): message TS6132: Variable 'function4' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6132: Variable 'function4' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces6.ts (1 errors) ==== @@ -17,7 +17,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): message TS6132: Var function function4() { ~~~~~~~~~ -!!! message TS6132: Variable 'function4' has never been used. +!!! error TS6132: Variable 'function4' has never been used. } diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt index 27ec7d90821da..d9ada7955c49a 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -1,56 +1,56 @@ -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): message TS6132: Variable 'unusedtypeparameter' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): message TS6132: Variable 'unusedprivatevariable' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): message TS6133: Parameter 'message' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): message TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): message TS6132: Variable 'numberRegexp' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): message TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): message TS6132: Variable 'usedLocallyInterface2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): message TS6132: Variable 'dummy' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): message TS6132: Variable 'unusedInterface' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): message TS6132: Variable 'class3' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: Variable 'interface5' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): error TS6132: Variable 'unusedtypeparameter' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): error TS6132: Variable 'unusedprivatevariable' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): error TS6133: Parameter 'message' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): error TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): error TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): error TS6132: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): error TS6132: Variable 'usedLocallyInterface2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): error TS6132: Variable 'dummy' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): error TS6132: Variable 'unusedInterface' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): error TS6132: Variable 'class3' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Variable 'interface5' has never been used. ==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== function greeter(person: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. } class Dummy { ~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedtypeparameter' has never been used. +!!! error TS6132: Variable 'unusedtypeparameter' has never been used. private unusedprivatevariable: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedprivatevariable' has never been used. +!!! error TS6132: Variable 'unusedprivatevariable' has never been used. private greeting: string; public unusedpublicvariable: string; public typedvariable: usedtypeparameter; constructor(message: string) { ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'message' has never been used. +!!! error TS6133: Parameter 'message' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. this.greeting = "Dummy Message"; } public greeter(person: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. this.usedPrivateFunction(); } @@ -59,7 +59,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: private unUsedPrivateFunction() { ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. +!!! error TS6132: Variable 'unUsedPrivateFunction' has never been used. } } @@ -74,7 +74,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! message TS6132: Variable 'numberRegexp' has never been used. +!!! error TS6132: Variable 'numberRegexp' has never been used. export class LettersOnlyValidator implements StringValidator { isAcceptable(s2: string) { @@ -83,7 +83,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: private unUsedPrivateFunction() { ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unUsedPrivateFunction' has never been used. +!!! error TS6132: Variable 'unUsedPrivateFunction' has never been used. } } @@ -98,7 +98,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: interface usedLocallyInterface2 { ~~~~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'usedLocallyInterface2' has never been used. +!!! error TS6132: Variable 'usedLocallyInterface2' has never been used. someFunction(s1: string): void; } @@ -107,12 +107,12 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: class dummy implements usedLocallyInterface { ~~~~~ -!!! message TS6132: Variable 'dummy' has never been used. +!!! error TS6132: Variable 'dummy' has never been used. } interface unusedInterface { ~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'unusedInterface' has never been used. +!!! error TS6132: Variable 'unusedInterface' has never been used. } } @@ -126,7 +126,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: class class3 { ~~~~~~ -!!! message TS6132: Variable 'class3' has never been used. +!!! error TS6132: Variable 'class3' has never been used. } export class class4 { @@ -148,6 +148,6 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): message TS6132: interface interface5 { ~~~~~~~~~~ -!!! message TS6132: Variable 'interface5' has never been used. +!!! error TS6132: Variable 'interface5' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt index fb56fe108ec3d..18cd225212777 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): message TS6132: Variable 'i1' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6132: Variable 'i1' has never been used. ==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): message TS6132: Varia namespace Validation { interface i1 { ~~ -!!! message TS6132: Variable 'i1' has never been used. +!!! error TS6132: Variable 'i1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt index 0ec233548818b..8df7aa310eb8a 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): message TS6132: Variable 'i1' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6132: Variable 'i1' has never been used. ==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): message TS6132: Varia namespace Validation { interface i1 { ~~ -!!! message TS6132: Variable 'i1' has never been used. +!!! error TS6132: Variable 'i1' has never been used. } diff --git a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt index 7f6abaa11b070..5d33e1cae70d2 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): message TS6132: Variable 'i3' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6132: Variable 'i3' has never been used. ==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): message TS6132: Vari interface i3 extends i1 { ~~ -!!! message TS6132: Variable 'i3' has never been used. +!!! error TS6132: Variable 'i3' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt index 2e6c31edd4ce1..e3423d57c5e95 100644 --- a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): message TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6132: Variable 'x' has never been used. ==== tests/cases/compiler/unusedLocalsInMethod1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): message TS6132: Variable 'x public function1() { var x = 10; ~ -!!! message TS6132: Variable 'x' has never been used. +!!! error TS6132: Variable 'x' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt index 104700882aa15..f990d97bfd34d 100644 --- a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): message TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6132: Variable 'x' has never been used. ==== tests/cases/compiler/unusedLocalsInMethod2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): message TS6132: Variable 'x public function1() { var x, y = 10; ~ -!!! message TS6132: Variable 'x' has never been used. +!!! error TS6132: Variable 'x' has never been used. y++; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt index 4859b2256e00e..fd869922678e4 100644 --- a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): message TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6132: Variable 'x' has never been used. ==== tests/cases/compiler/unusedLocalsInMethod3.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): message TS6132: Variable 'x public function1() { var x, y; ~ -!!! message TS6132: Variable 'x' has never been used. +!!! error TS6132: Variable 'x' has never been used. y = 1; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt index 36281a919089a..5347d79da2e4c 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): error TS6132: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt index cb4521998e850..1beab8f93d50d 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): message TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): message TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): error TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): error TS6132: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } function maker2(child2: string): void { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child2' has never been used. +!!! error TS6133: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! message TS6132: Variable 'unused3' has never been used. +!!! error TS6132: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt index 509e83e8c624d..dd3736acb1fe7 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): error TS6132: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt index 10610f397fc59..54a871430783a 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): message TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): message TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): error TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): error TS6132: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } function maker2(child2: string): void { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child2' has never been used. +!!! error TS6133: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! message TS6132: Variable 'unused3' has never been used. +!!! error TS6132: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt index 4265702a17c05..4bdb2ea988b25 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): error TS6132: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. var maker = function (child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt index 586dab0eb0aed..47d757fa9a625 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): message TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): message TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): error TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): error TS6132: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. var maker = function(child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } var maker2 = function(child2: string): void { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child2' has never been used. +!!! error TS6133: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! message TS6132: Variable 'unused3' has never been used. +!!! error TS6132: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt index 86a461ce6c781..fb9a59d151cf5 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): message TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): error TS6132: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. var maker = function (child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt index ce78a2fb1839e..4af157ffc3d3e 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): message TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): message TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): message TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): message TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): message TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): message TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): error TS6132: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): error TS6133: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): error TS6133: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): error TS6132: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. var maker = function (child: string): void { ~~~~~ -!!! message TS6132: Variable 'maker' has never been used. +!!! error TS6132: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child' has never been used. +!!! error TS6133: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! message TS6132: Variable 'unused2' has never been used. +!!! error TS6132: Variable 'unused2' has never been used. } var maker2 = function (child2: string): void { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'child2' has never been used. +!!! error TS6133: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! message TS6132: Variable 'unused3' has never been used. +!!! error TS6132: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt index aea22dceeb356..dfab136e6a5db 100644 --- a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedLocalsinConstructor1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): message TS6132: Variab constructor() { var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt index 7eced3493f7f3..e150e39f8bbb9 100644 --- a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedLocalsinConstructor2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): message TS6132: Variab constructor() { var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. var used = "dummy"; used = used + "second part"; } diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt index ad829ef8bcbbd..d98ec7d187a4f 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (2 errors) ==== @@ -7,10 +7,10 @@ tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): message TS61 class Dummy { constructor(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "Dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt index 97e152e96fe34..6eaf329566a22 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts (2 errors) ==== var func = function(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "Dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt index 7196273a5c725..fe2ffc2a3c277 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): message TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): error TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (3 errors) ==== @@ -8,12 +8,12 @@ tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): message TS61 class Dummy { constructor(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person3' has never been used. +!!! error TS6133: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "Dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt index ddf63a22146f8..939dd2c6beecd 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -1,17 +1,17 @@ -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): message TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): error TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts (3 errors) ==== var func = function(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person3' has never been used. +!!! error TS6133: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "Dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt index 61a1864318235..722a9294c98bc 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts (2 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt index 7037ef6423a64..3a767b5436d41 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts (2 errors) ==== @@ -7,10 +7,10 @@ tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): mess class Dummy { public greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt index 83594231e532f..8287c68183250 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -1,17 +1,17 @@ -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): message TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): error TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts (3 errors) ==== function greeter(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person3' has never been used. +!!! error TS6133: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt index 27f4db42d7c94..fd9dd4bf802de 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): message TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): error TS6133: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts (3 errors) ==== @@ -8,12 +8,12 @@ tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): mess class Dummy { public greeter(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person3' has never been used. +!!! error TS6133: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. person2 = "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt index ca4bc497c7559..aeb2bdd402cf0 100644 --- a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): message TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6133: Parameter 'param1' has never been used. ==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): message TS6133: Pa class greeter { constructor(param1: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. +!!! error TS6133: Parameter 'param1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt index 282e40b0f68da..1b0ac945c8607 100644 --- a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): message TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6133: Parameter 'param1' has never been used. ==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): message TS6133: Pa class greeter { constructor(param1: string, param2: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. +!!! error TS6133: Parameter 'param1' has never been used. param2 = param2 + "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt index 29f3685327190..5209fc59e1d1c 100644 --- a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): message TS6133: Parameter 'param1' has never been used. -tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): message TS6133: Parameter 'param3' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): error TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6133: Parameter 'param3' has never been used. ==== tests/cases/compiler/unusedParametersinConstructor3.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): message TS6133: Pa class greeter { constructor(param1: string, param2: string, param3: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param1' has never been used. +!!! error TS6133: Parameter 'param1' has never been used. ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'param3' has never been used. +!!! error TS6133: Parameter 'param3' has never been used. param2 = param2 + "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt index f426aac6cc939..c6ff8c0d35d16 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6132: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): message TS6132: Varia class greeter { private function1() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt index 605458197d1da..d23f0ea4ed80b 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): message TS6132: Variable 'function1' has never been used. -tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): message TS6132: Variable 'function2' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6132: Variable 'function2' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass2.ts (2 errors) ==== @@ -7,14 +7,14 @@ tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): message TS6132: Varia class greeter { private function1() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. var y = 10; y++; } private function2() { ~~~~~~~~~ -!!! message TS6132: Variable 'function2' has never been used. +!!! error TS6132: Variable 'function2' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt index e25cd2b61bf56..6a91e1bf86824 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): message TS6132: Variable 'function1' has never been used. -tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): message TS6132: Variable 'function2' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6132: Variable 'function2' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass3.ts (2 errors) ==== @@ -7,14 +7,14 @@ tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): message TS6132: Varia class greeter { private function1() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. var y = 10; y++; } private function2() { ~~~~~~~~~ -!!! message TS6132: Variable 'function2' has never been used. +!!! error TS6132: Variable 'function2' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt index 1c2796e37717d..f8e1e7974c43c 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): message TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6132: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): message TS6132: Varia class greeter { private function1() { ~~~~~~~~~ -!!! message TS6132: Variable 'function1' has never been used. +!!! error TS6132: Variable 'function1' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt index 1be4db39e31d4..8a0cde20b16b2 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): message TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6132: Variable 'x' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass1.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): message TS6132: Vari class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'x' has never been used. +!!! error TS6132: Variable 'x' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt index bc5772507ef52..d43c82a744091 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): message TS6132: Variable 'x' has never been used. -tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): message TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): error TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6132: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass2.ts (2 errors) ==== @@ -7,8 +7,8 @@ tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): message TS6132: Vari class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'x' has never been used. +!!! error TS6132: Variable 'x' has never been used. private y: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'y' has never been used. +!!! error TS6132: Variable 'y' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt index c63294bb6e12e..88086ce5400c5 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): message TS6132: Variable 'x' has never been used. -tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): message TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): error TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6132: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass3.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): message TS6132: Vari class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'x' has never been used. +!!! error TS6132: Variable 'x' has never been used. private y: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'y' has never been used. +!!! error TS6132: Variable 'y' has never been used. public z: string; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt index 65edb89ef0cf7..fac8a5f181542 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): message TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6132: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass4.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): message TS6132: Vari private x: string; private y: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'y' has never been used. +!!! error TS6132: Variable 'y' has never been used. public z: string; public method1() { diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt index eb056fc446049..7bca524abe3cd 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): message TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6132: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass5.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): message TS6132: Vari private x: string; private y: string; ~~~~~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'y' has never been used. +!!! error TS6132: Variable 'y' has never been used. public z: string; constructor() { diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt index 923a743d224b8..eff1706fa3d5f 100644 --- a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInContructor.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): message TS6132: class Dummy { constructor(person: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt index 0e8e7598f122b..4ebd5831afe02 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts (2 errors) ==== function greeter(person: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt index a614b0058c8ce..32fd26c5e41de 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts (2 errors) ==== var func = function(person: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt index b34d8a9bfc5db..9de8d178b2317 100644 --- a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): message TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): message TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): error TS6133: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS6132: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): message class Dummy { public greeter(person: string) { ~~~~~~~~~~~~~~ -!!! message TS6133: Parameter 'person' has never been used. +!!! error TS6133: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! message TS6132: Variable 'unused' has never been used. +!!! error TS6132: Variable 'unused' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters1.errors.txt b/tests/baselines/reference/unusedTypeParameters1.errors.txt index c00d0b072e8b3..df131943498ed 100644 --- a/tests/baselines/reference/unusedTypeParameters1.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedTypeParameters1.ts(2,15): message TS6132: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters1.ts(2,15): error TS6132: Variable 'typeparameter1' has never been used. ==== tests/cases/compiler/unusedTypeParameters1.ts (1 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'typeparameter1' has never been used. +!!! error TS6132: Variable 'typeparameter1' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters2.errors.txt b/tests/baselines/reference/unusedTypeParameters2.errors.txt index af6192260c31f..1938df8431807 100644 --- a/tests/baselines/reference/unusedTypeParameters2.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters2.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/unusedTypeParameters2.ts(2,15): message TS6132: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters2.ts(2,15): error TS6132: Variable 'typeparameter1' has never been used. ==== tests/cases/compiler/unusedTypeParameters2.ts (1 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'typeparameter1' has never been used. +!!! error TS6132: Variable 'typeparameter1' has never been used. private x: typeparameter2; public function1() { diff --git a/tests/baselines/reference/unusedTypeParameters3.errors.txt b/tests/baselines/reference/unusedTypeParameters3.errors.txt index 2f74d3f53dfd4..ff3e4bf3d575b 100644 --- a/tests/baselines/reference/unusedTypeParameters3.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters3.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedTypeParameters3.ts(2,15): message TS6132: Variable 'typeparameter1' has never been used. -tests/cases/compiler/unusedTypeParameters3.ts(2,47): message TS6132: Variable 'typeparameter3' has never been used. +tests/cases/compiler/unusedTypeParameters3.ts(2,15): error TS6132: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters3.ts(2,47): error TS6132: Variable 'typeparameter3' has never been used. ==== tests/cases/compiler/unusedTypeParameters3.ts (2 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'typeparameter1' has never been used. +!!! error TS6132: Variable 'typeparameter1' has never been used. ~~~~~~~~~~~~~~ -!!! message TS6132: Variable 'typeparameter3' has never been used. +!!! error TS6132: Variable 'typeparameter3' has never been used. private x: typeparameter2; public function1() { diff --git a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt index 460a06ef91558..f311e02928b94 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): message TS6132: Variable 'lettersRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6132: Variable 'lettersRegexp' has never been used. ==== tests/cases/compiler/unusedVariablesinNamespaces1.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): message TS6132: Vari namespace Validation { const lettersRegexp = /^[A-Za-z]+$/; ~~~~~~~~~~~~~ -!!! message TS6132: Variable 'lettersRegexp' has never been used. +!!! error TS6132: Variable 'lettersRegexp' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt index f175e709bcd39..01c30549f6762 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): message TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6132: Variable 'numberRegexp' has never been used. ==== tests/cases/compiler/unusedVariablesinNamespaces2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): message TS6132: Vari const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! message TS6132: Variable 'numberRegexp' has never been used. +!!! error TS6132: Variable 'numberRegexp' has never been used. export class LettersOnlyValidator { isAcceptable(s2: string) { diff --git a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt index e9ab2418904d8..0c0d7b3ceaf21 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): message TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6132: Variable 'numberRegexp' has never been used. ==== tests/cases/compiler/unusedVariablesinNamespaces3.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): message TS6132: Vari const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! message TS6132: Variable 'numberRegexp' has never been used. +!!! error TS6132: Variable 'numberRegexp' has never been used. export const anotherUnusedVariable = "Dummy value"; export class LettersOnlyValidator { From 6a711bc261b65b217486f749e4c822997e17ff25 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 16:56:05 -0700 Subject: [PATCH 21/38] Changed the error code in test cases as result of merge with master --- .../unusedClassesinNamespace1.errors.txt | 4 +- .../unusedClassesinNamespace2.errors.txt | 4 +- .../unusedClassesinNamespace4.errors.txt | 4 +- .../unusedClassesinNamespace5.errors.txt | 4 +- .../unusedFunctionsinNamespaces1.errors.txt | 4 +- .../unusedFunctionsinNamespaces2.errors.txt | 4 +- .../unusedFunctionsinNamespaces3.errors.txt | 8 +-- .../unusedFunctionsinNamespaces4.errors.txt | 4 +- .../unusedFunctionsinNamespaces5.errors.txt | 8 +-- .../unusedFunctionsinNamespaces6.errors.txt | 4 +- .../unusedIdentifiersConsolidated1.errors.txt | 64 +++++++++---------- .../unusedInterfaceinNamespace1.errors.txt | 4 +- .../unusedInterfaceinNamespace2.errors.txt | 4 +- .../unusedInterfaceinNamespace3.errors.txt | 4 +- .../unusedLocalsInMethod1.errors.txt | 4 +- .../unusedLocalsInMethod2.errors.txt | 4 +- .../unusedLocalsInMethod3.errors.txt | 4 +- ...ationWithinFunctionDeclaration1.errors.txt | 20 +++--- ...ationWithinFunctionDeclaration2.errors.txt | 28 ++++---- ...rationWithinFunctionExpression1.errors.txt | 20 +++--- ...rationWithinFunctionExpression2.errors.txt | 28 ++++---- ...ssionWithinFunctionDeclaration1.errors.txt | 20 +++--- ...ssionWithinFunctionDeclaration2.errors.txt | 28 ++++---- ...essionWithinFunctionExpression1.errors.txt | 20 +++--- ...essionWithinFunctionExpression2.errors.txt | 28 ++++---- .../unusedLocalsinConstructor1.errors.txt | 4 +- .../unusedLocalsinConstructor2.errors.txt | 4 +- ...dMultipleParameter1InContructor.errors.txt | 8 +-- ...eParameter1InFunctionExpression.errors.txt | 8 +-- ...dMultipleParameter2InContructor.errors.txt | 12 ++-- ...eParameter2InFunctionExpression.errors.txt | 12 ++-- ...arameters1InFunctionDeclaration.errors.txt | 8 +-- ...eParameters1InMethodDeclaration.errors.txt | 8 +-- ...arameters2InFunctionDeclaration.errors.txt | 12 ++-- ...eParameters2InMethodDeclaration.errors.txt | 12 ++-- .../unusedParametersinConstructor1.errors.txt | 4 +- .../unusedParametersinConstructor2.errors.txt | 4 +- .../unusedParametersinConstructor3.errors.txt | 8 +-- .../unusedPrivateMethodInClass1.errors.txt | 4 +- .../unusedPrivateMethodInClass2.errors.txt | 8 +-- .../unusedPrivateMethodInClass3.errors.txt | 8 +-- .../unusedPrivateMethodInClass4.errors.txt | 4 +- .../unusedPrivateVariableInClass1.errors.txt | 4 +- .../unusedPrivateVariableInClass2.errors.txt | 8 +-- .../unusedPrivateVariableInClass3.errors.txt | 8 +-- .../unusedPrivateVariableInClass4.errors.txt | 4 +- .../unusedPrivateVariableInClass5.errors.txt | 4 +- ...usedSingleParameterInContructor.errors.txt | 8 +-- ...eParameterInFunctionDeclaration.errors.txt | 8 +-- ...leParameterInFunctionExpression.errors.txt | 8 +-- ...gleParameterInMethodDeclaration.errors.txt | 8 +-- .../unusedTypeParameters1.errors.txt | 4 +- .../unusedTypeParameters2.errors.txt | 4 +- .../unusedTypeParameters3.errors.txt | 8 +-- .../unusedVariablesinNamespaces1.errors.txt | 4 +- .../unusedVariablesinNamespaces2.errors.txt | 4 +- .../unusedVariablesinNamespaces3.errors.txt | 4 +- 57 files changed, 272 insertions(+), 272 deletions(-) diff --git a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt index 8f1a90233f7a8..dffa3d93a5759 100644 --- a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6132: Variable 'c1' has never been used. +tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6133: Variable 'c1' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6132: Variable namespace Validation { class c1 { ~~ -!!! error TS6132: Variable 'c1' has never been used. +!!! error TS6133: Variable 'c1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt index e818568378873..f8e6573b27c5f 100644 --- a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6132: Variable 'c1' has never been used. +tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6133: Variable 'c1' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6132: Variable namespace Validation { class c1 { ~~ -!!! error TS6132: Variable 'c1' has never been used. +!!! error TS6133: Variable 'c1' has never been used. } diff --git a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt index 4553f2b3fa1dc..8f7aad5f0b03e 100644 --- a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6132: Variable 'c3' has never been used. +tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6133: Variable 'c3' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6132: Variable class c3 extends c1 { ~~ -!!! error TS6132: Variable 'c3' has never been used. +!!! error TS6133: Variable 'c3' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt index ce1eb4f578b32..d3f491635327f 100644 --- a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6132: Variable 'c3' has never been used. +tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6133: Variable 'c3' has never been used. ==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6132: Variable class c3 { ~~ -!!! error TS6132: Variable 'c3' has never been used. +!!! error TS6133: Variable 'c3' has never been used. public x: c1; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt index bfb24d043f7fe..a5c859adb7ea8 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6133: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces1.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6132: Variab namespace Validation { function function1() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt index dc5fdd1740b3e..0bb9df4299d61 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6133: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces2.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6132: Variabl namespace Validation { var function1 = function() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt index 8ba79b408d48d..7d4d68968db15 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): error TS6132: Variable 'function1' has never been used. -tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6134: Parameter 'param1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces3.ts (2 errors) ==== @@ -7,8 +7,8 @@ tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6133: Parame namespace Validation { var function1 = function(param1:string) { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'param1' has never been used. +!!! error TS6134: Parameter 'param1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt index 1fce88371d999..ec1e958a0b05d 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6133: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6132: Variabl namespace Validation { var function1 = function() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. } export function function2() { diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt index 30da9d7227e6a..1e1eb28b40eb0 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): error TS6132: Variable 'function3' has never been used. -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6132: Variable 'function4' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): error TS6133: Variable 'function3' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6133: Variable 'function4' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces5.ts (2 errors) ==== @@ -14,13 +14,13 @@ tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6132: Varia function function3() { ~~~~~~~~~ -!!! error TS6132: Variable 'function3' has never been used. +!!! error TS6133: Variable 'function3' has never been used. function1(); } function function4() { ~~~~~~~~~ -!!! error TS6132: Variable 'function4' has never been used. +!!! error TS6133: Variable 'function4' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt index 470dba934d9e4..60de8e8908d23 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6132: Variable 'function4' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6133: Variable 'function4' has never been used. ==== tests/cases/compiler/unusedFunctionsinNamespaces6.ts (1 errors) ==== @@ -17,7 +17,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6132: Varia function function4() { ~~~~~~~~~ -!!! error TS6132: Variable 'function4' has never been used. +!!! error TS6133: Variable 'function4' has never been used. } diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt index d9ada7955c49a..d16450b6267d2 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -1,56 +1,56 @@ -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): error TS6132: Variable 'unusedtypeparameter' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): error TS6132: Variable 'unusedprivatevariable' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): error TS6133: Parameter 'message' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): error TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): error TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): error TS6132: Variable 'numberRegexp' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): error TS6132: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): error TS6132: Variable 'usedLocallyInterface2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): error TS6132: Variable 'dummy' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): error TS6132: Variable 'unusedInterface' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): error TS6132: Variable 'class3' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Variable 'interface5' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): error TS6133: Variable 'unusedtypeparameter' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): error TS6133: Variable 'unusedprivatevariable' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): error TS6134: Parameter 'message' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): error TS6133: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): error TS6133: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): error TS6133: Variable 'unUsedPrivateFunction' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): error TS6133: Variable 'usedLocallyInterface2' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): error TS6133: Variable 'dummy' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): error TS6133: Variable 'unusedInterface' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): error TS6133: Variable 'class3' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Variable 'interface5' has never been used. ==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== function greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. } class Dummy { ~~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'unusedtypeparameter' has never been used. +!!! error TS6133: Variable 'unusedtypeparameter' has never been used. private unusedprivatevariable: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'unusedprivatevariable' has never been used. +!!! error TS6133: Variable 'unusedprivatevariable' has never been used. private greeting: string; public unusedpublicvariable: string; public typedvariable: usedtypeparameter; constructor(message: string) { ~~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'message' has never been used. +!!! error TS6134: Parameter 'message' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. this.greeting = "Dummy Message"; } public greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. this.usedPrivateFunction(); } @@ -59,7 +59,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va private unUsedPrivateFunction() { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'unUsedPrivateFunction' has never been used. +!!! error TS6133: Variable 'unUsedPrivateFunction' has never been used. } } @@ -74,7 +74,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! error TS6132: Variable 'numberRegexp' has never been used. +!!! error TS6133: Variable 'numberRegexp' has never been used. export class LettersOnlyValidator implements StringValidator { isAcceptable(s2: string) { @@ -83,7 +83,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va private unUsedPrivateFunction() { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'unUsedPrivateFunction' has never been used. +!!! error TS6133: Variable 'unUsedPrivateFunction' has never been used. } } @@ -98,7 +98,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va interface usedLocallyInterface2 { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'usedLocallyInterface2' has never been used. +!!! error TS6133: Variable 'usedLocallyInterface2' has never been used. someFunction(s1: string): void; } @@ -107,12 +107,12 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va class dummy implements usedLocallyInterface { ~~~~~ -!!! error TS6132: Variable 'dummy' has never been used. +!!! error TS6133: Variable 'dummy' has never been used. } interface unusedInterface { ~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'unusedInterface' has never been used. +!!! error TS6133: Variable 'unusedInterface' has never been used. } } @@ -126,7 +126,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va class class3 { ~~~~~~ -!!! error TS6132: Variable 'class3' has never been used. +!!! error TS6133: Variable 'class3' has never been used. } export class class4 { @@ -148,6 +148,6 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6132: Va interface interface5 { ~~~~~~~~~~ -!!! error TS6132: Variable 'interface5' has never been used. +!!! error TS6133: Variable 'interface5' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt index 18cd225212777..be49c3cd2fffe 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6132: Variable 'i1' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6133: Variable 'i1' has never been used. ==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6132: Variabl namespace Validation { interface i1 { ~~ -!!! error TS6132: Variable 'i1' has never been used. +!!! error TS6133: Variable 'i1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt index 8df7aa310eb8a..e2d37845ae49b 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6132: Variable 'i1' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6133: Variable 'i1' has never been used. ==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6132: Variabl namespace Validation { interface i1 { ~~ -!!! error TS6132: Variable 'i1' has never been used. +!!! error TS6133: Variable 'i1' has never been used. } diff --git a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt index 5d33e1cae70d2..06cbd6ae70566 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6132: Variable 'i3' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6133: Variable 'i3' has never been used. ==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6132: Variab interface i3 extends i1 { ~~ -!!! error TS6132: Variable 'i3' has never been used. +!!! error TS6133: Variable 'i3' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt index e3423d57c5e95..f8b7761877bb9 100644 --- a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6133: Variable 'x' has never been used. ==== tests/cases/compiler/unusedLocalsInMethod1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6132: Variable 'x' public function1() { var x = 10; ~ -!!! error TS6132: Variable 'x' has never been used. +!!! error TS6133: Variable 'x' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt index f990d97bfd34d..7d263db7d49cc 100644 --- a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6133: Variable 'x' has never been used. ==== tests/cases/compiler/unusedLocalsInMethod2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6132: Variable 'x' public function1() { var x, y = 10; ~ -!!! error TS6132: Variable 'x' has never been used. +!!! error TS6133: Variable 'x' has never been used. y++; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt index fd869922678e4..dbe7c19d2ae8d 100644 --- a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6133: Variable 'x' has never been used. ==== tests/cases/compiler/unusedLocalsInMethod3.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6132: Variable 'x' public function1() { var x, y; ~ -!!! error TS6132: Variable 'x' has never been used. +!!! error TS6133: Variable 'x' has never been used. y = 1; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt index 5347d79da2e4c..8fe7ac6736db2 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): error TS6133: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt index 1beab8f93d50d..e0d0c5e8f3941 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): error TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): error TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): error TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): error TS6134: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): error TS6133: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } function maker2(child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child2' has never been used. +!!! error TS6134: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! error TS6132: Variable 'unused3' has never been used. +!!! error TS6133: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt index dd3736acb1fe7..489afc59602e9 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): error TS6133: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt index 54a871430783a..f156759768980 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): error TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): error TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): error TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): error TS6134: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): error TS6133: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. function maker(child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } function maker2(child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child2' has never been used. +!!! error TS6134: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! error TS6132: Variable 'unused3' has never been used. +!!! error TS6133: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt index 4bdb2ea988b25..ce63c48ec9478 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): error TS6133: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. var maker = function (child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt index 47d757fa9a625..d1cadeca88a23 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): error TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): error TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): error TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): error TS6134: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): error TS6133: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. var maker = function(child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } var maker2 = function(child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child2' has never been used. +!!! error TS6134: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! error TS6132: Variable 'unused3' has never been used. +!!! error TS6133: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt index fb9a59d151cf5..64924de57b595 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): error TS6132: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): error TS6133: Variable 'unused2' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. var maker = function (child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt index 4af157ffc3d3e..1c247f4183758 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): error TS6132: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): error TS6132: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): error TS6133: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): error TS6132: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): error TS6133: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): error TS6132: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): error TS6133: Variable 'maker' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): error TS6134: Parameter 'child' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): error TS6134: Parameter 'child2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): error TS6133: Variable 'unused3' has never been used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. var maker = function (child: string): void { ~~~~~ -!!! error TS6132: Variable 'maker' has never been used. +!!! error TS6133: Variable 'maker' has never been used. ~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child' has never been used. +!!! error TS6134: Parameter 'child' has never been used. var unused2 = 22; ~~~~~~~ -!!! error TS6132: Variable 'unused2' has never been used. +!!! error TS6133: Variable 'unused2' has never been used. } var maker2 = function (child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'child2' has never been used. +!!! error TS6134: Parameter 'child2' has never been used. var unused3 = 23; ~~~~~~~ -!!! error TS6132: Variable 'unused3' has never been used. +!!! error TS6133: Variable 'unused3' has never been used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt index dfab136e6a5db..e024997c04fb8 100644 --- a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedLocalsinConstructor1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6132: Variable constructor() { var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt index e150e39f8bbb9..59df6f20a9526 100644 --- a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedLocalsinConstructor2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6132: Variable constructor() { var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. var used = "dummy"; used = used + "second part"; } diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt index d98ec7d187a4f..57fa43dee23ce 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (2 errors) ==== @@ -7,10 +7,10 @@ tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6132 class Dummy { constructor(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "Dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt index 6eaf329566a22..8647672af5dee 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts (2 errors) ==== var func = function(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "Dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt index fe2ffc2a3c277..bb0c690c55e79 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): error TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): error TS6134: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (3 errors) ==== @@ -8,12 +8,12 @@ tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6132 class Dummy { constructor(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person3' has never been used. +!!! error TS6134: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "Dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt index 939dd2c6beecd..d34640e1c9164 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -1,17 +1,17 @@ -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): error TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): error TS6134: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts (3 errors) ==== var func = function(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person3' has never been used. +!!! error TS6134: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "Dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt index 722a9294c98bc..fc9a6670a9b28 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts (2 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt index 3a767b5436d41..d0463b5dcce6d 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts (2 errors) ==== @@ -7,10 +7,10 @@ tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): erro class Dummy { public greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt index 8287c68183250..258a29a8b1ccd 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -1,17 +1,17 @@ -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): error TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): error TS6134: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts (3 errors) ==== function greeter(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person3' has never been used. +!!! error TS6134: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt index fd9dd4bf802de..59cfdcad01a7f 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): error TS6133: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): error TS6134: Parameter 'person3' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts (3 errors) ==== @@ -8,12 +8,12 @@ tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): erro class Dummy { public greeter(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. ~~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person3' has never been used. +!!! error TS6134: Parameter 'person3' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. person2 = "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt index aeb2bdd402cf0..68f61956de795 100644 --- a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6134: Parameter 'param1' has never been used. ==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6133: Para class greeter { constructor(param1: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'param1' has never been used. +!!! error TS6134: Parameter 'param1' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt index 1b0ac945c8607..061960c867081 100644 --- a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6133: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6134: Parameter 'param1' has never been used. ==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6133: Para class greeter { constructor(param1: string, param2: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'param1' has never been used. +!!! error TS6134: Parameter 'param1' has never been used. param2 = param2 + "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt index 5209fc59e1d1c..6dc7c9925ddf9 100644 --- a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): error TS6133: Parameter 'param1' has never been used. -tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6133: Parameter 'param3' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): error TS6134: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6134: Parameter 'param3' has never been used. ==== tests/cases/compiler/unusedParametersinConstructor3.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6133: Para class greeter { constructor(param1: string, param2: string, param3: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'param1' has never been used. +!!! error TS6134: Parameter 'param1' has never been used. ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'param3' has never been used. +!!! error TS6134: Parameter 'param3' has never been used. param2 = param2 + "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt index c6ff8c0d35d16..1ebfa445f943c 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6133: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6132: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt index d23f0ea4ed80b..56aa61dac4145 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): error TS6132: Variable 'function1' has never been used. -tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6132: Variable 'function2' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6133: Variable 'function2' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass2.ts (2 errors) ==== @@ -7,14 +7,14 @@ tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6132: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. var y = 10; y++; } private function2() { ~~~~~~~~~ -!!! error TS6132: Variable 'function2' has never been used. +!!! error TS6133: Variable 'function2' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt index 6a91e1bf86824..9b4c6589f661e 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): error TS6132: Variable 'function1' has never been used. -tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6132: Variable 'function2' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6133: Variable 'function2' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass3.ts (2 errors) ==== @@ -7,14 +7,14 @@ tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6132: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. var y = 10; y++; } private function2() { ~~~~~~~~~ -!!! error TS6132: Variable 'function2' has never been used. +!!! error TS6133: Variable 'function2' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt index f8e1e7974c43c..2bf406d88292d 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6132: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6133: Variable 'function1' has never been used. ==== tests/cases/compiler/unusedPrivateMethodInClass4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6132: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6132: Variable 'function1' has never been used. +!!! error TS6133: Variable 'function1' has never been used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt index 8a0cde20b16b2..dedbf1c01a0fa 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6132: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6133: Variable 'x' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass1.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6132: Variab class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'x' has never been used. +!!! error TS6133: Variable 'x' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt index d43c82a744091..492a65b3afa24 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): error TS6132: Variable 'x' has never been used. -tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): error TS6133: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6133: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass2.ts (2 errors) ==== @@ -7,8 +7,8 @@ tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6132: Variab class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'x' has never been used. +!!! error TS6133: Variable 'x' has never been used. private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'y' has never been used. +!!! error TS6133: Variable 'y' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt index 88086ce5400c5..d33a59a6bda60 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): error TS6132: Variable 'x' has never been used. -tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): error TS6133: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6133: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass3.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6132: Variab class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'x' has never been used. +!!! error TS6133: Variable 'x' has never been used. private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'y' has never been used. +!!! error TS6133: Variable 'y' has never been used. public z: string; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt index fac8a5f181542..6cf355497e1ca 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6133: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass4.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6132: Variab private x: string; private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'y' has never been used. +!!! error TS6133: Variable 'y' has never been used. public z: string; public method1() { diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt index 7bca524abe3cd..36e68408cd0e8 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6132: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6133: Variable 'y' has never been used. ==== tests/cases/compiler/unusedPrivateVariableInClass5.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6132: Variab private x: string; private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'y' has never been used. +!!! error TS6133: Variable 'y' has never been used. public z: string; constructor() { diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt index eff1706fa3d5f..f767ee564d150 100644 --- a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInContructor.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6132: V class Dummy { constructor(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt index 4ebd5831afe02..1e94be8e6f58d 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts (2 errors) ==== function greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt index 32fd26c5e41de..179310d246c91 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts (2 errors) ==== var func = function(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt index 9de8d178b2317..b17937883b257 100644 --- a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): error TS6133: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS6132: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): error TS6134: Parameter 'person' has never been used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS6133: Variable 'unused' has never been used. ==== tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS class Dummy { public greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6133: Parameter 'person' has never been used. +!!! error TS6134: Parameter 'person' has never been used. var unused = 20; ~~~~~~ -!!! error TS6132: Variable 'unused' has never been used. +!!! error TS6133: Variable 'unused' has never been used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters1.errors.txt b/tests/baselines/reference/unusedTypeParameters1.errors.txt index df131943498ed..22b2f5579bb43 100644 --- a/tests/baselines/reference/unusedTypeParameters1.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedTypeParameters1.ts(2,15): error TS6132: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters1.ts(2,15): error TS6133: Variable 'typeparameter1' has never been used. ==== tests/cases/compiler/unusedTypeParameters1.ts (1 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'typeparameter1' has never been used. +!!! error TS6133: Variable 'typeparameter1' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters2.errors.txt b/tests/baselines/reference/unusedTypeParameters2.errors.txt index 1938df8431807..ef71d3ebeefe0 100644 --- a/tests/baselines/reference/unusedTypeParameters2.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters2.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/unusedTypeParameters2.ts(2,15): error TS6132: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters2.ts(2,15): error TS6133: Variable 'typeparameter1' has never been used. ==== tests/cases/compiler/unusedTypeParameters2.ts (1 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'typeparameter1' has never been used. +!!! error TS6133: Variable 'typeparameter1' has never been used. private x: typeparameter2; public function1() { diff --git a/tests/baselines/reference/unusedTypeParameters3.errors.txt b/tests/baselines/reference/unusedTypeParameters3.errors.txt index ff3e4bf3d575b..0970af65bf1fe 100644 --- a/tests/baselines/reference/unusedTypeParameters3.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters3.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedTypeParameters3.ts(2,15): error TS6132: Variable 'typeparameter1' has never been used. -tests/cases/compiler/unusedTypeParameters3.ts(2,47): error TS6132: Variable 'typeparameter3' has never been used. +tests/cases/compiler/unusedTypeParameters3.ts(2,15): error TS6133: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters3.ts(2,47): error TS6133: Variable 'typeparameter3' has never been used. ==== tests/cases/compiler/unusedTypeParameters3.ts (2 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'typeparameter1' has never been used. +!!! error TS6133: Variable 'typeparameter1' has never been used. ~~~~~~~~~~~~~~ -!!! error TS6132: Variable 'typeparameter3' has never been used. +!!! error TS6133: Variable 'typeparameter3' has never been used. private x: typeparameter2; public function1() { diff --git a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt index f311e02928b94..d2b0d4c9ee8ca 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6132: Variable 'lettersRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6133: Variable 'lettersRegexp' has never been used. ==== tests/cases/compiler/unusedVariablesinNamespaces1.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6132: Variab namespace Validation { const lettersRegexp = /^[A-Za-z]+$/; ~~~~~~~~~~~~~ -!!! error TS6132: Variable 'lettersRegexp' has never been used. +!!! error TS6133: Variable 'lettersRegexp' has never been used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt index 01c30549f6762..2026419029d0d 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6133: Variable 'numberRegexp' has never been used. ==== tests/cases/compiler/unusedVariablesinNamespaces2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6132: Variab const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! error TS6132: Variable 'numberRegexp' has never been used. +!!! error TS6133: Variable 'numberRegexp' has never been used. export class LettersOnlyValidator { isAcceptable(s2: string) { diff --git a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt index 0c0d7b3ceaf21..ecc8e48356b55 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6132: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6133: Variable 'numberRegexp' has never been used. ==== tests/cases/compiler/unusedVariablesinNamespaces3.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6132: Variab const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! error TS6132: Variable 'numberRegexp' has never been used. +!!! error TS6133: Variable 'numberRegexp' has never been used. export const anotherUnusedVariable = "Dummy value"; export class LettersOnlyValidator { From d62a43f234ada2a06f1af7fc018177d480db00c2 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 17:00:04 -0700 Subject: [PATCH 22/38] Adding the missing file --- lib/lib.scripthost.d.ts | 294 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) create mode 100644 lib/lib.scripthost.d.ts diff --git a/lib/lib.scripthost.d.ts b/lib/lib.scripthost.d.ts new file mode 100644 index 0000000000000..70aedd809339d --- /dev/null +++ b/lib/lib.scripthost.d.ts @@ -0,0 +1,294 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// + + +///////////////////////////// +/// Windows Script Host APIS +///////////////////////////// + + +interface ActiveXObject { + new (s: string): any; +} +declare var ActiveXObject: ActiveXObject; + +interface ITextWriter { + Write(s: string): void; + WriteLine(s: string): void; + Close(): void; +} + +interface TextStreamBase { + /** + * The column number of the current character position in an input stream. + */ + Column: number; + + /** + * The current line number in an input stream. + */ + Line: number; + + /** + * Closes a text stream. + * It is not necessary to close standard streams; they close automatically when the process ends. If + * you close a standard stream, be aware that any other pointers to that standard stream become invalid. + */ + Close(): void; +} + +interface TextStreamWriter extends TextStreamBase { + /** + * Sends a string to an output stream. + */ + Write(s: string): void; + + /** + * Sends a specified number of blank lines (newline characters) to an output stream. + */ + WriteBlankLines(intLines: number): void; + + /** + * Sends a string followed by a newline character to an output stream. + */ + WriteLine(s: string): void; +} + +interface TextStreamReader extends TextStreamBase { + /** + * Returns a specified number of characters from an input stream, starting at the current pointer position. + * Does not return until the ENTER key is pressed. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + Read(characters: number): string; + + /** + * Returns all characters from an input stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadAll(): string; + + /** + * Returns an entire line from an input stream. + * Although this method extracts the newline character, it does not add it to the returned string. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + */ + ReadLine(): string; + + /** + * Skips a specified number of characters when reading from an input text stream. + * Can only be used on a stream in reading mode; causes an error in writing or appending mode. + * @param characters Positive number of characters to skip forward. (Backward skipping is not supported.) + */ + Skip(characters: number): void; + + /** + * Skips the next line when reading from an input text stream. + * Can only be used on a stream in reading mode, not writing or appending mode. + */ + SkipLine(): void; + + /** + * Indicates whether the stream pointer position is at the end of a line. + */ + AtEndOfLine: boolean; + + /** + * Indicates whether the stream pointer position is at the end of a stream. + */ + AtEndOfStream: boolean; +} + +declare var WScript: { + /** + * Outputs text to either a message box (under WScript.exe) or the command console window followed by + * a newline (under CScript.exe). + */ + Echo(s: any): void; + + /** + * Exposes the write-only error output stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdErr: TextStreamWriter; + + /** + * Exposes the write-only output stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdOut: TextStreamWriter; + Arguments: { length: number; Item(n: number): string; }; + + /** + * The full path of the currently running script. + */ + ScriptFullName: string; + + /** + * Forces the script to stop immediately, with an optional exit code. + */ + Quit(exitCode?: number): number; + + /** + * The Windows Script Host build version number. + */ + BuildVersion: number; + + /** + * Fully qualified path of the host executable. + */ + FullName: string; + + /** + * Gets/sets the script mode - interactive(true) or batch(false). + */ + Interactive: boolean; + + /** + * The name of the host executable (WScript.exe or CScript.exe). + */ + Name: string; + + /** + * Path of the directory containing the host executable. + */ + Path: string; + + /** + * The filename of the currently running script. + */ + ScriptName: string; + + /** + * Exposes the read-only input stream for the current script. + * Can be accessed only while using CScript.exe. + */ + StdIn: TextStreamReader; + + /** + * Windows Script Host version + */ + Version: string; + + /** + * Connects a COM object's event sources to functions named with a given prefix, in the form prefix_event. + */ + ConnectObject(objEventSource: any, strPrefix: string): void; + + /** + * Creates a COM object. + * @param strProgiID + * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. + */ + CreateObject(strProgID: string, strPrefix?: string): any; + + /** + * Disconnects a COM object from its event sources. + */ + DisconnectObject(obj: any): void; + + /** + * Retrieves an existing object with the specified ProgID from memory, or creates a new one from a file. + * @param strPathname Fully qualified path to the file containing the object persisted to disk. + * For objects in memory, pass a zero-length string. + * @param strProgID + * @param strPrefix Function names in the form prefix_event will be bound to this object's COM events. + */ + GetObject(strPathname: string, strProgID?: string, strPrefix?: string): any; + + /** + * Suspends script execution for a specified length of time, then continues execution. + * @param intTime Interval (in milliseconds) to suspend script execution. + */ + Sleep(intTime: number): void; +}; + +/** + * Allows enumerating over a COM collection, which may not have indexed item access. + */ +interface Enumerator { + /** + * Returns true if the current item is the last one in the collection, or the collection is empty, + * or the current item is undefined. + */ + atEnd(): boolean; + + /** + * Returns the current item in the collection + */ + item(): T; + + /** + * Resets the current item in the collection to the first item. If there are no items in the collection, + * the current item is set to undefined. + */ + moveFirst(): void; + + /** + * Moves the current item to the next item in the collection. If the enumerator is at the end of + * the collection or the collection is empty, the current item is set to undefined. + */ + moveNext(): void; +} + +interface EnumeratorConstructor { + new (collection: any): Enumerator; + new (collection: any): Enumerator; +} + +declare var Enumerator: EnumeratorConstructor; + +/** + * Enables reading from a COM safe array, which might have an alternate lower bound, or multiple dimensions. + */ +interface VBArray { + /** + * Returns the number of dimensions (1-based). + */ + dimensions(): number; + + /** + * Takes an index for each dimension in the array, and returns the item at the corresponding location. + */ + getItem(dimension1Index: number, ...dimensionNIndexes: number[]): T; + + /** + * Returns the smallest available index for a given dimension. + * @param dimension 1-based dimension (defaults to 1) + */ + lbound(dimension?: number): number; + + /** + * Returns the largest available index for a given dimension. + * @param dimension 1-based dimension (defaults to 1) + */ + ubound(dimension?: number): number; + + /** + * Returns a Javascript array with all the elements in the VBArray. If there are multiple dimensions, + * each successive dimension is appended to the end of the array. + * Example: [[1,2,3],[4,5,6]] becomes [1,2,3,4,5,6] + */ + toArray(): T[]; +} + +interface VBArrayConstructor { + new (safeArray: any): VBArray; + new (safeArray: any): VBArray; +} + +declare var VBArray: VBArrayConstructor; \ No newline at end of file From 043a62568dacb3b79fc1233207e4be57305dedc6 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 15 Jun 2016 17:01:17 -0700 Subject: [PATCH 23/38] Adding the missing file II --- lib/lib.scripthost.d.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/lib.scripthost.d.ts b/lib/lib.scripthost.d.ts index 70aedd809339d..d4c6131fd93ba 100644 --- a/lib/lib.scripthost.d.ts +++ b/lib/lib.scripthost.d.ts @@ -1,14 +1,14 @@ /*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. +Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - +License at http://www.apache.org/licenses/LICENSE-2.0 + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ @@ -45,7 +45,7 @@ interface TextStreamBase { /** * Closes a text stream. - * It is not necessary to close standard streams; they close automatically when the process ends. If + * It is not necessary to close standard streams; they close automatically when the process ends. If * you close a standard stream, be aware that any other pointers to that standard stream become invalid. */ Close(): void; @@ -291,4 +291,4 @@ interface VBArrayConstructor { new (safeArray: any): VBArray; } -declare var VBArray: VBArrayConstructor; \ No newline at end of file +declare var VBArray: VBArrayConstructor; From 8f9d4ae3ecccb658d8ba9d2249b6591fff345a82 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Mon, 20 Jun 2016 11:33:42 -0700 Subject: [PATCH 24/38] Response to PR comments --- src/compiler/checker.ts | 98 +++++++++---------- src/compiler/diagnosticMessages.json | 10 +- .../unusedClassesinNamespace1.errors.txt | 4 +- .../unusedClassesinNamespace2.errors.txt | 4 +- .../unusedClassesinNamespace4.errors.txt | 4 +- .../unusedClassesinNamespace5.errors.txt | 4 +- .../unusedFunctionsinNamespaces1.errors.txt | 4 +- .../unusedFunctionsinNamespaces2.errors.txt | 4 +- .../unusedFunctionsinNamespaces3.errors.txt | 8 +- .../unusedFunctionsinNamespaces4.errors.txt | 4 +- .../unusedFunctionsinNamespaces5.errors.txt | 8 +- .../unusedFunctionsinNamespaces6.errors.txt | 4 +- .../reference/unusedGetterInClass.js | 23 +++++ .../reference/unusedGetterInClass.symbols | 17 ++++ .../reference/unusedGetterInClass.types | 17 ++++ .../unusedIdentifiersConsolidated1.errors.txt | 64 ++++++------ .../unusedInterfaceinNamespace1.errors.txt | 4 +- .../unusedInterfaceinNamespace2.errors.txt | 4 +- .../unusedInterfaceinNamespace3.errors.txt | 4 +- .../unusedLocalsInMethod1.errors.txt | 4 +- .../unusedLocalsInMethod2.errors.txt | 4 +- .../unusedLocalsInMethod3.errors.txt | 4 +- ...ationWithinFunctionDeclaration1.errors.txt | 20 ++-- ...ationWithinFunctionDeclaration2.errors.txt | 28 +++--- ...rationWithinFunctionExpression1.errors.txt | 20 ++-- ...rationWithinFunctionExpression2.errors.txt | 28 +++--- ...ssionWithinFunctionDeclaration1.errors.txt | 20 ++-- ...ssionWithinFunctionDeclaration2.errors.txt | 28 +++--- ...essionWithinFunctionExpression1.errors.txt | 20 ++-- ...essionWithinFunctionExpression2.errors.txt | 28 +++--- .../unusedLocalsinConstructor1.errors.txt | 4 +- .../unusedLocalsinConstructor2.errors.txt | 4 +- .../reference/unusedMethodsInInterface.js | 8 ++ .../unusedMethodsInInterface.symbols | 13 +++ .../reference/unusedMethodsInInterface.types | 13 +++ ...dMultipleParameter1InContructor.errors.txt | 8 +- ...eParameter1InFunctionExpression.errors.txt | 8 +- ...dMultipleParameter2InContructor.errors.txt | 12 +-- ...eParameter2InFunctionExpression.errors.txt | 12 +-- ...arameters1InFunctionDeclaration.errors.txt | 8 +- ...eParameters1InMethodDeclaration.errors.txt | 8 +- ...arameters2InFunctionDeclaration.errors.txt | 12 +-- ...eParameters2InMethodDeclaration.errors.txt | 12 +-- .../reference/unusedParameterUsedInTypeOf.js | 10 ++ .../unusedParameterUsedInTypeOf.symbols | 11 +++ .../unusedParameterUsedInTypeOf.types | 12 +++ .../unusedParametersinConstructor1.errors.txt | 4 +- .../unusedParametersinConstructor2.errors.txt | 4 +- .../unusedParametersinConstructor3.errors.txt | 8 +- .../unusedPrivateMethodInClass1.errors.txt | 4 +- .../unusedPrivateMethodInClass2.errors.txt | 8 +- .../unusedPrivateMethodInClass3.errors.txt | 8 +- .../unusedPrivateMethodInClass4.errors.txt | 4 +- .../unusedPrivateVariableInClass1.errors.txt | 4 +- .../unusedPrivateVariableInClass2.errors.txt | 8 +- .../unusedPrivateVariableInClass3.errors.txt | 8 +- .../unusedPrivateVariableInClass4.errors.txt | 4 +- .../unusedPrivateVariableInClass5.errors.txt | 4 +- .../reference/unusedSetterInClass.js | 23 +++++ .../reference/unusedSetterInClass.symbols | 19 ++++ .../reference/unusedSetterInClass.types | 20 ++++ ...usedSingleParameterInContructor.errors.txt | 8 +- ...eParameterInFunctionDeclaration.errors.txt | 8 +- ...leParameterInFunctionExpression.errors.txt | 8 +- ...gleParameterInMethodDeclaration.errors.txt | 8 +- .../unusedTypeParameters1.errors.txt | 4 +- .../unusedTypeParameters2.errors.txt | 4 +- .../unusedTypeParameters3.errors.txt | 8 +- .../unusedVariablesinBlocks1.errors.txt | 14 +++ .../reference/unusedVariablesinBlocks1.js | 18 ++++ .../unusedVariablesinBlocks2.errors.txt | 14 +++ .../reference/unusedVariablesinBlocks2.js | 18 ++++ .../unusedVariablesinForLoop.errors.txt | 12 +++ .../reference/unusedVariablesinForLoop.js | 13 +++ .../unusedVariablesinForLoop2.errors.txt | 12 +++ .../reference/unusedVariablesinForLoop2.js | 13 +++ .../unusedVariablesinForLoop3.errors.txt | 12 +++ .../reference/unusedVariablesinForLoop3.js | 14 +++ .../unusedVariablesinForLoop4.errors.txt | 13 +++ .../reference/unusedVariablesinForLoop4.js | 17 ++++ .../unusedVariablesinNamespaces1.errors.txt | 4 +- .../unusedVariablesinNamespaces2.errors.txt | 4 +- .../unusedVariablesinNamespaces3.errors.txt | 4 +- tests/cases/compiler/unusedGetterInClass.ts | 11 +++ .../compiler/unusedMethodsInInterface.ts | 7 ++ .../compiler/unusedParameterUsedInTypeOf.ts | 7 ++ tests/cases/compiler/unusedSetterInClass.ts | 11 +++ .../compiler/unusedVariablesinBlocks1.ts | 10 ++ .../compiler/unusedVariablesinBlocks2.ts | 10 ++ .../compiler/unusedVariablesinForLoop.ts | 8 ++ .../compiler/unusedVariablesinForLoop2.ts | 8 ++ .../compiler/unusedVariablesinForLoop3.ts | 8 ++ .../compiler/unusedVariablesinForLoop4.ts | 9 ++ 93 files changed, 768 insertions(+), 329 deletions(-) create mode 100644 tests/baselines/reference/unusedGetterInClass.js create mode 100644 tests/baselines/reference/unusedGetterInClass.symbols create mode 100644 tests/baselines/reference/unusedGetterInClass.types create mode 100644 tests/baselines/reference/unusedMethodsInInterface.js create mode 100644 tests/baselines/reference/unusedMethodsInInterface.symbols create mode 100644 tests/baselines/reference/unusedMethodsInInterface.types create mode 100644 tests/baselines/reference/unusedParameterUsedInTypeOf.js create mode 100644 tests/baselines/reference/unusedParameterUsedInTypeOf.symbols create mode 100644 tests/baselines/reference/unusedParameterUsedInTypeOf.types create mode 100644 tests/baselines/reference/unusedSetterInClass.js create mode 100644 tests/baselines/reference/unusedSetterInClass.symbols create mode 100644 tests/baselines/reference/unusedSetterInClass.types create mode 100644 tests/baselines/reference/unusedVariablesinBlocks1.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinBlocks1.js create mode 100644 tests/baselines/reference/unusedVariablesinBlocks2.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinBlocks2.js create mode 100644 tests/baselines/reference/unusedVariablesinForLoop.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinForLoop.js create mode 100644 tests/baselines/reference/unusedVariablesinForLoop2.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinForLoop2.js create mode 100644 tests/baselines/reference/unusedVariablesinForLoop3.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinForLoop3.js create mode 100644 tests/baselines/reference/unusedVariablesinForLoop4.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinForLoop4.js create mode 100644 tests/cases/compiler/unusedGetterInClass.ts create mode 100644 tests/cases/compiler/unusedMethodsInInterface.ts create mode 100644 tests/cases/compiler/unusedParameterUsedInTypeOf.ts create mode 100644 tests/cases/compiler/unusedSetterInClass.ts create mode 100644 tests/cases/compiler/unusedVariablesinBlocks1.ts create mode 100644 tests/cases/compiler/unusedVariablesinBlocks2.ts create mode 100644 tests/cases/compiler/unusedVariablesinForLoop.ts create mode 100644 tests/cases/compiler/unusedVariablesinForLoop2.ts create mode 100644 tests/cases/compiler/unusedVariablesinForLoop3.ts create mode 100644 tests/cases/compiler/unusedVariablesinForLoop4.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 69d0ba6d7abf3..65e43646dedb4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8157,7 +8157,7 @@ namespace ts { } } - function updateReferencesForInterfaceImplementations(node: InterfaceDeclaration): void { + function updateReferencesForInterfaceHeritiageClauseTargets(node: InterfaceDeclaration): void { const extendedTypeNode = getClassExtendsHeritageClauseElement(node); if (extendedTypeNode) { const t = getTypeFromTypeNode(extendedTypeNode); @@ -14276,35 +14276,41 @@ namespace ts { } } - function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { + function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { checkUnusedIdentifiers(node); checkUnusedParameters(node); } - function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { + function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { - if (!node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { - if (node.locals[key].valueDeclaration.kind !== SyntaxKind.Parameter) { - error(node.locals[key].valueDeclaration, Diagnostics.Variable_0_has_never_been_used, key); + if (hasProperty(node.locals, key)) { + const local = node.locals[key]; + if (!local.hasReference && local.valueDeclaration && local.valueDeclaration.kind) { + if (local.valueDeclaration.kind !== SyntaxKind.Parameter) { + error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); + } } } } } } - function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction): void { - if (compilerOptions.noUnusedParameters && !isInAmbientContext(node)) { + function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { + if (node.parent.kind !== SyntaxKind.InterfaceDeclaration && compilerOptions.noUnusedParameters && !isInAmbientContext(node)) { for (const key in node.locals) { - if (hasProperty(node.locals, key) && !node.locals[key].hasReference && node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind) { - if (node.locals[key].valueDeclaration.kind === SyntaxKind.Parameter && node.parent.kind !== SyntaxKind.InterfaceDeclaration) { - if (node.locals[key].valueDeclaration.modifiers) { - if (checkModifiersForPrivateAccess(node.locals[key].valueDeclaration.modifiers)) { - error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); + if (hasProperty(node.locals, key)) { + const local = node.locals[key]; + if (!local.hasReference && local.valueDeclaration && local.valueDeclaration.kind) { + if (local.valueDeclaration.kind === SyntaxKind.Parameter) { + if (local.valueDeclaration.modifiers) { + if (getCombinedNodeFlags(local.valueDeclaration) & NodeFlags.Private) { + error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); + } + } + else { + error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } - } - else { - error(node.locals[key].valueDeclaration, Diagnostics.Parameter_0_has_never_been_used, key); } } } @@ -14315,12 +14321,15 @@ namespace ts { function checkUnusedModulePrivates(node: ModuleDeclaration): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { - if (hasProperty(node.locals, key) && !node.locals[key].hasReference && !node.locals[key].exportSymbol) { - if ((node.locals[key].valueDeclaration && node.locals[key].valueDeclaration.kind)) { - error(node.locals[key].valueDeclaration, Diagnostics.Variable_0_has_never_been_used, key); - } - else if (node.locals[key].declarations && node.locals[key].declarations[0].kind === SyntaxKind.InterfaceDeclaration) { - error(node.locals[key].declarations[0], Diagnostics.Variable_0_has_never_been_used, key); + if (hasProperty(node.locals, key)) { + const local = node.locals[key]; + if (!local.hasReference && !local.exportSymbol) { + if ((local.valueDeclaration && local.valueDeclaration.kind)) { + error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); + } + else if (local.declarations && local.declarations[0].kind === SyntaxKind.InterfaceDeclaration) { + error(local.declarations[0], Diagnostics._0_is_declared_but_never_used, key); + } } } } @@ -14329,42 +14338,28 @@ namespace ts { function checkUnusedPrivates(node: ClassDeclaration): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { - for (let i = 0; node.members && i < node.members.length; i++) { - switch (node.members[i].kind) { - case SyntaxKind.MethodDeclaration: - case SyntaxKind.PropertyDeclaration: - if (isPrivateClassElement(node.members[i]) && !node.members[i].symbol.hasReference) { - error(node.members[i], Diagnostics.Variable_0_has_never_been_used, node.members[i].symbol.name); + if (node.members) { + for (const member of node.members) { + if (member.kind === SyntaxKind.MethodDeclaration || member.kind === SyntaxKind.PropertyDeclaration) { + if (isPrivateClassElement(member) && !member.symbol.hasReference) { + error(member, Diagnostics._0_is_declared_but_never_used, member.symbol.name); } - break; - default: - break; + } } } - for (let i = 0; node.typeParameters && i < node.typeParameters.length; i++) { - if (!node.typeParameters[i].symbol.hasReference) { - error(node.typeParameters[i], Diagnostics.Variable_0_has_never_been_used, node.typeParameters[i].symbol.name); + if (node.typeParameters) { + for (const typeParameter of node.typeParameters) { + if (!typeParameter.symbol.hasReference) { + error(typeParameter, Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); + } } } } } function isPrivateClassElement(node: ClassElement): boolean { - for (let i = 0; node.modifiers && i < node.modifiers.length; i++) { - if (node.modifiers[i].kind === SyntaxKind.PrivateKeyword) - return true; - } - return false; - } - - function checkModifiersForPrivateAccess(modifiers: ModifiersArray): boolean { - for (let i = 0; i < modifiers.length; i++) { - if (modifiers[i].kind === SyntaxKind.PrivateKeyword) { - return true; - } - } - return false; + return (node.flags & NodeFlags.Private) !== 0; } function checkBlock(node: Block) { @@ -14373,6 +14368,7 @@ namespace ts { checkGrammarStatementInAmbientContext(node); } forEach(node.statements, checkSourceElement); + checkUnusedLocals(node); } function checkCollisionWithArgumentsInGeneratedCode(node: SignatureDeclaration) { @@ -14877,6 +14873,7 @@ namespace ts { } checkSourceElement(node.statement); + checkUnusedIdentifiers(node); } function checkForInStatement(node: ForInStatement) { @@ -14924,6 +14921,7 @@ namespace ts { } checkSourceElement(node.statement); + checkUnusedIdentifiers(node); } function checkForInOrForOfVariableDeclaration(iterationStatement: ForInStatement | ForOfStatement): void { @@ -15810,7 +15808,7 @@ namespace ts { checkExportsOnMergedDeclarations(node); const symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(node, symbol); - updateReferencesForInterfaceImplementations(node); + updateReferencesForInterfaceHeritiageClauseTargets(node); // Only check this symbol once const firstInterfaceDecl = getDeclarationOfKind(symbol, SyntaxKind.InterfaceDeclaration); @@ -16235,7 +16233,7 @@ namespace ts { if (node.body) { checkSourceElement(node.body); checkUnusedModulePrivates(node); - } + } } function checkModuleAugmentationElement(node: Node, isGlobalAugmentation: boolean): void { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 24261782d617c..bd7bc7f1498bc 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2776,21 +2776,17 @@ "category": "Message", "code": 6132 }, - "Variable '{0}' has never been used.": { + "'{0}' is declared but never used.": { "category": "Error", "code": 6133 }, - "Parameter '{0}' has never been used.": { - "category": "Error", - "code": 6134 - }, "Report Errors on Unused Locals.": { "category": "Message", - "code": 6135 + "code": 6134 }, "Report Errors on Unused Parameters.": { "category": "Message", - "code": 6136 + "code": 6135 }, "Variable '{0}' implicitly has an '{1}' type.": { diff --git a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt index dffa3d93a5759..dc5dc397fec38 100644 --- a/tests/baselines/reference/unusedClassesinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6133: Variable 'c1' has never been used. +tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6133: 'c1' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6133: Variable namespace Validation { class c1 { ~~ -!!! error TS6133: Variable 'c1' has never been used. +!!! error TS6133: 'c1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt index f8e6573b27c5f..322b2697550e5 100644 --- a/tests/baselines/reference/unusedClassesinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6133: Variable 'c1' has never been used. +tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6133: 'c1' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6133: Variable namespace Validation { class c1 { ~~ -!!! error TS6133: Variable 'c1' has never been used. +!!! error TS6133: 'c1' is declared but never used. } diff --git a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt index 8f7aad5f0b03e..2fd6e70524ef8 100644 --- a/tests/baselines/reference/unusedClassesinNamespace4.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6133: Variable 'c3' has never been used. +tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6133: 'c3' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6133: Variable class c3 extends c1 { ~~ -!!! error TS6133: Variable 'c3' has never been used. +!!! error TS6133: 'c3' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt index d3f491635327f..752036b2d0314 100644 --- a/tests/baselines/reference/unusedClassesinNamespace5.errors.txt +++ b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6133: Variable 'c3' has never been used. +tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6133: 'c3' is declared but never used. ==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6133: Variable class c3 { ~~ -!!! error TS6133: Variable 'c3' has never been used. +!!! error TS6133: 'c3' is declared but never used. public x: c1; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt index a5c859adb7ea8..428eeae8de5f0 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6133: 'function1' is declared but never used. ==== tests/cases/compiler/unusedFunctionsinNamespaces1.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6133: Variab namespace Validation { function function1() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt index 0bb9df4299d61..2b0b6def37833 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6133: 'function1' is declared but never used. ==== tests/cases/compiler/unusedFunctionsinNamespaces2.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6133: Variabl namespace Validation { var function1 = function() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt index 7d4d68968db15..35829175f052e 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): error TS6133: Variable 'function1' has never been used. -tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6134: Parameter 'param1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,9): error TS6133: 'function1' is declared but never used. +tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6133: 'param1' is declared but never used. ==== tests/cases/compiler/unusedFunctionsinNamespaces3.ts (2 errors) ==== @@ -7,8 +7,8 @@ tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6134: Parame namespace Validation { var function1 = function(param1:string) { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'param1' has never been used. +!!! error TS6133: 'param1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt index ec1e958a0b05d..72ce63924fd3e 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6133: 'function1' is declared but never used. ==== tests/cases/compiler/unusedFunctionsinNamespaces4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6133: Variabl namespace Validation { var function1 = function() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. } export function function2() { diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt index 1e1eb28b40eb0..239680499bdae 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): error TS6133: Variable 'function3' has never been used. -tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6133: Variable 'function4' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(10,14): error TS6133: 'function3' is declared but never used. +tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6133: 'function4' is declared but never used. ==== tests/cases/compiler/unusedFunctionsinNamespaces5.ts (2 errors) ==== @@ -14,13 +14,13 @@ tests/cases/compiler/unusedFunctionsinNamespaces5.ts(14,14): error TS6133: Varia function function3() { ~~~~~~~~~ -!!! error TS6133: Variable 'function3' has never been used. +!!! error TS6133: 'function3' is declared but never used. function1(); } function function4() { ~~~~~~~~~ -!!! error TS6133: Variable 'function4' has never been used. +!!! error TS6133: 'function4' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt index 60de8e8908d23..f8f0d12dd51ac 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6133: Variable 'function4' has never been used. +tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6133: 'function4' is declared but never used. ==== tests/cases/compiler/unusedFunctionsinNamespaces6.ts (1 errors) ==== @@ -17,7 +17,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6133: Varia function function4() { ~~~~~~~~~ -!!! error TS6133: Variable 'function4' has never been used. +!!! error TS6133: 'function4' is declared but never used. } diff --git a/tests/baselines/reference/unusedGetterInClass.js b/tests/baselines/reference/unusedGetterInClass.js new file mode 100644 index 0000000000000..0920ace0195ba --- /dev/null +++ b/tests/baselines/reference/unusedGetterInClass.js @@ -0,0 +1,23 @@ +//// [unusedGetterInClass.ts] + +class Employee { + private _fullName: string; + + get fullName(): string { + return this._fullName; + } +} + +//// [unusedGetterInClass.js] +var Employee = (function () { + function Employee() { + } + Object.defineProperty(Employee.prototype, "fullName", { + get: function () { + return this._fullName; + }, + enumerable: true, + configurable: true + }); + return Employee; +}()); diff --git a/tests/baselines/reference/unusedGetterInClass.symbols b/tests/baselines/reference/unusedGetterInClass.symbols new file mode 100644 index 0000000000000..3d19dd41241c7 --- /dev/null +++ b/tests/baselines/reference/unusedGetterInClass.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/unusedGetterInClass.ts === + +class Employee { +>Employee : Symbol(Employee, Decl(unusedGetterInClass.ts, 0, 0)) + + private _fullName: string; +>_fullName : Symbol(Employee._fullName, Decl(unusedGetterInClass.ts, 1, 16)) + + get fullName(): string { +>fullName : Symbol(Employee.fullName, Decl(unusedGetterInClass.ts, 2, 30)) + + return this._fullName; +>this._fullName : Symbol(Employee._fullName, Decl(unusedGetterInClass.ts, 1, 16)) +>this : Symbol(Employee, Decl(unusedGetterInClass.ts, 0, 0)) +>_fullName : Symbol(Employee._fullName, Decl(unusedGetterInClass.ts, 1, 16)) + } +} diff --git a/tests/baselines/reference/unusedGetterInClass.types b/tests/baselines/reference/unusedGetterInClass.types new file mode 100644 index 0000000000000..8ad7479c443d0 --- /dev/null +++ b/tests/baselines/reference/unusedGetterInClass.types @@ -0,0 +1,17 @@ +=== tests/cases/compiler/unusedGetterInClass.ts === + +class Employee { +>Employee : Employee + + private _fullName: string; +>_fullName : string + + get fullName(): string { +>fullName : string + + return this._fullName; +>this._fullName : string +>this : this +>_fullName : string + } +} diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt index d16450b6267d2..009603dba36ef 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -1,56 +1,56 @@ -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): error TS6133: Variable 'unusedtypeparameter' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): error TS6133: Variable 'unusedprivatevariable' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): error TS6134: Parameter 'message' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): error TS6133: Variable 'unused2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): error TS6133: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): error TS6133: Variable 'numberRegexp' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): error TS6133: Variable 'unUsedPrivateFunction' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): error TS6133: Variable 'usedLocallyInterface2' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): error TS6133: Variable 'dummy' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): error TS6133: Variable 'unusedInterface' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): error TS6133: Variable 'class3' has never been used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Variable 'interface5' has never been used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): error TS6133: 'unusedtypeparameter' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): error TS6133: 'unusedprivatevariable' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): error TS6133: 'message' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): error TS6133: 'unused2' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(18,13): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(25,13): error TS6133: 'unUsedPrivateFunction' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(38,11): error TS6133: 'numberRegexp' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(45,17): error TS6133: 'unUsedPrivateFunction' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(58,15): error TS6133: 'usedLocallyInterface2' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(65,11): error TS6133: 'dummy' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(68,15): error TS6133: 'unusedInterface' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(80,11): error TS6133: 'class3' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: 'interface5' is declared but never used. ==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== function greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. } class Dummy { ~~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'unusedtypeparameter' has never been used. +!!! error TS6133: 'unusedtypeparameter' is declared but never used. private unusedprivatevariable: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'unusedprivatevariable' has never been used. +!!! error TS6133: 'unusedprivatevariable' is declared but never used. private greeting: string; public unusedpublicvariable: string; public typedvariable: usedtypeparameter; constructor(message: string) { ~~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'message' has never been used. +!!! error TS6133: 'message' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. this.greeting = "Dummy Message"; } public greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. this.usedPrivateFunction(); } @@ -59,7 +59,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va private unUsedPrivateFunction() { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'unUsedPrivateFunction' has never been used. +!!! error TS6133: 'unUsedPrivateFunction' is declared but never used. } } @@ -74,7 +74,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! error TS6133: Variable 'numberRegexp' has never been used. +!!! error TS6133: 'numberRegexp' is declared but never used. export class LettersOnlyValidator implements StringValidator { isAcceptable(s2: string) { @@ -83,7 +83,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va private unUsedPrivateFunction() { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'unUsedPrivateFunction' has never been used. +!!! error TS6133: 'unUsedPrivateFunction' is declared but never used. } } @@ -98,7 +98,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va interface usedLocallyInterface2 { ~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'usedLocallyInterface2' has never been used. +!!! error TS6133: 'usedLocallyInterface2' is declared but never used. someFunction(s1: string): void; } @@ -107,12 +107,12 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va class dummy implements usedLocallyInterface { ~~~~~ -!!! error TS6133: Variable 'dummy' has never been used. +!!! error TS6133: 'dummy' is declared but never used. } interface unusedInterface { ~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'unusedInterface' has never been used. +!!! error TS6133: 'unusedInterface' is declared but never used. } } @@ -126,7 +126,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va class class3 { ~~~~~~ -!!! error TS6133: Variable 'class3' has never been used. +!!! error TS6133: 'class3' is declared but never used. } export class class4 { @@ -148,6 +148,6 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: Va interface interface5 { ~~~~~~~~~~ -!!! error TS6133: Variable 'interface5' has never been used. +!!! error TS6133: 'interface5' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt index be49c3cd2fffe..3fa066e5aae27 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6133: Variable 'i1' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6133: 'i1' is declared but never used. ==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6133: Variabl namespace Validation { interface i1 { ~~ -!!! error TS6133: Variable 'i1' has never been used. +!!! error TS6133: 'i1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt index e2d37845ae49b..0635e7be07b79 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6133: Variable 'i1' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6133: 'i1' is declared but never used. ==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6133: Variabl namespace Validation { interface i1 { ~~ -!!! error TS6133: Variable 'i1' has never been used. +!!! error TS6133: 'i1' is declared but never used. } diff --git a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt index 06cbd6ae70566..8aa0e89ae1a14 100644 --- a/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6133: Variable 'i3' has never been used. +tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6133: 'i3' is declared but never used. ==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ==== @@ -14,7 +14,7 @@ tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6133: Variab interface i3 extends i1 { ~~ -!!! error TS6133: Variable 'i3' has never been used. +!!! error TS6133: 'i3' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt index f8b7761877bb9..18141e5acdd6f 100644 --- a/tests/baselines/reference/unusedLocalsInMethod1.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6133: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6133: 'x' is declared but never used. ==== tests/cases/compiler/unusedLocalsInMethod1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6133: Variable 'x' public function1() { var x = 10; ~ -!!! error TS6133: Variable 'x' has never been used. +!!! error TS6133: 'x' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt index 7d263db7d49cc..524580bcdf416 100644 --- a/tests/baselines/reference/unusedLocalsInMethod2.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6133: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6133: 'x' is declared but never used. ==== tests/cases/compiler/unusedLocalsInMethod2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6133: Variable 'x' public function1() { var x, y = 10; ~ -!!! error TS6133: Variable 'x' has never been used. +!!! error TS6133: 'x' is declared but never used. y++; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt index dbe7c19d2ae8d..b82ceaedba267 100644 --- a/tests/baselines/reference/unusedLocalsInMethod3.errors.txt +++ b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6133: Variable 'x' has never been used. +tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6133: 'x' is declared but never used. ==== tests/cases/compiler/unusedLocalsInMethod3.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6133: Variable 'x' public function1() { var x, y; ~ -!!! error TS6133: Variable 'x' has never been used. +!!! error TS6133: 'x' is declared but never used. y = 1; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt index 8fe7ac6736db2..eb06e886a03a4 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,14): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(4,20): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(5,13): error TS6133: 'unused2' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. function maker(child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt index e0d0c5e8f3941..301b272743652 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): error TS6133: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): error TS6134: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): error TS6133: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,14): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(4,20): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(5,13): error TS6133: 'unused2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(7,21): error TS6133: 'child2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(8,13): error TS6133: 'unused3' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. function maker(child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } function maker2(child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child2' has never been used. +!!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ -!!! error TS6133: Variable 'unused3' has never been used. +!!! error TS6133: 'unused3' is declared but never used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt index 489afc59602e9..6bc6e9a6ebadb 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,14): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(4,20): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(5,13): error TS6133: 'unused2' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. function maker(child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt index f156759768980..9fc90274866e0 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): error TS6133: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): error TS6134: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): error TS6133: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,14): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(4,20): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(5,13): error TS6133: 'unused2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(7,21): error TS6133: 'child2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(8,13): error TS6133: 'unused3' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. function maker(child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } function maker2(child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child2' has never been used. +!!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ -!!! error TS6133: Variable 'unused3' has never been used. +!!! error TS6133: 'unused3' is declared but never used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt index ce63c48ec9478..103d6b9623903 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,9): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(4,27): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(5,13): error TS6133: 'unused2' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. var maker = function (child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt index d1cadeca88a23..feb51048e3521 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): error TS6133: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): error TS6134: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): error TS6133: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,9): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(4,26): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(5,13): error TS6133: 'unused2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(7,27): error TS6133: 'child2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(8,13): error TS6133: 'unused3' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. var maker = function(child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } var maker2 = function(child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child2' has never been used. +!!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ -!!! error TS6133: Variable 'unused3' has never been used. +!!! error TS6133: 'unused3' is declared but never used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt index 64924de57b595..c00232c73991f 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -1,26 +1,26 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): error TS6133: Variable 'unused2' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,9): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(4,27): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(5,13): error TS6133: 'unused2' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. var maker = function (child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt index 1c247f4183758..fec95669f494a 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -1,35 +1,35 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): error TS6133: Variable 'unused' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): error TS6133: Variable 'maker' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): error TS6134: Parameter 'child' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): error TS6133: Variable 'unused2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): error TS6134: Parameter 'child2' has never been used. -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): error TS6133: Variable 'unused3' has never been used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(3,9): error TS6133: 'unused' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,9): error TS6133: 'maker' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(4,27): error TS6133: 'child' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(5,13): error TS6133: 'unused2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(7,28): error TS6133: 'child2' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(8,13): error TS6133: 'unused3' is declared but never used. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. var maker = function (child: string): void { ~~~~~ -!!! error TS6133: Variable 'maker' has never been used. +!!! error TS6133: 'maker' is declared but never used. ~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child' has never been used. +!!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ -!!! error TS6133: Variable 'unused2' has never been used. +!!! error TS6133: 'unused2' is declared but never used. } var maker2 = function (child2: string): void { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'child2' has never been used. +!!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ -!!! error TS6133: Variable 'unused3' has never been used. +!!! error TS6133: 'unused3' is declared but never used. } maker2(person2); } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt index e024997c04fb8..6fa3ef0883942 100644 --- a/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedLocalsinConstructor1.ts (1 errors) ==== @@ -7,6 +7,6 @@ tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6133: Variable constructor() { var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt index 59df6f20a9526..44c0bddf87cbc 100644 --- a/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedLocalsinConstructor2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6133: Variable constructor() { var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. var used = "dummy"; used = used + "second part"; } diff --git a/tests/baselines/reference/unusedMethodsInInterface.js b/tests/baselines/reference/unusedMethodsInInterface.js new file mode 100644 index 0000000000000..7a1142d99b9aa --- /dev/null +++ b/tests/baselines/reference/unusedMethodsInInterface.js @@ -0,0 +1,8 @@ +//// [unusedMethodsInInterface.ts] + +interface I1 { + f1(); + f2(x: number, y: string); +} + +//// [unusedMethodsInInterface.js] diff --git a/tests/baselines/reference/unusedMethodsInInterface.symbols b/tests/baselines/reference/unusedMethodsInInterface.symbols new file mode 100644 index 0000000000000..66e4c6cb100cd --- /dev/null +++ b/tests/baselines/reference/unusedMethodsInInterface.symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/unusedMethodsInInterface.ts === + +interface I1 { +>I1 : Symbol(I1, Decl(unusedMethodsInInterface.ts, 0, 0)) + + f1(); +>f1 : Symbol(I1.f1, Decl(unusedMethodsInInterface.ts, 1, 14)) + + f2(x: number, y: string); +>f2 : Symbol(I1.f2, Decl(unusedMethodsInInterface.ts, 2, 9)) +>x : Symbol(x, Decl(unusedMethodsInInterface.ts, 3, 7)) +>y : Symbol(y, Decl(unusedMethodsInInterface.ts, 3, 17)) +} diff --git a/tests/baselines/reference/unusedMethodsInInterface.types b/tests/baselines/reference/unusedMethodsInInterface.types new file mode 100644 index 0000000000000..eb1befac9f0d3 --- /dev/null +++ b/tests/baselines/reference/unusedMethodsInInterface.types @@ -0,0 +1,13 @@ +=== tests/cases/compiler/unusedMethodsInInterface.ts === + +interface I1 { +>I1 : I1 + + f1(); +>f1 : () => any + + f2(x: number, y: string); +>f2 : (x: number, y: string) => any +>x : number +>y : string +} diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt index 57fa43dee23ce..b6c5a4a4b8e3a 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(3,17): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (2 errors) ==== @@ -7,10 +7,10 @@ tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6133 class Dummy { constructor(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "Dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt index 8647672af5dee..8fd7e91dae051 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(2,21): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts (2 errors) ==== var func = function(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "Dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt index bb0c690c55e79..e6ac70c932c1a 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): error TS6134: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,17): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(3,50): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (3 errors) ==== @@ -8,12 +8,12 @@ tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6133 class Dummy { constructor(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. ~~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person3' has never been used. +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "Dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt index d34640e1c9164..534d75c870392 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -1,17 +1,17 @@ -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): error TS6134: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,21): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(2,54): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts (3 errors) ==== var func = function(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. ~~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person3' has never been used. +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "Dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt index fc9a6670a9b28..c0d9540ad8108 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts (2 errors) ==== function greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt index d0463b5dcce6d..8a783563a5096 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(3,20): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts (2 errors) ==== @@ -7,10 +7,10 @@ tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): erro class Dummy { public greeter(person: string, person2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt index 258a29a8b1ccd..4537cede8bbda 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -1,17 +1,17 @@ -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): error TS6134: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(2,51): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts (3 errors) ==== function greeter(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. ~~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person3' has never been used. +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "dummy value"; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt index 59cfdcad01a7f..9b9fe8448a24d 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -1,6 +1,6 @@ -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): error TS6134: Parameter 'person3' has never been used. -tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,20): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(3,53): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts (3 errors) ==== @@ -8,12 +8,12 @@ tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): erro class Dummy { public greeter(person: string, person2: string, person3: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. ~~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person3' has never been used. +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. person2 = "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParameterUsedInTypeOf.js b/tests/baselines/reference/unusedParameterUsedInTypeOf.js new file mode 100644 index 0000000000000..fc2589c31ff8c --- /dev/null +++ b/tests/baselines/reference/unusedParameterUsedInTypeOf.js @@ -0,0 +1,10 @@ +//// [unusedParameterUsedInTypeOf.ts] + +function f1 (a: number, b: typeof a) { + b++; +} + +//// [unusedParameterUsedInTypeOf.js] +function f1(a, b) { + b++; +} diff --git a/tests/baselines/reference/unusedParameterUsedInTypeOf.symbols b/tests/baselines/reference/unusedParameterUsedInTypeOf.symbols new file mode 100644 index 0000000000000..9730baca34fef --- /dev/null +++ b/tests/baselines/reference/unusedParameterUsedInTypeOf.symbols @@ -0,0 +1,11 @@ +=== tests/cases/compiler/unusedParameterUsedInTypeOf.ts === + +function f1 (a: number, b: typeof a) { +>f1 : Symbol(f1, Decl(unusedParameterUsedInTypeOf.ts, 0, 0)) +>a : Symbol(a, Decl(unusedParameterUsedInTypeOf.ts, 1, 13)) +>b : Symbol(b, Decl(unusedParameterUsedInTypeOf.ts, 1, 23)) +>a : Symbol(a, Decl(unusedParameterUsedInTypeOf.ts, 1, 13)) + + b++; +>b : Symbol(b, Decl(unusedParameterUsedInTypeOf.ts, 1, 23)) +} diff --git a/tests/baselines/reference/unusedParameterUsedInTypeOf.types b/tests/baselines/reference/unusedParameterUsedInTypeOf.types new file mode 100644 index 0000000000000..d3b5bb6766126 --- /dev/null +++ b/tests/baselines/reference/unusedParameterUsedInTypeOf.types @@ -0,0 +1,12 @@ +=== tests/cases/compiler/unusedParameterUsedInTypeOf.ts === + +function f1 (a: number, b: typeof a) { +>f1 : (a: number, b: number) => void +>a : number +>b : number +>a : number + + b++; +>b++ : number +>b : number +} diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt index 68f61956de795..d5d2248547703 100644 --- a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6134: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6133: 'param1' is declared but never used. ==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== @@ -6,6 +6,6 @@ tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6134: Para class greeter { constructor(param1: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'param1' has never been used. +!!! error TS6133: 'param1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt index 061960c867081..c755488a630f5 100644 --- a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6134: Parameter 'param1' has never been used. +tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6133: 'param1' is declared but never used. ==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6134: Para class greeter { constructor(param1: string, param2: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'param1' has never been used. +!!! error TS6133: 'param1' is declared but never used. param2 = param2 + "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt index 6dc7c9925ddf9..25c72fc13221d 100644 --- a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): error TS6134: Parameter 'param1' has never been used. -tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6134: Parameter 'param3' has never been used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,17): error TS6133: 'param1' is declared but never used. +tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6133: 'param3' is declared but never used. ==== tests/cases/compiler/unusedParametersinConstructor3.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6134: Para class greeter { constructor(param1: string, param2: string, param3: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'param1' has never been used. +!!! error TS6133: 'param1' is declared but never used. ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'param3' has never been used. +!!! error TS6133: 'param3' is declared but never used. param2 = param2 + "dummy value"; } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt index 1ebfa445f943c..40357c0b7f005 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6133: 'function1' is declared but never used. ==== tests/cases/compiler/unusedPrivateMethodInClass1.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6133: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt index 56aa61dac4145..36a7a3c40d04b 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): error TS6133: Variable 'function1' has never been used. -tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6133: Variable 'function2' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(3,13): error TS6133: 'function1' is declared but never used. +tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6133: 'function2' is declared but never used. ==== tests/cases/compiler/unusedPrivateMethodInClass2.ts (2 errors) ==== @@ -7,14 +7,14 @@ tests/cases/compiler/unusedPrivateMethodInClass2.ts(8,13): error TS6133: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. var y = 10; y++; } private function2() { ~~~~~~~~~ -!!! error TS6133: Variable 'function2' has never been used. +!!! error TS6133: 'function2' is declared but never used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt index 9b4c6589f661e..365cfb321351f 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): error TS6133: Variable 'function1' has never been used. -tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6133: Variable 'function2' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(3,13): error TS6133: 'function1' is declared but never used. +tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6133: 'function2' is declared but never used. ==== tests/cases/compiler/unusedPrivateMethodInClass3.ts (2 errors) ==== @@ -7,14 +7,14 @@ tests/cases/compiler/unusedPrivateMethodInClass3.ts(8,13): error TS6133: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. var y = 10; y++; } private function2() { ~~~~~~~~~ -!!! error TS6133: Variable 'function2' has never been used. +!!! error TS6133: 'function2' is declared but never used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt index 2bf406d88292d..324e7d17bbc54 100644 --- a/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6133: Variable 'function1' has never been used. +tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6133: 'function1' is declared but never used. ==== tests/cases/compiler/unusedPrivateMethodInClass4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6133: Variabl class greeter { private function1() { ~~~~~~~~~ -!!! error TS6133: Variable 'function1' has never been used. +!!! error TS6133: 'function1' is declared but never used. var y = 10; y++; } diff --git a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt index dedbf1c01a0fa..6155d1b089579 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6133: Variable 'x' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6133: 'x' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass1.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6133: Variab class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'x' has never been used. +!!! error TS6133: 'x' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt index 492a65b3afa24..6b79756c63ff7 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): error TS6133: Variable 'x' has never been used. -tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6133: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): error TS6133: 'x' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass2.ts (2 errors) ==== @@ -7,8 +7,8 @@ tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6133: Variab class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'x' has never been used. +!!! error TS6133: 'x' is declared but never used. private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'y' has never been used. +!!! error TS6133: 'y' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt index d33a59a6bda60..d0b662a337ff9 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): error TS6133: Variable 'x' has never been used. -tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6133: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): error TS6133: 'x' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass3.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6133: Variab class greeter { private x: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'x' has never been used. +!!! error TS6133: 'x' is declared but never used. private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'y' has never been used. +!!! error TS6133: 'y' is declared but never used. public z: string; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt index 6cf355497e1ca..c43b877b79973 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6133: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass4.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6133: Variab private x: string; private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'y' has never been used. +!!! error TS6133: 'y' is declared but never used. public z: string; public method1() { diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt index 36e68408cd0e8..4ae07dfcba66d 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6133: Variable 'y' has never been used. +tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass5.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6133: Variab private x: string; private y: string; ~~~~~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'y' has never been used. +!!! error TS6133: 'y' is declared but never used. public z: string; constructor() { diff --git a/tests/baselines/reference/unusedSetterInClass.js b/tests/baselines/reference/unusedSetterInClass.js new file mode 100644 index 0000000000000..aff12b7d043b5 --- /dev/null +++ b/tests/baselines/reference/unusedSetterInClass.js @@ -0,0 +1,23 @@ +//// [unusedSetterInClass.ts] + +class Employee { + private _fullName: string; + + set fullName(newName: string) { + this._fullName = newName; + } +} + +//// [unusedSetterInClass.js] +var Employee = (function () { + function Employee() { + } + Object.defineProperty(Employee.prototype, "fullName", { + set: function (newName) { + this._fullName = newName; + }, + enumerable: true, + configurable: true + }); + return Employee; +}()); diff --git a/tests/baselines/reference/unusedSetterInClass.symbols b/tests/baselines/reference/unusedSetterInClass.symbols new file mode 100644 index 0000000000000..511b106adedee --- /dev/null +++ b/tests/baselines/reference/unusedSetterInClass.symbols @@ -0,0 +1,19 @@ +=== tests/cases/compiler/unusedSetterInClass.ts === + +class Employee { +>Employee : Symbol(Employee, Decl(unusedSetterInClass.ts, 0, 0)) + + private _fullName: string; +>_fullName : Symbol(Employee._fullName, Decl(unusedSetterInClass.ts, 1, 16)) + + set fullName(newName: string) { +>fullName : Symbol(Employee.fullName, Decl(unusedSetterInClass.ts, 2, 30)) +>newName : Symbol(newName, Decl(unusedSetterInClass.ts, 4, 17)) + + this._fullName = newName; +>this._fullName : Symbol(Employee._fullName, Decl(unusedSetterInClass.ts, 1, 16)) +>this : Symbol(Employee, Decl(unusedSetterInClass.ts, 0, 0)) +>_fullName : Symbol(Employee._fullName, Decl(unusedSetterInClass.ts, 1, 16)) +>newName : Symbol(newName, Decl(unusedSetterInClass.ts, 4, 17)) + } +} diff --git a/tests/baselines/reference/unusedSetterInClass.types b/tests/baselines/reference/unusedSetterInClass.types new file mode 100644 index 0000000000000..9a74ef383ae14 --- /dev/null +++ b/tests/baselines/reference/unusedSetterInClass.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/unusedSetterInClass.ts === + +class Employee { +>Employee : Employee + + private _fullName: string; +>_fullName : string + + set fullName(newName: string) { +>fullName : string +>newName : string + + this._fullName = newName; +>this._fullName = newName : string +>this._fullName : string +>this : this +>_fullName : string +>newName : string + } +} diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt index f767ee564d150..b3238b0d9f94b 100644 --- a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(3,17): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedSingleParameterInContructor.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6133: V class Dummy { constructor(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt index 1e94be8e6f58d..82260b15f7ed0 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts (2 errors) ==== function greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt index 179310d246c91..1f32b823c090a 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt @@ -1,13 +1,13 @@ -tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(2,21): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts (2 errors) ==== var func = function(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt index b17937883b257..ab5f028d5017c 100644 --- a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): error TS6134: Parameter 'person' has never been used. -tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS6133: Variable 'unused' has never been used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(3,20): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS6133: 'unused' is declared but never used. ==== tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts (2 errors) ==== @@ -7,9 +7,9 @@ tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS class Dummy { public greeter(person: string) { ~~~~~~~~~~~~~~ -!!! error TS6134: Parameter 'person' has never been used. +!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ -!!! error TS6133: Variable 'unused' has never been used. +!!! error TS6133: 'unused' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters1.errors.txt b/tests/baselines/reference/unusedTypeParameters1.errors.txt index 22b2f5579bb43..15d85d0e8159e 100644 --- a/tests/baselines/reference/unusedTypeParameters1.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedTypeParameters1.ts(2,15): error TS6133: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters1.ts(2,15): error TS6133: 'typeparameter1' is declared but never used. ==== tests/cases/compiler/unusedTypeParameters1.ts (1 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'typeparameter1' has never been used. +!!! error TS6133: 'typeparameter1' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters2.errors.txt b/tests/baselines/reference/unusedTypeParameters2.errors.txt index ef71d3ebeefe0..a82a119d2ca2f 100644 --- a/tests/baselines/reference/unusedTypeParameters2.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters2.errors.txt @@ -1,11 +1,11 @@ -tests/cases/compiler/unusedTypeParameters2.ts(2,15): error TS6133: Variable 'typeparameter1' has never been used. +tests/cases/compiler/unusedTypeParameters2.ts(2,15): error TS6133: 'typeparameter1' is declared but never used. ==== tests/cases/compiler/unusedTypeParameters2.ts (1 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'typeparameter1' has never been used. +!!! error TS6133: 'typeparameter1' is declared but never used. private x: typeparameter2; public function1() { diff --git a/tests/baselines/reference/unusedTypeParameters3.errors.txt b/tests/baselines/reference/unusedTypeParameters3.errors.txt index 0970af65bf1fe..0b051ad476b1b 100644 --- a/tests/baselines/reference/unusedTypeParameters3.errors.txt +++ b/tests/baselines/reference/unusedTypeParameters3.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedTypeParameters3.ts(2,15): error TS6133: Variable 'typeparameter1' has never been used. -tests/cases/compiler/unusedTypeParameters3.ts(2,47): error TS6133: Variable 'typeparameter3' has never been used. +tests/cases/compiler/unusedTypeParameters3.ts(2,15): error TS6133: 'typeparameter1' is declared but never used. +tests/cases/compiler/unusedTypeParameters3.ts(2,47): error TS6133: 'typeparameter3' is declared but never used. ==== tests/cases/compiler/unusedTypeParameters3.ts (2 errors) ==== class greeter { ~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'typeparameter1' has never been used. +!!! error TS6133: 'typeparameter1' is declared but never used. ~~~~~~~~~~~~~~ -!!! error TS6133: Variable 'typeparameter3' has never been used. +!!! error TS6133: 'typeparameter3' is declared but never used. private x: typeparameter2; public function1() { diff --git a/tests/baselines/reference/unusedVariablesinBlocks1.errors.txt b/tests/baselines/reference/unusedVariablesinBlocks1.errors.txt new file mode 100644 index 0000000000000..4f4291395f334 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinBlocks1.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedVariablesinBlocks1.ts(3,9): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinBlocks1.ts (1 errors) ==== + + function f1 () { + let x = 10; + ~ +!!! error TS6133: 'x' is declared but never used. + { + let x = 11; + x++; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinBlocks1.js b/tests/baselines/reference/unusedVariablesinBlocks1.js new file mode 100644 index 0000000000000..d569485aa820b --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinBlocks1.js @@ -0,0 +1,18 @@ +//// [unusedVariablesinBlocks1.ts] + +function f1 () { + let x = 10; + { + let x = 11; + x++; + } +} + +//// [unusedVariablesinBlocks1.js] +function f1() { + var x = 10; + { + var x_1 = 11; + x_1++; + } +} diff --git a/tests/baselines/reference/unusedVariablesinBlocks2.errors.txt b/tests/baselines/reference/unusedVariablesinBlocks2.errors.txt new file mode 100644 index 0000000000000..70af896324caa --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinBlocks2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedVariablesinBlocks2.ts(5,13): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinBlocks2.ts (1 errors) ==== + + function f1 () { + let x = 10; + { + let x = 11; + ~ +!!! error TS6133: 'x' is declared but never used. + } + x++; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinBlocks2.js b/tests/baselines/reference/unusedVariablesinBlocks2.js new file mode 100644 index 0000000000000..0f4cb3463985a --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinBlocks2.js @@ -0,0 +1,18 @@ +//// [unusedVariablesinBlocks2.ts] + +function f1 () { + let x = 10; + { + let x = 11; + } + x++; +} + +//// [unusedVariablesinBlocks2.js] +function f1() { + var x = 10; + { + var x_1 = 11; + } + x++; +} diff --git a/tests/baselines/reference/unusedVariablesinForLoop.errors.txt b/tests/baselines/reference/unusedVariablesinForLoop.errors.txt new file mode 100644 index 0000000000000..b44e9dfdab1e7 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedVariablesinForLoop.ts(3,13): error TS6133: 'i' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinForLoop.ts (1 errors) ==== + + function f1 () { + for(var i = 0; ;) { + ~ +!!! error TS6133: 'i' is declared but never used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinForLoop.js b/tests/baselines/reference/unusedVariablesinForLoop.js new file mode 100644 index 0000000000000..a87e395d6e721 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop.js @@ -0,0 +1,13 @@ +//// [unusedVariablesinForLoop.ts] + +function f1 () { + for(var i = 0; ;) { + + } +} + +//// [unusedVariablesinForLoop.js] +function f1() { + for (var i = 0;;) { + } +} diff --git a/tests/baselines/reference/unusedVariablesinForLoop2.errors.txt b/tests/baselines/reference/unusedVariablesinForLoop2.errors.txt new file mode 100644 index 0000000000000..71974af00f4ea --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop2.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedVariablesinForLoop2.ts(3,16): error TS6133: 'elem' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinForLoop2.ts (1 errors) ==== + + function f1 () { + for (const elem in ["a", "b", "c"]) { + ~~~~ +!!! error TS6133: 'elem' is declared but never used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinForLoop2.js b/tests/baselines/reference/unusedVariablesinForLoop2.js new file mode 100644 index 0000000000000..523fdb18f9e60 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop2.js @@ -0,0 +1,13 @@ +//// [unusedVariablesinForLoop2.ts] + +function f1 () { + for (const elem in ["a", "b", "c"]) { + + } +} + +//// [unusedVariablesinForLoop2.js] +function f1() { + for (var elem in ["a", "b", "c"]) { + } +} diff --git a/tests/baselines/reference/unusedVariablesinForLoop3.errors.txt b/tests/baselines/reference/unusedVariablesinForLoop3.errors.txt new file mode 100644 index 0000000000000..dbaf91ae70d17 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop3.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedVariablesinForLoop3.ts(3,16): error TS6133: 'elem' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinForLoop3.ts (1 errors) ==== + + function f1 () { + for (const elem of ["a", "b", "c"]) { + ~~~~ +!!! error TS6133: 'elem' is declared but never used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinForLoop3.js b/tests/baselines/reference/unusedVariablesinForLoop3.js new file mode 100644 index 0000000000000..833214f3ba549 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop3.js @@ -0,0 +1,14 @@ +//// [unusedVariablesinForLoop3.ts] + +function f1 () { + for (const elem of ["a", "b", "c"]) { + + } +} + +//// [unusedVariablesinForLoop3.js] +function f1() { + for (var _i = 0, _a = ["a", "b", "c"]; _i < _a.length; _i++) { + var elem = _a[_i]; + } +} diff --git a/tests/baselines/reference/unusedVariablesinForLoop4.errors.txt b/tests/baselines/reference/unusedVariablesinForLoop4.errors.txt new file mode 100644 index 0000000000000..d54500d353d57 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop4.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedVariablesinForLoop4.ts(5,13): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinForLoop4.ts (1 errors) ==== + + function f1 () { + for (const elem of ["a", "b", "c"]) { + elem; + var x = 20; + ~ +!!! error TS6133: 'x' is declared but never used. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinForLoop4.js b/tests/baselines/reference/unusedVariablesinForLoop4.js new file mode 100644 index 0000000000000..6ec7f6fec556b --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinForLoop4.js @@ -0,0 +1,17 @@ +//// [unusedVariablesinForLoop4.ts] + +function f1 () { + for (const elem of ["a", "b", "c"]) { + elem; + var x = 20; + } +} + +//// [unusedVariablesinForLoop4.js] +function f1() { + for (var _i = 0, _a = ["a", "b", "c"]; _i < _a.length; _i++) { + var elem = _a[_i]; + elem; + var x = 20; + } +} diff --git a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt index d2b0d4c9ee8ca..39c1cdc4e080d 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6133: Variable 'lettersRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6133: 'lettersRegexp' is declared but never used. ==== tests/cases/compiler/unusedVariablesinNamespaces1.ts (1 errors) ==== @@ -6,5 +6,5 @@ tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6133: Variab namespace Validation { const lettersRegexp = /^[A-Za-z]+$/; ~~~~~~~~~~~~~ -!!! error TS6133: Variable 'lettersRegexp' has never been used. +!!! error TS6133: 'lettersRegexp' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt index 2026419029d0d..43d41e6338bdc 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6133: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6133: 'numberRegexp' is declared but never used. ==== tests/cases/compiler/unusedVariablesinNamespaces2.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6133: Variab const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! error TS6133: Variable 'numberRegexp' has never been used. +!!! error TS6133: 'numberRegexp' is declared but never used. export class LettersOnlyValidator { isAcceptable(s2: string) { diff --git a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt index ecc8e48356b55..a0a274c6b2ae3 100644 --- a/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6133: Variable 'numberRegexp' has never been used. +tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6133: 'numberRegexp' is declared but never used. ==== tests/cases/compiler/unusedVariablesinNamespaces3.ts (1 errors) ==== @@ -7,7 +7,7 @@ tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6133: Variab const lettersRegexp = /^[A-Za-z]+$/; const numberRegexp = /^[0-9]+$/; ~~~~~~~~~~~~ -!!! error TS6133: Variable 'numberRegexp' has never been used. +!!! error TS6133: 'numberRegexp' is declared but never used. export const anotherUnusedVariable = "Dummy value"; export class LettersOnlyValidator { diff --git a/tests/cases/compiler/unusedGetterInClass.ts b/tests/cases/compiler/unusedGetterInClass.ts new file mode 100644 index 0000000000000..e5259f91cdc42 --- /dev/null +++ b/tests/cases/compiler/unusedGetterInClass.ts @@ -0,0 +1,11 @@ +//@target: ES5 +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Employee { + private _fullName: string; + + get fullName(): string { + return this._fullName; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedMethodsInInterface.ts b/tests/cases/compiler/unusedMethodsInInterface.ts new file mode 100644 index 0000000000000..29769bc5b115c --- /dev/null +++ b/tests/cases/compiler/unusedMethodsInInterface.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +interface I1 { + f1(); + f2(x: number, y: string); +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParameterUsedInTypeOf.ts b/tests/cases/compiler/unusedParameterUsedInTypeOf.ts new file mode 100644 index 0000000000000..b69b2412314d3 --- /dev/null +++ b/tests/cases/compiler/unusedParameterUsedInTypeOf.ts @@ -0,0 +1,7 @@ +//@target: ES5 +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 (a: number, b: typeof a) { + b++; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedSetterInClass.ts b/tests/cases/compiler/unusedSetterInClass.ts new file mode 100644 index 0000000000000..a8e45bab43434 --- /dev/null +++ b/tests/cases/compiler/unusedSetterInClass.ts @@ -0,0 +1,11 @@ +//@target: ES5 +//@noUnusedLocals:true +//@noUnusedParameters:true + +class Employee { + private _fullName: string; + + set fullName(newName: string) { + this._fullName = newName; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinBlocks1.ts b/tests/cases/compiler/unusedVariablesinBlocks1.ts new file mode 100644 index 0000000000000..b937fbd8ac19a --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinBlocks1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 () { + let x = 10; + { + let x = 11; + x++; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinBlocks2.ts b/tests/cases/compiler/unusedVariablesinBlocks2.ts new file mode 100644 index 0000000000000..248e6302cd099 --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinBlocks2.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 () { + let x = 10; + { + let x = 11; + } + x++; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinForLoop.ts b/tests/cases/compiler/unusedVariablesinForLoop.ts new file mode 100644 index 0000000000000..01f8a4bdfc5e2 --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinForLoop.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 () { + for(var i = 0; ;) { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinForLoop2.ts b/tests/cases/compiler/unusedVariablesinForLoop2.ts new file mode 100644 index 0000000000000..b5d3496608dcf --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinForLoop2.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 () { + for (const elem in ["a", "b", "c"]) { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinForLoop3.ts b/tests/cases/compiler/unusedVariablesinForLoop3.ts new file mode 100644 index 0000000000000..c08f225e7beb7 --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinForLoop3.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 () { + for (const elem of ["a", "b", "c"]) { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinForLoop4.ts b/tests/cases/compiler/unusedVariablesinForLoop4.ts new file mode 100644 index 0000000000000..ac75e065b9e99 --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinForLoop4.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1 () { + for (const elem of ["a", "b", "c"]) { + elem; + var x = 20; + } +} \ No newline at end of file From c82453f60c11ae4a4aca9ab548504bf64d8d052e Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Mon, 20 Jun 2016 14:29:43 -0700 Subject: [PATCH 25/38] Code changes for checking unused imports --- src/compiler/checker.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index aa3ed795daa39..0f4d366f77bef 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14518,6 +14518,24 @@ namespace ts { return (node.flags & NodeFlags.Private) !== 0; } + function checkUnusedImports(node: SourceFile) { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { + for (const local in node.locals) { + if (hasProperty(node.locals, local)) { + const localValue = node.locals[local]; + if (localValue.declarations && !localValue.exportSymbol) { + for (const declaration of localValue.declarations) { + const symbol = declaration.symbol; + if (!symbol.hasReference) { + error(declaration, Diagnostics._0_is_declared_but_never_used, symbol.name); + } + } + } + } + } + } + } + function checkBlock(node: Block) { // Grammar checking for SyntaxKind.Block if (node.kind === SyntaxKind.Block) { @@ -16569,6 +16587,7 @@ namespace ts { if (target.flags & SymbolFlags.Type) { checkTypeNameIsReserved(node.name, Diagnostics.Import_name_cannot_be_0); } + target.hasReference = true; } } else { @@ -16911,6 +16930,7 @@ namespace ts { deferredNodes = []; forEach(node.statements, checkSourceElement); + checkUnusedImports(node); checkDeferredNodes(); deferredNodes = undefined; From bcd6fc408a7c8124e6ab103f8978edc60b7b780f Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Mon, 20 Jun 2016 15:49:30 -0700 Subject: [PATCH 26/38] Test Cases for Unused Imports --- src/compiler/checker.ts | 10 +++-- .../reference/unusedImports1.errors.txt | 13 ++++++ tests/baselines/reference/unusedImports1.js | 21 +++++++++ .../reference/unusedImports2.errors.txt | 21 +++++++++ tests/baselines/reference/unusedImports2.js | 36 +++++++++++++++ .../reference/unusedImports3.errors.txt | 24 ++++++++++ tests/baselines/reference/unusedImports3.js | 42 ++++++++++++++++++ .../reference/unusedImports4.errors.txt | 25 +++++++++++ tests/baselines/reference/unusedImports4.js | 44 +++++++++++++++++++ .../reference/unusedImports5.errors.txt | 25 +++++++++++ tests/baselines/reference/unusedImports5.js | 44 +++++++++++++++++++ .../reference/unusedImports6.errors.txt | 25 +++++++++++ tests/baselines/reference/unusedImports6.js | 41 +++++++++++++++++ .../reference/unusedImports7.errors.txt | 23 ++++++++++ tests/baselines/reference/unusedImports7.js | 39 ++++++++++++++++ .../reference/unusedImports8.errors.txt | 25 +++++++++++ tests/baselines/reference/unusedImports8.js | 44 +++++++++++++++++++ .../reference/unusedImports9.errors.txt | 21 +++++++++ tests/baselines/reference/unusedImports9.js | 36 +++++++++++++++ tests/cases/compiler/unusedImports1.ts | 10 +++++ tests/cases/compiler/unusedImports2.ts | 18 ++++++++ tests/cases/compiler/unusedImports3.ts | 21 +++++++++ tests/cases/compiler/unusedImports4.ts | 22 ++++++++++ tests/cases/compiler/unusedImports5.ts | 22 ++++++++++ tests/cases/compiler/unusedImports6.ts | 21 +++++++++ tests/cases/compiler/unusedImports7.ts | 19 ++++++++ tests/cases/compiler/unusedImports8.ts | 22 ++++++++++ tests/cases/compiler/unusedImports9.ts | 18 ++++++++ 28 files changed, 728 insertions(+), 4 deletions(-) create mode 100644 tests/baselines/reference/unusedImports1.errors.txt create mode 100644 tests/baselines/reference/unusedImports1.js create mode 100644 tests/baselines/reference/unusedImports2.errors.txt create mode 100644 tests/baselines/reference/unusedImports2.js create mode 100644 tests/baselines/reference/unusedImports3.errors.txt create mode 100644 tests/baselines/reference/unusedImports3.js create mode 100644 tests/baselines/reference/unusedImports4.errors.txt create mode 100644 tests/baselines/reference/unusedImports4.js create mode 100644 tests/baselines/reference/unusedImports5.errors.txt create mode 100644 tests/baselines/reference/unusedImports5.js create mode 100644 tests/baselines/reference/unusedImports6.errors.txt create mode 100644 tests/baselines/reference/unusedImports6.js create mode 100644 tests/baselines/reference/unusedImports7.errors.txt create mode 100644 tests/baselines/reference/unusedImports7.js create mode 100644 tests/baselines/reference/unusedImports8.errors.txt create mode 100644 tests/baselines/reference/unusedImports8.js create mode 100644 tests/baselines/reference/unusedImports9.errors.txt create mode 100644 tests/baselines/reference/unusedImports9.js create mode 100644 tests/cases/compiler/unusedImports1.ts create mode 100644 tests/cases/compiler/unusedImports2.ts create mode 100644 tests/cases/compiler/unusedImports3.ts create mode 100644 tests/cases/compiler/unusedImports4.ts create mode 100644 tests/cases/compiler/unusedImports5.ts create mode 100644 tests/cases/compiler/unusedImports6.ts create mode 100644 tests/cases/compiler/unusedImports7.ts create mode 100644 tests/cases/compiler/unusedImports8.ts create mode 100644 tests/cases/compiler/unusedImports9.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0f4d366f77bef..201fb67512fdb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14525,10 +14525,12 @@ namespace ts { const localValue = node.locals[local]; if (localValue.declarations && !localValue.exportSymbol) { for (const declaration of localValue.declarations) { - const symbol = declaration.symbol; - if (!symbol.hasReference) { - error(declaration, Diagnostics._0_is_declared_but_never_used, symbol.name); - } + if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.NamespaceImport || declaration.kind === SyntaxKind.ImportEqualsDeclaration) { + const symbol = declaration.symbol; + if (!symbol.hasReference) { + error(declaration, Diagnostics._0_is_declared_but_never_used, symbol.name); + } + } } } } diff --git a/tests/baselines/reference/unusedImports1.errors.txt b/tests/baselines/reference/unusedImports1.errors.txt new file mode 100644 index 0000000000000..f2d59c994b556 --- /dev/null +++ b/tests/baselines/reference/unusedImports1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/file2.ts(1,9): error TS6133: 'Calculator' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import {Calculator} from "./file1" + ~~~~~~~~~~ +!!! error TS6133: 'Calculator' is declared but never used. \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports1.js b/tests/baselines/reference/unusedImports1.js new file mode 100644 index 0000000000000..afd6eb80843f6 --- /dev/null +++ b/tests/baselines/reference/unusedImports1.js @@ -0,0 +1,21 @@ +//// [tests/cases/compiler/unusedImports1.ts] //// + +//// [file1.ts] + +export class Calculator { + +} + +//// [file2.ts] +import {Calculator} from "./file1" + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + return Calculator; +}()); +exports.Calculator = Calculator; +//// [file2.js] +"use strict"; diff --git a/tests/baselines/reference/unusedImports2.errors.txt b/tests/baselines/reference/unusedImports2.errors.txt new file mode 100644 index 0000000000000..d2b3a3c2bc565 --- /dev/null +++ b/tests/baselines/reference/unusedImports2.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/file2.ts(2,9): error TS6133: 'test' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import {Calculator} from "./file1" + import {test} from "./file1" + ~~~~ +!!! error TS6133: 'test' is declared but never used. + + var x = new Calculator(); + x.handleChar(); \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports2.js b/tests/baselines/reference/unusedImports2.js new file mode 100644 index 0000000000000..f8918db5ab1e5 --- /dev/null +++ b/tests/baselines/reference/unusedImports2.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/unusedImports2.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +//// [file2.ts] +import {Calculator} from "./file1" +import {test} from "./file1" + +var x = new Calculator(); +x.handleChar(); + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +//// [file2.js] +"use strict"; +var file1_1 = require("./file1"); +var x = new file1_1.Calculator(); +x.handleChar(); diff --git a/tests/baselines/reference/unusedImports3.errors.txt b/tests/baselines/reference/unusedImports3.errors.txt new file mode 100644 index 0000000000000..fe398ab4f8ed9 --- /dev/null +++ b/tests/baselines/reference/unusedImports3.errors.txt @@ -0,0 +1,24 @@ +tests/cases/compiler/file2.ts(1,9): error TS6133: 'Calculator' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export function test2() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import {Calculator, test, test2} from "./file1" + ~~~~~~~~~~ +!!! error TS6133: 'Calculator' is declared but never used. + + test(); + test2(); \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports3.js b/tests/baselines/reference/unusedImports3.js new file mode 100644 index 0000000000000..5c0a3edf16bf1 --- /dev/null +++ b/tests/baselines/reference/unusedImports3.js @@ -0,0 +1,42 @@ +//// [tests/cases/compiler/unusedImports3.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +//// [file2.ts] +import {Calculator, test, test2} from "./file1" + +test(); +test2(); + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.test2 = test2; +//// [file2.js] +"use strict"; +var file1_1 = require("./file1"); +file1_1.test(); +file1_1.test2(); diff --git a/tests/baselines/reference/unusedImports4.errors.txt b/tests/baselines/reference/unusedImports4.errors.txt new file mode 100644 index 0000000000000..872ef8e452e07 --- /dev/null +++ b/tests/baselines/reference/unusedImports4.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/file2.ts(1,21): error TS6133: 'test' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export function test2() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import {Calculator, test, test2} from "./file1" + ~~~~ +!!! error TS6133: 'test' is declared but never used. + + var x = new Calculator(); + x.handleChar(); + test2(); \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports4.js b/tests/baselines/reference/unusedImports4.js new file mode 100644 index 0000000000000..e95938091aed4 --- /dev/null +++ b/tests/baselines/reference/unusedImports4.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/unusedImports4.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +//// [file2.ts] +import {Calculator, test, test2} from "./file1" + +var x = new Calculator(); +x.handleChar(); +test2(); + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.test2 = test2; +//// [file2.js] +"use strict"; +var file1_1 = require("./file1"); +var x = new file1_1.Calculator(); +x.handleChar(); +file1_1.test2(); diff --git a/tests/baselines/reference/unusedImports5.errors.txt b/tests/baselines/reference/unusedImports5.errors.txt new file mode 100644 index 0000000000000..deb9dd00f9cff --- /dev/null +++ b/tests/baselines/reference/unusedImports5.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/file2.ts(1,27): error TS6133: 'test2' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export function test2() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import {Calculator, test, test2} from "./file1" + ~~~~~ +!!! error TS6133: 'test2' is declared but never used. + + var x = new Calculator(); + x.handleChar(); + test(); \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports5.js b/tests/baselines/reference/unusedImports5.js new file mode 100644 index 0000000000000..cf92d01eb7524 --- /dev/null +++ b/tests/baselines/reference/unusedImports5.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/unusedImports5.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +//// [file2.ts] +import {Calculator, test, test2} from "./file1" + +var x = new Calculator(); +x.handleChar(); +test(); + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.test2 = test2; +//// [file2.js] +"use strict"; +var file1_1 = require("./file1"); +var x = new file1_1.Calculator(); +x.handleChar(); +file1_1.test(); diff --git a/tests/baselines/reference/unusedImports6.errors.txt b/tests/baselines/reference/unusedImports6.errors.txt new file mode 100644 index 0000000000000..b27e50ab2d3b7 --- /dev/null +++ b/tests/baselines/reference/unusedImports6.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/file2.ts(1,8): error TS6133: 'd' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export default function test2() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import d from "./file1" + ~ +!!! error TS6133: 'd' is declared but never used. + + + + \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports6.js b/tests/baselines/reference/unusedImports6.js new file mode 100644 index 0000000000000..2e203a62a1bad --- /dev/null +++ b/tests/baselines/reference/unusedImports6.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/unusedImports6.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export default function test2() { + +} + +//// [file2.ts] +import d from "./file1" + + + + + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.__esModule = true; +exports["default"] = test2; +//// [file2.js] +"use strict"; diff --git a/tests/baselines/reference/unusedImports7.errors.txt b/tests/baselines/reference/unusedImports7.errors.txt new file mode 100644 index 0000000000000..8731188d80d71 --- /dev/null +++ b/tests/baselines/reference/unusedImports7.errors.txt @@ -0,0 +1,23 @@ +tests/cases/compiler/file2.ts(1,8): error TS6133: 'n' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export default function test2() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import * as n from "./file1" + ~~~~~~ +!!! error TS6133: 'n' is declared but never used. + + \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports7.js b/tests/baselines/reference/unusedImports7.js new file mode 100644 index 0000000000000..67524fcd22a45 --- /dev/null +++ b/tests/baselines/reference/unusedImports7.js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/unusedImports7.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export default function test2() { + +} + +//// [file2.ts] +import * as n from "./file1" + + + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.__esModule = true; +exports["default"] = test2; +//// [file2.js] +"use strict"; diff --git a/tests/baselines/reference/unusedImports8.errors.txt b/tests/baselines/reference/unusedImports8.errors.txt new file mode 100644 index 0000000000000..566fce7e468ad --- /dev/null +++ b/tests/baselines/reference/unusedImports8.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/file2.ts(1,41): error TS6133: 't2' is declared but never used. + + +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export function test2() { + + } + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import {Calculator as calc, test as t1, test2 as t2} from "./file1" + ~~~~~~~~~~~ +!!! error TS6133: 't2' is declared but never used. + + var x = new calc(); + x.handleChar(); + t1(); \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports8.js b/tests/baselines/reference/unusedImports8.js new file mode 100644 index 0000000000000..2554472e6cebe --- /dev/null +++ b/tests/baselines/reference/unusedImports8.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/unusedImports8.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +//// [file2.ts] +import {Calculator as calc, test as t1, test2 as t2} from "./file1" + +var x = new calc(); +x.handleChar(); +t1(); + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.test2 = test2; +//// [file2.js] +"use strict"; +var file1_1 = require("./file1"); +var x = new file1_1.Calculator(); +x.handleChar(); +file1_1.test(); diff --git a/tests/baselines/reference/unusedImports9.errors.txt b/tests/baselines/reference/unusedImports9.errors.txt new file mode 100644 index 0000000000000..007ac0088c835 --- /dev/null +++ b/tests/baselines/reference/unusedImports9.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/file2.ts(1,1): error TS6133: 'c' is declared but never used. + + +==== tests/cases/compiler/file2.ts (1 errors) ==== + import c = require('./file1') + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS6133: 'c' is declared but never used. +==== tests/cases/compiler/file1.ts (0 errors) ==== + + export class Calculator { + handleChar() {} + } + + export function test() { + + } + + export function test2() { + + } + \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports9.js b/tests/baselines/reference/unusedImports9.js new file mode 100644 index 0000000000000..cd19e167b1971 --- /dev/null +++ b/tests/baselines/reference/unusedImports9.js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/unusedImports9.ts] //// + +//// [file1.ts] + +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +//// [file2.ts] +import c = require('./file1') + +//// [file1.js] +"use strict"; +var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handleChar = function () { }; + return Calculator; +}()); +exports.Calculator = Calculator; +function test() { +} +exports.test = test; +function test2() { +} +exports.test2 = test2; +//// [file2.js] +"use strict"; diff --git a/tests/cases/compiler/unusedImports1.ts b/tests/cases/compiler/unusedImports1.ts new file mode 100644 index 0000000000000..30fff0c1ed195 --- /dev/null +++ b/tests/cases/compiler/unusedImports1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + +} + +// @Filename: file2.ts +import {Calculator} from "./file1" \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports2.ts b/tests/cases/compiler/unusedImports2.ts new file mode 100644 index 0000000000000..00e7fcff33bc3 --- /dev/null +++ b/tests/cases/compiler/unusedImports2.ts @@ -0,0 +1,18 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +// @Filename: file2.ts +import {Calculator} from "./file1" +import {test} from "./file1" + +var x = new Calculator(); +x.handleChar(); \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports3.ts b/tests/cases/compiler/unusedImports3.ts new file mode 100644 index 0000000000000..349c2c9abe8e6 --- /dev/null +++ b/tests/cases/compiler/unusedImports3.ts @@ -0,0 +1,21 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +// @Filename: file2.ts +import {Calculator, test, test2} from "./file1" + +test(); +test2(); \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports4.ts b/tests/cases/compiler/unusedImports4.ts new file mode 100644 index 0000000000000..472c59658509c --- /dev/null +++ b/tests/cases/compiler/unusedImports4.ts @@ -0,0 +1,22 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +// @Filename: file2.ts +import {Calculator, test, test2} from "./file1" + +var x = new Calculator(); +x.handleChar(); +test2(); \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports5.ts b/tests/cases/compiler/unusedImports5.ts new file mode 100644 index 0000000000000..85943691ce2e2 --- /dev/null +++ b/tests/cases/compiler/unusedImports5.ts @@ -0,0 +1,22 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +// @Filename: file2.ts +import {Calculator, test, test2} from "./file1" + +var x = new Calculator(); +x.handleChar(); +test(); \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports6.ts b/tests/cases/compiler/unusedImports6.ts new file mode 100644 index 0000000000000..6ff45cc1b295e --- /dev/null +++ b/tests/cases/compiler/unusedImports6.ts @@ -0,0 +1,21 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export default function test2() { + +} + +// @Filename: file2.ts +import d from "./file1" + + + diff --git a/tests/cases/compiler/unusedImports7.ts b/tests/cases/compiler/unusedImports7.ts new file mode 100644 index 0000000000000..94df358174524 --- /dev/null +++ b/tests/cases/compiler/unusedImports7.ts @@ -0,0 +1,19 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export default function test2() { + +} + +// @Filename: file2.ts +import * as n from "./file1" + diff --git a/tests/cases/compiler/unusedImports8.ts b/tests/cases/compiler/unusedImports8.ts new file mode 100644 index 0000000000000..e8bd982d0380e --- /dev/null +++ b/tests/cases/compiler/unusedImports8.ts @@ -0,0 +1,22 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +// @Filename: file2.ts +import {Calculator as calc, test as t1, test2 as t2} from "./file1" + +var x = new calc(); +x.handleChar(); +t1(); \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports9.ts b/tests/cases/compiler/unusedImports9.ts new file mode 100644 index 0000000000000..2e13e216c1558 --- /dev/null +++ b/tests/cases/compiler/unusedImports9.ts @@ -0,0 +1,18 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @Filename: file1.ts +export class Calculator { + handleChar() {} +} + +export function test() { + +} + +export function test2() { + +} + +// @Filename: file2.ts +import c = require('./file1') \ No newline at end of file From 49385f4a86783e29e2974a3a82a78dae40a67bd0 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Mon, 20 Jun 2016 17:08:13 -0700 Subject: [PATCH 27/38] Response to PR comments --- src/compiler/checker.ts | 8 +++--- .../unusedClassesinModule1.errors.txt | 13 ++++++++++ .../reference/unusedClassesinModule1.js | 20 +++++++++++++++ .../reference/unusedImports10.errors.txt | 17 +++++++++++++ tests/baselines/reference/unusedImports10.js | 25 +++++++++++++++++++ .../reference/unusedModuleInModule.errors.txt | 10 ++++++++ .../reference/unusedModuleInModule.js | 7 ++++++ .../unusedNamespaceInModule.errors.txt | 11 ++++++++ .../reference/unusedNamespaceInModule.js | 8 ++++++ .../unusedNamespaceInNamespace.errors.txt | 11 ++++++++ .../reference/unusedNamespaceInNamespace.js | 8 ++++++ .../cases/compiler/unusedClassesinModule1.ts | 9 +++++++ tests/cases/compiler/unusedImports10.ts | 13 ++++++++++ tests/cases/compiler/unusedModuleInModule.ts | 6 +++++ .../cases/compiler/unusedNamespaceInModule.ts | 7 ++++++ .../compiler/unusedNamespaceInNamespace.ts | 7 ++++++ 16 files changed, 177 insertions(+), 3 deletions(-) create mode 100644 tests/baselines/reference/unusedClassesinModule1.errors.txt create mode 100644 tests/baselines/reference/unusedClassesinModule1.js create mode 100644 tests/baselines/reference/unusedImports10.errors.txt create mode 100644 tests/baselines/reference/unusedImports10.js create mode 100644 tests/baselines/reference/unusedModuleInModule.errors.txt create mode 100644 tests/baselines/reference/unusedModuleInModule.js create mode 100644 tests/baselines/reference/unusedNamespaceInModule.errors.txt create mode 100644 tests/baselines/reference/unusedNamespaceInModule.js create mode 100644 tests/baselines/reference/unusedNamespaceInNamespace.errors.txt create mode 100644 tests/baselines/reference/unusedNamespaceInNamespace.js create mode 100644 tests/cases/compiler/unusedClassesinModule1.ts create mode 100644 tests/cases/compiler/unusedImports10.ts create mode 100644 tests/cases/compiler/unusedModuleInModule.ts create mode 100644 tests/cases/compiler/unusedNamespaceInModule.ts create mode 100644 tests/cases/compiler/unusedNamespaceInNamespace.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 201fb67512fdb..1388df230df6b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14483,7 +14483,8 @@ namespace ts { if ((local.valueDeclaration && local.valueDeclaration.kind)) { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } - else if (local.declarations && local.declarations[0].kind === SyntaxKind.InterfaceDeclaration) { + else if (local.declarations && + (local.declarations[0].kind === SyntaxKind.InterfaceDeclaration || local.declarations[0].kind === SyntaxKind.ImportEqualsDeclaration || local.declarations[0].kind === SyntaxKind.ModuleDeclaration)) { error(local.declarations[0], Diagnostics._0_is_declared_but_never_used, key); } } @@ -14525,12 +14526,13 @@ namespace ts { const localValue = node.locals[local]; if (localValue.declarations && !localValue.exportSymbol) { for (const declaration of localValue.declarations) { - if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.NamespaceImport || declaration.kind === SyntaxKind.ImportEqualsDeclaration) { + if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause + || declaration.kind === SyntaxKind.NamespaceImport || declaration.kind === SyntaxKind.ImportEqualsDeclaration) { const symbol = declaration.symbol; if (!symbol.hasReference) { error(declaration, Diagnostics._0_is_declared_but_never_used, symbol.name); } - } + } } } } diff --git a/tests/baselines/reference/unusedClassesinModule1.errors.txt b/tests/baselines/reference/unusedClassesinModule1.errors.txt new file mode 100644 index 0000000000000..6f2f936ce2568 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinModule1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedClassesinModule1.ts(3,11): error TS6133: 'Calculator' is declared but never used. + + +==== tests/cases/compiler/unusedClassesinModule1.ts (1 errors) ==== + + module A { + class Calculator { + ~~~~~~~~~~ +!!! error TS6133: 'Calculator' is declared but never used. + public handelChar() { + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedClassesinModule1.js b/tests/baselines/reference/unusedClassesinModule1.js new file mode 100644 index 0000000000000..d3fb726c2dd53 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinModule1.js @@ -0,0 +1,20 @@ +//// [unusedClassesinModule1.ts] + +module A { + class Calculator { + public handelChar() { + } + } +} + +//// [unusedClassesinModule1.js] +var A; +(function (A) { + var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handelChar = function () { + }; + return Calculator; + }()); +})(A || (A = {})); diff --git a/tests/baselines/reference/unusedImports10.errors.txt b/tests/baselines/reference/unusedImports10.errors.txt new file mode 100644 index 0000000000000..f0f32b8c01e5f --- /dev/null +++ b/tests/baselines/reference/unusedImports10.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedImports10.ts(10,5): error TS6133: 'a' is declared but never used. + + +==== tests/cases/compiler/unusedImports10.ts (1 errors) ==== + + module A { + export class Calculator { + public handelChar() { + } + } + } + + module B { + import a = A; + ~~~~~~~~~~~~~ +!!! error TS6133: 'a' is declared but never used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports10.js b/tests/baselines/reference/unusedImports10.js new file mode 100644 index 0000000000000..49365e6e3ff13 --- /dev/null +++ b/tests/baselines/reference/unusedImports10.js @@ -0,0 +1,25 @@ +//// [unusedImports10.ts] + +module A { + export class Calculator { + public handelChar() { + } + } +} + +module B { + import a = A; +} + +//// [unusedImports10.js] +var A; +(function (A) { + var Calculator = (function () { + function Calculator() { + } + Calculator.prototype.handelChar = function () { + }; + return Calculator; + }()); + A.Calculator = Calculator; +})(A || (A = {})); diff --git a/tests/baselines/reference/unusedModuleInModule.errors.txt b/tests/baselines/reference/unusedModuleInModule.errors.txt new file mode 100644 index 0000000000000..2430b07c392cc --- /dev/null +++ b/tests/baselines/reference/unusedModuleInModule.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedModuleInModule.ts(3,12): error TS6133: 'B' is declared but never used. + + +==== tests/cases/compiler/unusedModuleInModule.ts (1 errors) ==== + + module A { + module B {} + ~ +!!! error TS6133: 'B' is declared but never used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedModuleInModule.js b/tests/baselines/reference/unusedModuleInModule.js new file mode 100644 index 0000000000000..68042be932106 --- /dev/null +++ b/tests/baselines/reference/unusedModuleInModule.js @@ -0,0 +1,7 @@ +//// [unusedModuleInModule.ts] + +module A { + module B {} +} + +//// [unusedModuleInModule.js] diff --git a/tests/baselines/reference/unusedNamespaceInModule.errors.txt b/tests/baselines/reference/unusedNamespaceInModule.errors.txt new file mode 100644 index 0000000000000..78e389f4c474e --- /dev/null +++ b/tests/baselines/reference/unusedNamespaceInModule.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedNamespaceInModule.ts(3,15): error TS6133: 'B' is declared but never used. + + +==== tests/cases/compiler/unusedNamespaceInModule.ts (1 errors) ==== + + module A { + namespace B { } + ~ +!!! error TS6133: 'B' is declared but never used. + export namespace C {} + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedNamespaceInModule.js b/tests/baselines/reference/unusedNamespaceInModule.js new file mode 100644 index 0000000000000..238ff84767c76 --- /dev/null +++ b/tests/baselines/reference/unusedNamespaceInModule.js @@ -0,0 +1,8 @@ +//// [unusedNamespaceInModule.ts] + +module A { + namespace B { } + export namespace C {} +} + +//// [unusedNamespaceInModule.js] diff --git a/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt b/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt new file mode 100644 index 0000000000000..53582b8bec71e --- /dev/null +++ b/tests/baselines/reference/unusedNamespaceInNamespace.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedNamespaceInNamespace.ts(3,15): error TS6133: 'B' is declared but never used. + + +==== tests/cases/compiler/unusedNamespaceInNamespace.ts (1 errors) ==== + + namespace A { + namespace B { } + ~ +!!! error TS6133: 'B' is declared but never used. + export namespace C {} + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedNamespaceInNamespace.js b/tests/baselines/reference/unusedNamespaceInNamespace.js new file mode 100644 index 0000000000000..1dc8103d77f4e --- /dev/null +++ b/tests/baselines/reference/unusedNamespaceInNamespace.js @@ -0,0 +1,8 @@ +//// [unusedNamespaceInNamespace.ts] + +namespace A { + namespace B { } + export namespace C {} +} + +//// [unusedNamespaceInNamespace.js] diff --git a/tests/cases/compiler/unusedClassesinModule1.ts b/tests/cases/compiler/unusedClassesinModule1.ts new file mode 100644 index 0000000000000..0efc49663882b --- /dev/null +++ b/tests/cases/compiler/unusedClassesinModule1.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +module A { + class Calculator { + public handelChar() { + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedImports10.ts b/tests/cases/compiler/unusedImports10.ts new file mode 100644 index 0000000000000..1cccfbd38bb49 --- /dev/null +++ b/tests/cases/compiler/unusedImports10.ts @@ -0,0 +1,13 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +module A { + export class Calculator { + public handelChar() { + } + } +} + +module B { + import a = A; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedModuleInModule.ts b/tests/cases/compiler/unusedModuleInModule.ts new file mode 100644 index 0000000000000..dc5f55398a7b5 --- /dev/null +++ b/tests/cases/compiler/unusedModuleInModule.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +module A { + module B {} +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedNamespaceInModule.ts b/tests/cases/compiler/unusedNamespaceInModule.ts new file mode 100644 index 0000000000000..adca8a84187ae --- /dev/null +++ b/tests/cases/compiler/unusedNamespaceInModule.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +module A { + namespace B { } + export namespace C {} +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedNamespaceInNamespace.ts b/tests/cases/compiler/unusedNamespaceInNamespace.ts new file mode 100644 index 0000000000000..8de3768a2014e --- /dev/null +++ b/tests/cases/compiler/unusedNamespaceInNamespace.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +namespace A { + namespace B { } + export namespace C {} +} \ No newline at end of file From 5993015ff3bb314e56aa85acd2ec6925fe502e2c Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Tue, 21 Jun 2016 15:46:29 -0700 Subject: [PATCH 28/38] Code change specific to position of Import Declaration --- src/compiler/checker.ts | 10 ++++++---- tests/baselines/reference/unusedImports9.errors.txt | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1388df230df6b..44fc911e8292f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14526,12 +14526,14 @@ namespace ts { const localValue = node.locals[local]; if (localValue.declarations && !localValue.exportSymbol) { for (const declaration of localValue.declarations) { - if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause - || declaration.kind === SyntaxKind.NamespaceImport || declaration.kind === SyntaxKind.ImportEqualsDeclaration) { - const symbol = declaration.symbol; - if (!symbol.hasReference) { + const symbol = declaration.symbol; + if (!symbol.hasReference) { + if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.NamespaceImport) { error(declaration, Diagnostics._0_is_declared_but_never_used, symbol.name); } + else if (declaration.kind === SyntaxKind.ImportEqualsDeclaration) { + error(declaration.name, Diagnostics._0_is_declared_but_never_used, symbol.name); + } } } } diff --git a/tests/baselines/reference/unusedImports9.errors.txt b/tests/baselines/reference/unusedImports9.errors.txt index 007ac0088c835..8503a35e29073 100644 --- a/tests/baselines/reference/unusedImports9.errors.txt +++ b/tests/baselines/reference/unusedImports9.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/file2.ts(1,1): error TS6133: 'c' is declared but never used. +tests/cases/compiler/file2.ts(1,8): error TS6133: 'c' is declared but never used. ==== tests/cases/compiler/file2.ts (1 errors) ==== import c = require('./file1') - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'c' is declared but never used. ==== tests/cases/compiler/file1.ts (0 errors) ==== From f464f92aeee2887169aa9e2c863dfbd05b05e9ea Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Tue, 21 Jun 2016 16:18:48 -0700 Subject: [PATCH 29/38] Code change for handling the position for unused import --- src/compiler/checker.ts | 5 ++++- tests/baselines/reference/unusedImports10.errors.txt | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 44fc911e8292f..d2660db039098 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14484,9 +14484,12 @@ namespace ts { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } else if (local.declarations && - (local.declarations[0].kind === SyntaxKind.InterfaceDeclaration || local.declarations[0].kind === SyntaxKind.ImportEqualsDeclaration || local.declarations[0].kind === SyntaxKind.ModuleDeclaration)) { + (local.declarations[0].kind === SyntaxKind.InterfaceDeclaration || local.declarations[0].kind === SyntaxKind.ModuleDeclaration)) { error(local.declarations[0], Diagnostics._0_is_declared_but_never_used, key); } + else if (local.declarations && local.declarations[0].kind === SyntaxKind.ImportEqualsDeclaration) { + error(local.declarations[0].name, Diagnostics._0_is_declared_but_never_used, key); + } } } } diff --git a/tests/baselines/reference/unusedImports10.errors.txt b/tests/baselines/reference/unusedImports10.errors.txt index f0f32b8c01e5f..c4937a420f99f 100644 --- a/tests/baselines/reference/unusedImports10.errors.txt +++ b/tests/baselines/reference/unusedImports10.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedImports10.ts(10,5): error TS6133: 'a' is declared but never used. +tests/cases/compiler/unusedImports10.ts(10,12): error TS6133: 'a' is declared but never used. ==== tests/cases/compiler/unusedImports10.ts (1 errors) ==== @@ -12,6 +12,6 @@ tests/cases/compiler/unusedImports10.ts(10,5): error TS6133: 'a' is declared but module B { import a = A; - ~~~~~~~~~~~~~ + ~ !!! error TS6133: 'a' is declared but never used. } \ No newline at end of file From 3b5f8d27b0dbfc5ce921929a464b77ebcb8262fa Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 22 Jun 2016 12:57:07 -0700 Subject: [PATCH 30/38] New scenarios for handling parameters in lambda function, type parameters in methods, etc. --- src/compiler/checker.ts | 68 ++++++++----------- .../unusedParametersInLambda1.errors.txt | 13 ++++ .../reference/unusedParametersInLambda1.js | 19 ++++++ .../unusedParametersInLambda2.errors.txt | 14 ++++ .../reference/unusedParametersInLambda2.js | 21 ++++++ .../unusedTypeParameterInFunction1.errors.txt | 10 +++ .../unusedTypeParameterInFunction1.js | 9 +++ .../unusedTypeParameterInFunction2.errors.txt | 11 +++ .../unusedTypeParameterInFunction2.js | 12 ++++ .../unusedTypeParameterInFunction3.errors.txt | 13 ++++ .../unusedTypeParameterInFunction3.js | 16 +++++ .../unusedTypeParameterInFunction4.errors.txt | 13 ++++ .../unusedTypeParameterInFunction4.js | 16 +++++ .../unusedTypeParameterInLambda1.errors.txt | 14 ++++ .../reference/unusedTypeParameterInLambda1.js | 20 ++++++ .../unusedTypeParameterInLambda2.errors.txt | 15 ++++ .../reference/unusedTypeParameterInLambda2.js | 23 +++++++ .../unusedTypeParameterInMethod1.errors.txt | 15 ++++ .../reference/unusedTypeParameterInMethod1.js | 23 +++++++ .../unusedTypeParameterInMethod2.errors.txt | 15 ++++ .../reference/unusedTypeParameterInMethod2.js | 23 +++++++ .../unusedTypeParameterInMethod3.errors.txt | 15 ++++ .../reference/unusedTypeParameterInMethod3.js | 23 +++++++ .../unusedTypeParameterInMethod4.errors.txt | 12 ++++ .../reference/unusedTypeParameterInMethod4.js | 16 +++++ .../unusedTypeParameterInMethod5.errors.txt | 12 ++++ .../reference/unusedTypeParameterInMethod5.js | 16 +++++ .../compiler/unusedParametersInLambda1.ts | 9 +++ .../compiler/unusedParametersInLambda2.ts | 10 +++ .../unusedTypeParameterInFunction1.ts | 6 ++ .../unusedTypeParameterInFunction2.ts | 7 ++ .../unusedTypeParameterInFunction3.ts | 9 +++ .../unusedTypeParameterInFunction4.ts | 9 +++ .../compiler/unusedTypeParameterInLambda1.ts | 10 +++ .../compiler/unusedTypeParameterInLambda2.ts | 11 +++ .../compiler/unusedTypeParameterInMethod1.ts | 11 +++ .../compiler/unusedTypeParameterInMethod2.ts | 11 +++ .../compiler/unusedTypeParameterInMethod3.ts | 11 +++ .../compiler/unusedTypeParameterInMethod4.ts | 8 +++ .../compiler/unusedTypeParameterInMethod5.ts | 8 +++ 40 files changed, 556 insertions(+), 41 deletions(-) create mode 100644 tests/baselines/reference/unusedParametersInLambda1.errors.txt create mode 100644 tests/baselines/reference/unusedParametersInLambda1.js create mode 100644 tests/baselines/reference/unusedParametersInLambda2.errors.txt create mode 100644 tests/baselines/reference/unusedParametersInLambda2.js create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction1.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction1.js create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction2.js create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction3.js create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInFunction4.js create mode 100644 tests/baselines/reference/unusedTypeParameterInLambda1.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInLambda1.js create mode 100644 tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInLambda2.js create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod1.js create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod2.js create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod3.js create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod4.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod4.js create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod5.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInMethod5.js create mode 100644 tests/cases/compiler/unusedParametersInLambda1.ts create mode 100644 tests/cases/compiler/unusedParametersInLambda2.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInFunction1.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInFunction2.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInFunction3.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInFunction4.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInLambda1.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInLambda2.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInMethod1.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInMethod2.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInMethod3.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInMethod4.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInMethod5.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d2660db039098..9af1a4d8e0632 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8278,18 +8278,11 @@ namespace ts { return container === declarationContainer; } - function updateReferencesForTypedParameters(node: TypeNode): void { - const symbol = getNodeLinks(node).resolvedSymbol; - if (symbol) { - symbol.hasReference = true; - } - } - function updateReferencesForInterfaceHeritiageClauseTargets(node: InterfaceDeclaration): void { const extendedTypeNode = getClassExtendsHeritageClauseElement(node); if (extendedTypeNode) { const t = getTypeFromTypeNode(extendedTypeNode); - if (t !== unknownType && t.symbol) { + if (t !== unknownType && t.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { t.symbol.hasReference = true; } } @@ -8297,7 +8290,7 @@ namespace ts { function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); - if (symbol && !isInAmbientContext(node)) { + if (symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { symbol.hasReference = true; } @@ -10189,7 +10182,10 @@ namespace ts { return unknownType; } - prop.hasReference = true; + if ((compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + prop.hasReference = true; + } + getNodeLinks(node).resolvedSymbol = prop; if (prop.parent && prop.parent.flags & SymbolFlags.Class) { @@ -12121,7 +12117,6 @@ namespace ts { if (node.body.kind === SyntaxKind.Block) { checkSourceElement(node.body); - checkUnusedLocals(node); } else { // From within an async function you can return either a non-promise value or a promise. Any @@ -12140,6 +12135,8 @@ namespace ts { } } } + checkUnusedIdentifiers(node); + checkUnusedTypeParameters(node); } } @@ -13339,9 +13336,6 @@ namespace ts { checkGrammarDecorators(node) || checkGrammarModifiers(node) || checkGrammarProperty(node) || checkGrammarComputedPropertyName(node.name); checkVariableLikeDeclaration(node); - if (node.type && node.type.kind === SyntaxKind.TypeReference) { - updateReferencesForTypedParameters(node.type); - } } function checkMethodDeclaration(node: MethodDeclaration) { @@ -13365,7 +13359,8 @@ namespace ts { checkGrammarConstructorTypeParameters(node) || checkGrammarConstructorTypeAnnotation(node); checkSourceElement(node.body); - checkUnusedLocals(node); + checkUnusedIdentifiers(node); + checkUnusedTypeParameters(node); const symbol = getSymbolOfNode(node); const firstDeclaration = getDeclarationOfKind(symbol, node.kind); @@ -13559,7 +13554,7 @@ namespace ts { checkGrammarTypeArguments(node, node.typeArguments); const type = getTypeFromTypeReference(node); if (type !== unknownType) { - if (type.symbol) { + if (type.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { type.symbol.hasReference = true; } if (node.typeArguments) { @@ -14410,7 +14405,8 @@ namespace ts { } checkSourceElement(node.body); - checkUnusedLocals(node); + checkUnusedIdentifiers(node); + checkUnusedTypeParameters(node); if (!node.asteriskToken) { const returnOrPromisedType = node.type && (isAsync ? checkAsyncFunctionReturnType(node) : getTypeFromTypeNode(node.type)); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnOrPromisedType); @@ -14432,33 +14428,16 @@ namespace ts { } } - function checkUnusedLocals(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { - checkUnusedIdentifiers(node); - checkUnusedParameters(node); - } - function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { - if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { + if (node.parent.kind !== SyntaxKind.InterfaceDeclaration && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { for (const key in node.locals) { if (hasProperty(node.locals, key)) { const local = node.locals[key]; - if (!local.hasReference && local.valueDeclaration && local.valueDeclaration.kind) { - if (local.valueDeclaration.kind !== SyntaxKind.Parameter) { + if (!local.hasReference && local.valueDeclaration) { + if (local.valueDeclaration.kind !== SyntaxKind.Parameter && compilerOptions.noUnusedLocals) { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } - } - } - } - } - } - - function checkUnusedParameters(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { - if (node.parent.kind !== SyntaxKind.InterfaceDeclaration && compilerOptions.noUnusedParameters && !isInAmbientContext(node)) { - for (const key in node.locals) { - if (hasProperty(node.locals, key)) { - const local = node.locals[key]; - if (!local.hasReference && local.valueDeclaration && local.valueDeclaration.kind) { - if (local.valueDeclaration.kind === SyntaxKind.Parameter) { + else if (local.valueDeclaration.kind === SyntaxKind.Parameter && compilerOptions.noUnusedParameters) { if (local.valueDeclaration.modifiers) { if (getCombinedNodeFlags(local.valueDeclaration) & NodeFlags.Private) { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); @@ -14507,7 +14486,11 @@ namespace ts { } } } + } + } + function checkUnusedTypeParameters(node: ClassDeclaration | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration) { + if (compilerOptions.noUnusedLocals) { if (node.typeParameters) { for (const typeParameter of node.typeParameters) { if (!typeParameter.symbol.hasReference) { @@ -14551,7 +14534,7 @@ namespace ts { checkGrammarStatementInAmbientContext(node); } forEach(node.statements, checkSourceElement); - checkUnusedLocals(node); + checkUnusedIdentifiers(node); } function checkCollisionWithArgumentsInGeneratedCode(node: SignatureDeclaration) { @@ -15706,6 +15689,7 @@ namespace ts { checkClassLikeDeclaration(node); forEach(node.members, checkSourceElement); checkUnusedPrivates(node); + checkUnusedTypeParameters(node); } function checkClassLikeDeclaration(node: ClassLikeDeclaration) { @@ -15770,7 +15754,7 @@ namespace ts { if (produceDiagnostics) { const t = getTypeFromTypeNode(typeRefNode); if (t !== unknownType) { - if (t.symbol) { + if (t.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { t.symbol.hasReference = true; } const declaredType = (t.flags & TypeFlags.Reference) ? (t).target : t; @@ -16596,7 +16580,9 @@ namespace ts { if (target.flags & SymbolFlags.Type) { checkTypeNameIsReserved(node.name, Diagnostics.Import_name_cannot_be_0); } - target.hasReference = true; + if ((compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + target.hasReference = true; + } } } else { diff --git a/tests/baselines/reference/unusedParametersInLambda1.errors.txt b/tests/baselines/reference/unusedParametersInLambda1.errors.txt new file mode 100644 index 0000000000000..2c54de1d571f6 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedParametersInLambda1.ts(4,17): error TS6133: 'X' is declared but never used. + + +==== tests/cases/compiler/unusedParametersInLambda1.ts (1 errors) ==== + + class A { + public f1() { + return (X) => { + ~ +!!! error TS6133: 'X' is declared but never used. + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersInLambda1.js b/tests/baselines/reference/unusedParametersInLambda1.js new file mode 100644 index 0000000000000..c3ca54bd6a775 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda1.js @@ -0,0 +1,19 @@ +//// [unusedParametersInLambda1.ts] + +class A { + public f1() { + return (X) => { + } + } +} + +//// [unusedParametersInLambda1.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + return function (X) { + }; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedParametersInLambda2.errors.txt b/tests/baselines/reference/unusedParametersInLambda2.errors.txt new file mode 100644 index 0000000000000..3044e6d9c88be --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedParametersInLambda2.ts(4,17): error TS6133: 'X' is declared but never used. + + +==== tests/cases/compiler/unusedParametersInLambda2.ts (1 errors) ==== + + class A { + public f1() { + return (X, Y) => { + ~ +!!! error TS6133: 'X' is declared but never used. + Y; + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersInLambda2.js b/tests/baselines/reference/unusedParametersInLambda2.js new file mode 100644 index 0000000000000..b7833af340eaf --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda2.js @@ -0,0 +1,21 @@ +//// [unusedParametersInLambda2.ts] + +class A { + public f1() { + return (X, Y) => { + Y; + } + } +} + +//// [unusedParametersInLambda2.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + return function (X, Y) { + Y; + }; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInFunction1.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction1.errors.txt new file mode 100644 index 0000000000000..afbdb09c16257 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction1.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedTypeParameterInFunction1.ts(2,13): error TS6133: 'T' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInFunction1.ts (1 errors) ==== + + function f1() { + ~ +!!! error TS6133: 'T' is declared but never used. + + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction1.js b/tests/baselines/reference/unusedTypeParameterInFunction1.js new file mode 100644 index 0000000000000..6ecf90343b761 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction1.js @@ -0,0 +1,9 @@ +//// [unusedTypeParameterInFunction1.ts] + +function f1() { + +} + +//// [unusedTypeParameterInFunction1.js] +function f1() { +} diff --git a/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt new file mode 100644 index 0000000000000..0097cc99810a9 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction2.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedTypeParameterInFunction2.ts(2,16): error TS6133: 'Y' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInFunction2.ts (1 errors) ==== + + function f1() { + ~ +!!! error TS6133: 'Y' is declared but never used. + var a: X; + a; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction2.js b/tests/baselines/reference/unusedTypeParameterInFunction2.js new file mode 100644 index 0000000000000..7c3eaa9112726 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction2.js @@ -0,0 +1,12 @@ +//// [unusedTypeParameterInFunction2.ts] + +function f1() { + var a: X; + a; +} + +//// [unusedTypeParameterInFunction2.js] +function f1() { + var a; + a; +} diff --git a/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt new file mode 100644 index 0000000000000..7a2e33769da4c --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction3.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedTypeParameterInFunction3.ts(2,16): error TS6133: 'Y' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInFunction3.ts (1 errors) ==== + + function f1() { + ~ +!!! error TS6133: 'Y' is declared but never used. + var a: X; + var b: Z; + a; + b; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction3.js b/tests/baselines/reference/unusedTypeParameterInFunction3.js new file mode 100644 index 0000000000000..335a5668acc57 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction3.js @@ -0,0 +1,16 @@ +//// [unusedTypeParameterInFunction3.ts] + +function f1() { + var a: X; + var b: Z; + a; + b; +} + +//// [unusedTypeParameterInFunction3.js] +function f1() { + var a; + var b; + a; + b; +} diff --git a/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt b/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt new file mode 100644 index 0000000000000..7840ff31df3ca --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction4.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedTypeParameterInFunction4.ts(2,13): error TS6133: 'X' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInFunction4.ts (1 errors) ==== + + function f1() { + ~ +!!! error TS6133: 'X' is declared but never used. + var a: Y; + var b: Z; + a; + b; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInFunction4.js b/tests/baselines/reference/unusedTypeParameterInFunction4.js new file mode 100644 index 0000000000000..e6b26dfbd4e76 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInFunction4.js @@ -0,0 +1,16 @@ +//// [unusedTypeParameterInFunction4.ts] + +function f1() { + var a: Y; + var b: Z; + a; + b; +} + +//// [unusedTypeParameterInFunction4.js] +function f1() { + var a; + var b; + a; + b; +} diff --git a/tests/baselines/reference/unusedTypeParameterInLambda1.errors.txt b/tests/baselines/reference/unusedTypeParameterInLambda1.errors.txt new file mode 100644 index 0000000000000..a84df63b3176a --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInLambda1.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedTypeParameterInLambda1.ts(4,17): error TS6133: 'T' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInLambda1.ts (1 errors) ==== + + class A { + public f1() { + return () => { + ~ +!!! error TS6133: 'T' is declared but never used. + + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInLambda1.js b/tests/baselines/reference/unusedTypeParameterInLambda1.js new file mode 100644 index 0000000000000..0f55a4a32a194 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInLambda1.js @@ -0,0 +1,20 @@ +//// [unusedTypeParameterInLambda1.ts] + +class A { + public f1() { + return () => { + + } + } +} + +//// [unusedTypeParameterInLambda1.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + return function () { + }; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt b/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt new file mode 100644 index 0000000000000..c11047434722a --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInLambda2.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedTypeParameterInLambda2.ts(4,17): error TS6133: 'T' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInLambda2.ts (1 errors) ==== + + class A { + public f1() { + return () => { + ~ +!!! error TS6133: 'T' is declared but never used. + var a: X; + a; + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInLambda2.js b/tests/baselines/reference/unusedTypeParameterInLambda2.js new file mode 100644 index 0000000000000..16545eb13f25a --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInLambda2.js @@ -0,0 +1,23 @@ +//// [unusedTypeParameterInLambda2.ts] + +class A { + public f1() { + return () => { + var a: X; + a; + } + } +} + +//// [unusedTypeParameterInLambda2.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + return function () { + var a; + a; + }; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt new file mode 100644 index 0000000000000..3b39d9b35ecc9 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod1.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedTypeParameterInMethod1.ts(3,15): error TS6133: 'X' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInMethod1.ts (1 errors) ==== + + class A { + public f1() { + ~ +!!! error TS6133: 'X' is declared but never used. + var a: Y; + var b: Z; + a; + b; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInMethod1.js b/tests/baselines/reference/unusedTypeParameterInMethod1.js new file mode 100644 index 0000000000000..e5ab22095b83b --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod1.js @@ -0,0 +1,23 @@ +//// [unusedTypeParameterInMethod1.ts] + +class A { + public f1() { + var a: Y; + var b: Z; + a; + b; + } +} + +//// [unusedTypeParameterInMethod1.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + var a; + var b; + a; + b; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt new file mode 100644 index 0000000000000..f1dafb5a19e7a --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod2.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedTypeParameterInMethod2.ts(3,18): error TS6133: 'Y' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInMethod2.ts (1 errors) ==== + + class A { + public f1() { + ~ +!!! error TS6133: 'Y' is declared but never used. + var a: X; + var b: Z; + a; + b; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInMethod2.js b/tests/baselines/reference/unusedTypeParameterInMethod2.js new file mode 100644 index 0000000000000..9fb785634c6e0 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod2.js @@ -0,0 +1,23 @@ +//// [unusedTypeParameterInMethod2.ts] + +class A { + public f1() { + var a: X; + var b: Z; + a; + b; + } +} + +//// [unusedTypeParameterInMethod2.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + var a; + var b; + a; + b; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt new file mode 100644 index 0000000000000..04a43e3d011f4 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod3.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedTypeParameterInMethod3.ts(3,21): error TS6133: 'Z' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInMethod3.ts (1 errors) ==== + + class A { + public f1() { + ~ +!!! error TS6133: 'Z' is declared but never used. + var a: X; + var b: Y; + a; + b; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInMethod3.js b/tests/baselines/reference/unusedTypeParameterInMethod3.js new file mode 100644 index 0000000000000..b81d0796dc4e6 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod3.js @@ -0,0 +1,23 @@ +//// [unusedTypeParameterInMethod3.ts] + +class A { + public f1() { + var a: X; + var b: Y; + a; + b; + } +} + +//// [unusedTypeParameterInMethod3.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + var a; + var b; + a; + b; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInMethod4.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod4.errors.txt new file mode 100644 index 0000000000000..9026aaad32143 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod4.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedTypeParameterInMethod4.ts(3,15): error TS6133: 'X' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInMethod4.ts (1 errors) ==== + + class A { + public f1() { + ~ +!!! error TS6133: 'X' is declared but never used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInMethod4.js b/tests/baselines/reference/unusedTypeParameterInMethod4.js new file mode 100644 index 0000000000000..4db72f193a208 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod4.js @@ -0,0 +1,16 @@ +//// [unusedTypeParameterInMethod4.ts] + +class A { + public f1() { + + } +} + +//// [unusedTypeParameterInMethod4.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedTypeParameterInMethod5.errors.txt b/tests/baselines/reference/unusedTypeParameterInMethod5.errors.txt new file mode 100644 index 0000000000000..20d95ec4bb5fc --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod5.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedTypeParameterInMethod5.ts(3,26): error TS6133: 'X' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInMethod5.ts (1 errors) ==== + + class A { + public f1 = function() { + ~ +!!! error TS6133: 'X' is declared but never used. + + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInMethod5.js b/tests/baselines/reference/unusedTypeParameterInMethod5.js new file mode 100644 index 0000000000000..e1863b4cbb180 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInMethod5.js @@ -0,0 +1,16 @@ +//// [unusedTypeParameterInMethod5.ts] + +class A { + public f1 = function() { + + } +} + +//// [unusedTypeParameterInMethod5.js] +var A = (function () { + function A() { + this.f1 = function () { + }; + } + return A; +}()); diff --git a/tests/cases/compiler/unusedParametersInLambda1.ts b/tests/cases/compiler/unusedParametersInLambda1.ts new file mode 100644 index 0000000000000..431ac1eb1dce7 --- /dev/null +++ b/tests/cases/compiler/unusedParametersInLambda1.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + return (X) => { + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersInLambda2.ts b/tests/cases/compiler/unusedParametersInLambda2.ts new file mode 100644 index 0000000000000..ed4dfb3404b11 --- /dev/null +++ b/tests/cases/compiler/unusedParametersInLambda2.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + return (X, Y) => { + Y; + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInFunction1.ts b/tests/cases/compiler/unusedTypeParameterInFunction1.ts new file mode 100644 index 0000000000000..421d2aa7b3700 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInFunction1.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1() { + +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInFunction2.ts b/tests/cases/compiler/unusedTypeParameterInFunction2.ts new file mode 100644 index 0000000000000..76eeb11bb34fc --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInFunction2.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1() { + var a: X; + a; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInFunction3.ts b/tests/cases/compiler/unusedTypeParameterInFunction3.ts new file mode 100644 index 0000000000000..37f01468156e3 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInFunction3.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1() { + var a: X; + var b: Z; + a; + b; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInFunction4.ts b/tests/cases/compiler/unusedTypeParameterInFunction4.ts new file mode 100644 index 0000000000000..56549d9397646 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInFunction4.ts @@ -0,0 +1,9 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1() { + var a: Y; + var b: Z; + a; + b; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInLambda1.ts b/tests/cases/compiler/unusedTypeParameterInLambda1.ts new file mode 100644 index 0000000000000..dd4dbe7824a7a --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInLambda1.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + return () => { + + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInLambda2.ts b/tests/cases/compiler/unusedTypeParameterInLambda2.ts new file mode 100644 index 0000000000000..73177a8b09dab --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInLambda2.ts @@ -0,0 +1,11 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + return () => { + var a: X; + a; + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInMethod1.ts b/tests/cases/compiler/unusedTypeParameterInMethod1.ts new file mode 100644 index 0000000000000..f58bde3d2a100 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInMethod1.ts @@ -0,0 +1,11 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + var a: Y; + var b: Z; + a; + b; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInMethod2.ts b/tests/cases/compiler/unusedTypeParameterInMethod2.ts new file mode 100644 index 0000000000000..f344d188b0a5a --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInMethod2.ts @@ -0,0 +1,11 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + var a: X; + var b: Z; + a; + b; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInMethod3.ts b/tests/cases/compiler/unusedTypeParameterInMethod3.ts new file mode 100644 index 0000000000000..9734136bd0359 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInMethod3.ts @@ -0,0 +1,11 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + var a: X; + var b: Y; + a; + b; + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInMethod4.ts b/tests/cases/compiler/unusedTypeParameterInMethod4.ts new file mode 100644 index 0000000000000..ef487d1111869 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInMethod4.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInMethod5.ts b/tests/cases/compiler/unusedTypeParameterInMethod5.ts new file mode 100644 index 0000000000000..73cedcf402ec9 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInMethod5.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1 = function() { + + } +} \ No newline at end of file From ed282d75ab6c7306050a381fd130ddf693bc8e9e Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 22 Jun 2016 16:06:04 -0700 Subject: [PATCH 31/38] Additional scenarios based on PR comments --- src/compiler/checker.ts | 22 ++++++++++++------- .../unusedParameterInCatchClause.errors.txt | 10 +++++++++ .../reference/unusedParameterInCatchClause.js | 11 ++++++++++ .../unusedTypeParameters4.errors.txt | 10 +++++++++ .../reference/unusedTypeParameters4.js | 8 +++++++ .../unusedTypeParameters5.errors.txt | 14 ++++++++++++ .../reference/unusedTypeParameters5.js | 17 ++++++++++++++ .../compiler/unusedParameterInCatchClause.ts | 6 +++++ tests/cases/compiler/unusedTypeParameters4.ts | 6 +++++ tests/cases/compiler/unusedTypeParameters5.ts | 10 +++++++++ 10 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 tests/baselines/reference/unusedParameterInCatchClause.errors.txt create mode 100644 tests/baselines/reference/unusedParameterInCatchClause.js create mode 100644 tests/baselines/reference/unusedTypeParameters4.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameters4.js create mode 100644 tests/baselines/reference/unusedTypeParameters5.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameters5.js create mode 100644 tests/cases/compiler/unusedParameterInCatchClause.ts create mode 100644 tests/cases/compiler/unusedTypeParameters4.ts create mode 100644 tests/cases/compiler/unusedTypeParameters5.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9af1a4d8e0632..20b74ed5eec48 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13207,6 +13207,9 @@ namespace ts { checkAsyncFunctionReturnType(node); } } + if (node.kind === SyntaxKind.ConstructSignature) { + checkUnusedTypeParameters(node); + } } } @@ -14428,7 +14431,7 @@ namespace ts { } } - function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block): void { + function checkUnusedIdentifiers(node: FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction | ForInStatement | Block | CatchClause): void { if (node.parent.kind !== SyntaxKind.InterfaceDeclaration && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { for (const key in node.locals) { if (hasProperty(node.locals, key)) { @@ -14453,7 +14456,7 @@ namespace ts { } } - function checkUnusedModulePrivates(node: ModuleDeclaration): void { + function checkUnusedModuleLocals(node: ModuleDeclaration): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { if (hasProperty(node.locals, key)) { @@ -14475,7 +14478,7 @@ namespace ts { } } - function checkUnusedPrivates(node: ClassDeclaration): void { + function checkUnusedClassLocals(node: ClassDeclaration): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { if (node.members) { for (const member of node.members) { @@ -14489,7 +14492,7 @@ namespace ts { } } - function checkUnusedTypeParameters(node: ClassDeclaration | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration) { + function checkUnusedTypeParameters(node: ClassDeclaration | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration | SignatureDeclaration) { if (compilerOptions.noUnusedLocals) { if (node.typeParameters) { for (const typeParameter of node.typeParameters) { @@ -14506,7 +14509,7 @@ namespace ts { } function checkUnusedImports(node: SourceFile) { - if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { + if (compilerOptions.noUnusedLocals) { for (const local in node.locals) { if (hasProperty(node.locals, local)) { const localValue = node.locals[local]; @@ -15527,6 +15530,7 @@ namespace ts { } checkBlock(catchClause.block); + checkUnusedIdentifiers(catchClause); } if (node.finallyBlock) { @@ -15688,7 +15692,7 @@ namespace ts { } checkClassLikeDeclaration(node); forEach(node.members, checkSourceElement); - checkUnusedPrivates(node); + checkUnusedClassLocals(node); checkUnusedTypeParameters(node); } @@ -16399,7 +16403,7 @@ namespace ts { if (node.body) { checkSourceElement(node.body); - checkUnusedModulePrivates(node); + checkUnusedModuleLocals(node); } } @@ -16925,7 +16929,9 @@ namespace ts { deferredNodes = []; forEach(node.statements, checkSourceElement); - checkUnusedImports(node); + if (isExternalModule(node)) { + checkUnusedImports(node); + } checkDeferredNodes(); deferredNodes = undefined; diff --git a/tests/baselines/reference/unusedParameterInCatchClause.errors.txt b/tests/baselines/reference/unusedParameterInCatchClause.errors.txt new file mode 100644 index 0000000000000..e996763e2c6f4 --- /dev/null +++ b/tests/baselines/reference/unusedParameterInCatchClause.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedParameterInCatchClause.ts(3,18): error TS6133: 'ex' is declared but never used. + + +==== tests/cases/compiler/unusedParameterInCatchClause.ts (1 errors) ==== + + function f1() { + try {} catch(ex){} + ~~ +!!! error TS6133: 'ex' is declared but never used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParameterInCatchClause.js b/tests/baselines/reference/unusedParameterInCatchClause.js new file mode 100644 index 0000000000000..153ee17926efd --- /dev/null +++ b/tests/baselines/reference/unusedParameterInCatchClause.js @@ -0,0 +1,11 @@ +//// [unusedParameterInCatchClause.ts] + +function f1() { + try {} catch(ex){} +} + +//// [unusedParameterInCatchClause.js] +function f1() { + try { } + catch (ex) { } +} diff --git a/tests/baselines/reference/unusedTypeParameters4.errors.txt b/tests/baselines/reference/unusedTypeParameters4.errors.txt new file mode 100644 index 0000000000000..3aad5d5a34693 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters4.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedTypeParameters4.ts(3,13): error TS6133: 'U' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameters4.ts (1 errors) ==== + + var x: { + new (a: T): void; + ~ +!!! error TS6133: 'U' is declared but never used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters4.js b/tests/baselines/reference/unusedTypeParameters4.js new file mode 100644 index 0000000000000..4e679ed3f6b36 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters4.js @@ -0,0 +1,8 @@ +//// [unusedTypeParameters4.ts] + +var x: { + new (a: T): void; +} + +//// [unusedTypeParameters4.js] +var x; diff --git a/tests/baselines/reference/unusedTypeParameters5.errors.txt b/tests/baselines/reference/unusedTypeParameters5.errors.txt new file mode 100644 index 0000000000000..ed150710d94e5 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters5.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedTypeParameters5.ts(7,16): error TS6133: 'K' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameters5.ts (1 errors) ==== + + class A { + public x: Dummy; + } + + var x: { + new (a: T): A; + ~ +!!! error TS6133: 'K' is declared but never used. + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters5.js b/tests/baselines/reference/unusedTypeParameters5.js new file mode 100644 index 0000000000000..75dfd892effad --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters5.js @@ -0,0 +1,17 @@ +//// [unusedTypeParameters5.ts] + +class A { + public x: Dummy; +} + +var x: { + new (a: T): A; +} + +//// [unusedTypeParameters5.js] +var A = (function () { + function A() { + } + return A; +}()); +var x; diff --git a/tests/cases/compiler/unusedParameterInCatchClause.ts b/tests/cases/compiler/unusedParameterInCatchClause.ts new file mode 100644 index 0000000000000..3034ab0aef880 --- /dev/null +++ b/tests/cases/compiler/unusedParameterInCatchClause.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f1() { + try {} catch(ex){} +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters4.ts b/tests/cases/compiler/unusedTypeParameters4.ts new file mode 100644 index 0000000000000..1b470c4ae28de --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters4.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +var x: { + new (a: T): void; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters5.ts b/tests/cases/compiler/unusedTypeParameters5.ts new file mode 100644 index 0000000000000..7a5025a790789 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters5.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public x: Dummy; +} + +var x: { + new (a: T): A; +} \ No newline at end of file From e502ba079f85f431f6abc67b6e285c25ecd15048 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Wed, 22 Jun 2016 16:28:58 -0700 Subject: [PATCH 32/38] Removing a redundant check --- src/compiler/checker.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 20b74ed5eec48..8f3504275ef4f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15758,9 +15758,6 @@ namespace ts { if (produceDiagnostics) { const t = getTypeFromTypeNode(typeRefNode); if (t !== unknownType) { - if (t.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { - t.symbol.hasReference = true; - } const declaredType = (t.flags & TypeFlags.Reference) ? (t).target : t; if (declaredType.flags & (TypeFlags.Class | TypeFlags.Interface)) { checkTypeAssignableTo(typeWithThis, getTypeWithThisArgument(t, type.thisType), node.name || node, Diagnostics.Class_0_incorrectly_implements_interface_1); From 0e2e43d2e880b417e754284d81dda65f5e617fb2 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Thu, 23 Jun 2016 10:37:12 -0700 Subject: [PATCH 33/38] Added ambient check to imports and typeparatmeter reporting --- src/compiler/checker.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8f3504275ef4f..f46b3b05fdf7b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14493,7 +14493,7 @@ namespace ts { } function checkUnusedTypeParameters(node: ClassDeclaration | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration | SignatureDeclaration) { - if (compilerOptions.noUnusedLocals) { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { if (node.typeParameters) { for (const typeParameter of node.typeParameters) { if (!typeParameter.symbol.hasReference) { @@ -14509,7 +14509,7 @@ namespace ts { } function checkUnusedImports(node: SourceFile) { - if (compilerOptions.noUnusedLocals) { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const local in node.locals) { if (hasProperty(node.locals, local)) { const localValue = node.locals[local]; From f93c6c887cedb2b4440babc7eae422e27e974c2f Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Thu, 23 Jun 2016 17:39:18 -0700 Subject: [PATCH 34/38] Added one more scenario to handle type parameters --- src/compiler/checker.ts | 2 +- .../unusedTypeParameterInLambda3.errors.txt | 12 ++++++++++++ .../reference/unusedTypeParameterInLambda3.js | 15 +++++++++++++++ .../compiler/unusedTypeParameterInLambda3.ts | 7 +++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/unusedTypeParameterInLambda3.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInLambda3.js create mode 100644 tests/cases/compiler/unusedTypeParameterInLambda3.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d1b1fc606fca9..dc5f31c4764c7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13211,7 +13211,7 @@ namespace ts { checkAsyncFunctionReturnType(node); } } - if (node.kind === SyntaxKind.ConstructSignature) { + if (node.kind === SyntaxKind.ConstructSignature || node.kind === SyntaxKind.ConstructorType) { checkUnusedTypeParameters(node); } } diff --git a/tests/baselines/reference/unusedTypeParameterInLambda3.errors.txt b/tests/baselines/reference/unusedTypeParameterInLambda3.errors.txt new file mode 100644 index 0000000000000..5477f611e7299 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInLambda3.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedTypeParameterInLambda3.ts(5,15): error TS6133: 'U' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInLambda3.ts (1 errors) ==== + class A { + public x: T; + } + + var y: new (a:T)=>void; + ~ +!!! error TS6133: 'U' is declared but never used. + \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInLambda3.js b/tests/baselines/reference/unusedTypeParameterInLambda3.js new file mode 100644 index 0000000000000..27899320fc26c --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInLambda3.js @@ -0,0 +1,15 @@ +//// [unusedTypeParameterInLambda3.ts] +class A { + public x: T; +} + +var y: new (a:T)=>void; + + +//// [unusedTypeParameterInLambda3.js] +var A = (function () { + function A() { + } + return A; +}()); +var y; diff --git a/tests/cases/compiler/unusedTypeParameterInLambda3.ts b/tests/cases/compiler/unusedTypeParameterInLambda3.ts new file mode 100644 index 0000000000000..eb6582caf4e98 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInLambda3.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true +class A { + public x: T; +} + +var y: new (a:T)=>void; From 452105839f08165ea88875ba1c8034a4675d93e1 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 24 Jun 2016 00:28:30 -0700 Subject: [PATCH 35/38] Added new scenario for TypeParameter on Interface --- src/compiler/checker.ts | 35 +++++++++---------- ...unusedTypeParameterInInterface1.errors.txt | 10 ++++++ .../unusedTypeParameterInInterface1.js | 7 ++++ ...unusedTypeParameterInInterface2.errors.txt | 11 ++++++ .../unusedTypeParameterInInterface2.js | 8 +++++ .../unusedVariablesinModules1.errors.txt | 12 +++++++ .../reference/unusedVariablesinModules1.js | 11 ++++++ .../unusedTypeParameterInInterface1.ts | 6 ++++ .../unusedTypeParameterInInterface2.ts | 7 ++++ .../compiler/unusedVariablesinModules1.ts | 8 +++++ 10 files changed, 96 insertions(+), 19 deletions(-) create mode 100644 tests/baselines/reference/unusedTypeParameterInInterface1.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInInterface1.js create mode 100644 tests/baselines/reference/unusedTypeParameterInInterface2.errors.txt create mode 100644 tests/baselines/reference/unusedTypeParameterInInterface2.js create mode 100644 tests/baselines/reference/unusedVariablesinModules1.errors.txt create mode 100644 tests/baselines/reference/unusedVariablesinModules1.js create mode 100644 tests/cases/compiler/unusedTypeParameterInInterface1.ts create mode 100644 tests/cases/compiler/unusedTypeParameterInInterface2.ts create mode 100644 tests/cases/compiler/unusedVariablesinModules1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index dc5f31c4764c7..f30f556a86cb1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14447,10 +14447,8 @@ namespace ts { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } else if (local.valueDeclaration.kind === SyntaxKind.Parameter && compilerOptions.noUnusedParameters) { - if (local.valueDeclaration.modifiers) { - if (getCombinedNodeFlags(local.valueDeclaration) & NodeFlags.Private) { - error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); - } + if (getCombinedNodeFlags(local.valueDeclaration) & NodeFlags.Private) { + error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } else { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); @@ -14462,7 +14460,7 @@ namespace ts { } } - function checkUnusedModuleLocals(node: ModuleDeclaration): void { + function checkUnusedModuleLocals(node: ModuleDeclaration | SourceFile): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { for (const key in node.locals) { if (hasProperty(node.locals, key)) { @@ -14471,13 +14469,12 @@ namespace ts { if ((local.valueDeclaration && local.valueDeclaration.kind)) { error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); } - else if (local.declarations && - (local.declarations[0].kind === SyntaxKind.InterfaceDeclaration || local.declarations[0].kind === SyntaxKind.ModuleDeclaration)) { - error(local.declarations[0], Diagnostics._0_is_declared_but_never_used, key); - } else if (local.declarations && local.declarations[0].kind === SyntaxKind.ImportEqualsDeclaration) { error(local.declarations[0].name, Diagnostics._0_is_declared_but_never_used, key); } + else if (local.declarations) { + error(local.declarations[0], Diagnostics._0_is_declared_but_never_used, key); + } } } } @@ -14498,7 +14495,7 @@ namespace ts { } } - function checkUnusedTypeParameters(node: ClassDeclaration | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration | SignatureDeclaration) { + function checkUnusedTypeParameters(node: ClassDeclaration | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration | SignatureDeclaration | InterfaceDeclaration) { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { if (node.typeParameters) { for (const typeParameter of node.typeParameters) { @@ -14520,15 +14517,13 @@ namespace ts { if (hasProperty(node.locals, local)) { const localValue = node.locals[local]; if (localValue.declarations && !localValue.exportSymbol) { - for (const declaration of localValue.declarations) { - const symbol = declaration.symbol; - if (!symbol.hasReference) { - if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.NamespaceImport) { - error(declaration, Diagnostics._0_is_declared_but_never_used, symbol.name); - } - else if (declaration.kind === SyntaxKind.ImportEqualsDeclaration) { - error(declaration.name, Diagnostics._0_is_declared_but_never_used, symbol.name); - } + const declaration = localValue.declarations[0]; + if (!localValue.hasReference) { + if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.NamespaceImport) { + error(declaration, Diagnostics._0_is_declared_but_never_used, localValue.name); + } + else if (declaration.kind === SyntaxKind.ImportEqualsDeclaration) { + error(declaration.name, Diagnostics._0_is_declared_but_never_used, localValue.name); } } } @@ -16010,6 +16005,7 @@ namespace ts { if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); + checkUnusedTypeParameters(node); } } @@ -16934,6 +16930,7 @@ namespace ts { forEach(node.statements, checkSourceElement); if (isExternalModule(node)) { checkUnusedImports(node); + checkUnusedModuleLocals(node); } checkDeferredNodes(); deferredNodes = undefined; diff --git a/tests/baselines/reference/unusedTypeParameterInInterface1.errors.txt b/tests/baselines/reference/unusedTypeParameterInInterface1.errors.txt new file mode 100644 index 0000000000000..fbe6ef3f0d18c --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInInterface1.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedTypeParameterInInterface1.ts(2,15): error TS6133: 'T' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInInterface1.ts (1 errors) ==== + + interface int { + ~ +!!! error TS6133: 'T' is declared but never used. + + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInInterface1.js b/tests/baselines/reference/unusedTypeParameterInInterface1.js new file mode 100644 index 0000000000000..8f9a6962b359b --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInInterface1.js @@ -0,0 +1,7 @@ +//// [unusedTypeParameterInInterface1.ts] + +interface int { + +} + +//// [unusedTypeParameterInInterface1.js] diff --git a/tests/baselines/reference/unusedTypeParameterInInterface2.errors.txt b/tests/baselines/reference/unusedTypeParameterInInterface2.errors.txt new file mode 100644 index 0000000000000..ed3e58477742a --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInInterface2.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedTypeParameterInInterface2.ts(2,18): error TS6133: 'U' is declared but never used. + + +==== tests/cases/compiler/unusedTypeParameterInInterface2.ts (1 errors) ==== + + interface int { + ~ +!!! error TS6133: 'U' is declared but never used. + f1(a: T): string; + c: V; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameterInInterface2.js b/tests/baselines/reference/unusedTypeParameterInInterface2.js new file mode 100644 index 0000000000000..d5a4c490d27bd --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameterInInterface2.js @@ -0,0 +1,8 @@ +//// [unusedTypeParameterInInterface2.ts] + +interface int { + f1(a: T): string; + c: V; +} + +//// [unusedTypeParameterInInterface2.js] diff --git a/tests/baselines/reference/unusedVariablesinModules1.errors.txt b/tests/baselines/reference/unusedVariablesinModules1.errors.txt new file mode 100644 index 0000000000000..00faee6a6b3ff --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinModules1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedVariablesinModules1.ts(4,5): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinModules1.ts (1 errors) ==== + + export {}; + + var x: string; + ~ +!!! error TS6133: 'x' is declared but never used. + + export var y: string; \ No newline at end of file diff --git a/tests/baselines/reference/unusedVariablesinModules1.js b/tests/baselines/reference/unusedVariablesinModules1.js new file mode 100644 index 0000000000000..18622a32ba9f0 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinModules1.js @@ -0,0 +1,11 @@ +//// [unusedVariablesinModules1.ts] + +export {}; + +var x: string; + +export var y: string; + +//// [unusedVariablesinModules1.js] +"use strict"; +var x; diff --git a/tests/cases/compiler/unusedTypeParameterInInterface1.ts b/tests/cases/compiler/unusedTypeParameterInInterface1.ts new file mode 100644 index 0000000000000..2098e5d4bc5b9 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInInterface1.ts @@ -0,0 +1,6 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +interface int { + +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameterInInterface2.ts b/tests/cases/compiler/unusedTypeParameterInInterface2.ts new file mode 100644 index 0000000000000..cdcd45a7f30b5 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameterInInterface2.ts @@ -0,0 +1,7 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +interface int { + f1(a: T): string; + c: V; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedVariablesinModules1.ts b/tests/cases/compiler/unusedVariablesinModules1.ts new file mode 100644 index 0000000000000..92a5a14590d2d --- /dev/null +++ b/tests/cases/compiler/unusedVariablesinModules1.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +export {}; + +var x: string; + +export var y: string; \ No newline at end of file From 5eb71535a3078ab30e418ed349ab3249cbd1074f Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 24 Jun 2016 12:22:34 -0700 Subject: [PATCH 36/38] Refactoring the code --- src/compiler/checker.ts | 53 ++++--------------- .../unusedFunctionsinNamespaces3.errors.txt | 2 +- .../unusedIdentifiersConsolidated1.errors.txt | 6 +-- .../reference/unusedImports7.errors.txt | 4 +- .../reference/unusedImports8.errors.txt | 4 +- ...ationWithinFunctionDeclaration1.errors.txt | 4 +- ...ationWithinFunctionDeclaration2.errors.txt | 6 +-- ...rationWithinFunctionExpression1.errors.txt | 4 +- ...rationWithinFunctionExpression2.errors.txt | 6 +-- ...ssionWithinFunctionDeclaration1.errors.txt | 4 +- ...ssionWithinFunctionDeclaration2.errors.txt | 6 +-- ...essionWithinFunctionExpression1.errors.txt | 4 +- ...essionWithinFunctionExpression2.errors.txt | 6 +-- ...dMultipleParameter1InContructor.errors.txt | 2 +- ...eParameter1InFunctionExpression.errors.txt | 2 +- ...dMultipleParameter2InContructor.errors.txt | 4 +- ...eParameter2InFunctionExpression.errors.txt | 4 +- ...arameters1InFunctionDeclaration.errors.txt | 2 +- ...eParameters1InMethodDeclaration.errors.txt | 2 +- ...arameters2InFunctionDeclaration.errors.txt | 4 +- ...eParameters2InMethodDeclaration.errors.txt | 4 +- .../unusedParametersinConstructor1.errors.txt | 2 +- .../unusedParametersinConstructor2.errors.txt | 2 +- .../unusedParametersinConstructor3.errors.txt | 4 +- ...usedSingleParameterInContructor.errors.txt | 2 +- ...eParameterInFunctionDeclaration.errors.txt | 2 +- ...leParameterInFunctionExpression.errors.txt | 2 +- ...gleParameterInMethodDeclaration.errors.txt | 2 +- 28 files changed, 58 insertions(+), 91 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f30f556a86cb1..33cb00cf824da 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13211,7 +13211,7 @@ namespace ts { checkAsyncFunctionReturnType(node); } } - if (node.kind === SyntaxKind.ConstructSignature || node.kind === SyntaxKind.ConstructorType) { + if (!(node).body) { checkUnusedTypeParameters(node); } } @@ -14444,14 +14444,11 @@ namespace ts { const local = node.locals[key]; if (!local.hasReference && local.valueDeclaration) { if (local.valueDeclaration.kind !== SyntaxKind.Parameter && compilerOptions.noUnusedLocals) { - error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); + error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, key); } else if (local.valueDeclaration.kind === SyntaxKind.Parameter && compilerOptions.noUnusedParameters) { - if (getCombinedNodeFlags(local.valueDeclaration) & NodeFlags.Private) { - error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); - } - else { - error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); + if (local.valueDeclaration.flags === 0) { + error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, key); } } } @@ -14460,27 +14457,6 @@ namespace ts { } } - function checkUnusedModuleLocals(node: ModuleDeclaration | SourceFile): void { - if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { - for (const key in node.locals) { - if (hasProperty(node.locals, key)) { - const local = node.locals[key]; - if (!local.hasReference && !local.exportSymbol) { - if ((local.valueDeclaration && local.valueDeclaration.kind)) { - error(local.valueDeclaration, Diagnostics._0_is_declared_but_never_used, key); - } - else if (local.declarations && local.declarations[0].kind === SyntaxKind.ImportEqualsDeclaration) { - error(local.declarations[0].name, Diagnostics._0_is_declared_but_never_used, key); - } - else if (local.declarations) { - error(local.declarations[0], Diagnostics._0_is_declared_but_never_used, key); - } - } - } - } - } - } - function checkUnusedClassLocals(node: ClassDeclaration): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { if (node.members) { @@ -14511,21 +14487,13 @@ namespace ts { return (node.flags & NodeFlags.Private) !== 0; } - function checkUnusedImports(node: SourceFile) { + function checkUnusedModuleLocals(node: ModuleDeclaration | SourceFile): void { if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { - for (const local in node.locals) { - if (hasProperty(node.locals, local)) { - const localValue = node.locals[local]; - if (localValue.declarations && !localValue.exportSymbol) { - const declaration = localValue.declarations[0]; - if (!localValue.hasReference) { - if (declaration.kind === SyntaxKind.ImportSpecifier || declaration.kind === SyntaxKind.ImportClause || declaration.kind === SyntaxKind.NamespaceImport) { - error(declaration, Diagnostics._0_is_declared_but_never_used, localValue.name); - } - else if (declaration.kind === SyntaxKind.ImportEqualsDeclaration) { - error(declaration.name, Diagnostics._0_is_declared_but_never_used, localValue.name); - } - } + for (const key in node.locals) { + if (hasProperty(node.locals, key)) { + const local = node.locals[key]; + if (!local.hasReference && !local.exportSymbol) { + forEach(local.declarations, d => error(d.name, Diagnostics._0_is_declared_but_never_used, key)); } } } @@ -16929,7 +16897,6 @@ namespace ts { deferredNodes = []; forEach(node.statements, checkSourceElement); if (isExternalModule(node)) { - checkUnusedImports(node); checkUnusedModuleLocals(node); } checkDeferredNodes(); diff --git a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt index 35829175f052e..cfbeecc3c4902 100644 --- a/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt @@ -8,7 +8,7 @@ tests/cases/compiler/unusedFunctionsinNamespaces3.ts(3,30): error TS6133: 'param var function1 = function(param1:string) { ~~~~~~~~~ !!! error TS6133: 'function1' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'param1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt index 009603dba36ef..69a6ea38db6e5 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -19,7 +19,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: 'i ==== tests/cases/compiler/unusedIdentifiersConsolidated1.ts (16 errors) ==== function greeter(person: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -37,7 +37,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: 'i public typedvariable: usedtypeparameter; constructor(message: string) { - ~~~~~~~~~~~~~~~ + ~~~~~~~ !!! error TS6133: 'message' is declared but never used. var unused2 = 22; ~~~~~~~ @@ -46,7 +46,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: 'i } public greeter(person: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedImports7.errors.txt b/tests/baselines/reference/unusedImports7.errors.txt index 8731188d80d71..1ea8ed60635ad 100644 --- a/tests/baselines/reference/unusedImports7.errors.txt +++ b/tests/baselines/reference/unusedImports7.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/file2.ts(1,8): error TS6133: 'n' is declared but never used. +tests/cases/compiler/file2.ts(1,13): error TS6133: 'n' is declared but never used. ==== tests/cases/compiler/file1.ts (0 errors) ==== @@ -17,7 +17,7 @@ tests/cases/compiler/file2.ts(1,8): error TS6133: 'n' is declared but never used ==== tests/cases/compiler/file2.ts (1 errors) ==== import * as n from "./file1" - ~~~~~~ + ~ !!! error TS6133: 'n' is declared but never used. \ No newline at end of file diff --git a/tests/baselines/reference/unusedImports8.errors.txt b/tests/baselines/reference/unusedImports8.errors.txt index 566fce7e468ad..d82193106b761 100644 --- a/tests/baselines/reference/unusedImports8.errors.txt +++ b/tests/baselines/reference/unusedImports8.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/file2.ts(1,41): error TS6133: 't2' is declared but never used. +tests/cases/compiler/file2.ts(1,50): error TS6133: 't2' is declared but never used. ==== tests/cases/compiler/file1.ts (0 errors) ==== @@ -17,7 +17,7 @@ tests/cases/compiler/file2.ts(1,41): error TS6133: 't2' is declared but never us ==== tests/cases/compiler/file2.ts (1 errors) ==== import {Calculator as calc, test as t1, test2 as t2} from "./file1" - ~~~~~~~~~~~ + ~~ !!! error TS6133: 't2' is declared but never used. var x = new calc(); diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt index eb06e886a03a4..fa8337c8f177c 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -8,7 +8,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1 ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -16,7 +16,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1 function maker(child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt index 301b272743652..0e56f97d1a3e0 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -10,7 +10,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2 ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -18,14 +18,14 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2 function maker(child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ !!! error TS6133: 'unused2' is declared but never used. } function maker2(child2: string): void { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt index 6bc6e9a6ebadb..0b16195283577 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -8,7 +8,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -16,7 +16,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1. function maker(child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt index 9fc90274866e0..7e772d986379e 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -10,7 +10,7 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2. ==== tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -18,14 +18,14 @@ tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2. function maker(child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ !!! error TS6133: 'unused2' is declared but never used. } function maker2(child2: string): void { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt index 103d6b9623903..99a4fef895867 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -8,7 +8,7 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts (5 errors) ==== function greeter(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -16,7 +16,7 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1. var maker = function (child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt index feb51048e3521..8eb1e73d87ca9 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -10,7 +10,7 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2. ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts (7 errors) ==== function greeter(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -18,14 +18,14 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2. var maker = function(child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ !!! error TS6133: 'unused2' is declared but never used. } var maker2 = function(child2: string): void { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt index c00232c73991f..dd4778b4f3dd9 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -8,7 +8,7 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.t ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts (5 errors) ==== var greeter = function (person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -16,7 +16,7 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.t var maker = function (child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt index fec95669f494a..6d22b7a2bde51 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -10,7 +10,7 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.t ==== tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts (7 errors) ==== var greeter = function (person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ @@ -18,14 +18,14 @@ tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.t var maker = function (child: string): void { ~~~~~ !!! error TS6133: 'maker' is declared but never used. - ~~~~~~~~~~~~~ + ~~~~~ !!! error TS6133: 'child' is declared but never used. var unused2 = 22; ~~~~~~~ !!! error TS6133: 'unused2' is declared but never used. } var maker2 = function (child2: string): void { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'child2' is declared but never used. var unused3 = 23; ~~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt index b6c5a4a4b8e3a..28cfc1d578fa8 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/unusedMultipleParameter1InContructor.ts(4,13): error TS6133 class Dummy { constructor(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt index 8fd7e91dae051..d841f7064a159 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts(3,9): error ==== tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts (2 errors) ==== var func = function(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt index e6ac70c932c1a..2397a849c5c64 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -7,9 +7,9 @@ tests/cases/compiler/unusedMultipleParameter2InContructor.ts(4,13): error TS6133 class Dummy { constructor(person: string, person2: string, person3: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. - ~~~~~~~~~~~~~~~ + ~~~~~~~ !!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt index 534d75c870392..1a4e78cd9fa15 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -6,9 +6,9 @@ tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts(3,9): error ==== tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts (3 errors) ==== var func = function(person: string, person2: string, person3: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. - ~~~~~~~~~~~~~~~ + ~~~~~~~ !!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt index c0d9540ad8108..5ca5eb3bd0c13 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts(3,9): err ==== tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts (2 errors) ==== function greeter(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt index 8a783563a5096..9e917be257edc 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts(4,13): erro class Dummy { public greeter(person: string, person2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt index 4537cede8bbda..0c755b404cd35 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -6,9 +6,9 @@ tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts(3,9): err ==== tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts (3 errors) ==== function greeter(person: string, person2: string, person3: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. - ~~~~~~~~~~~~~~~ + ~~~~~~~ !!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt index 9b9fe8448a24d..ab3313dc98b83 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -7,9 +7,9 @@ tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts(4,13): erro class Dummy { public greeter(person: string, person2: string, person3: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. - ~~~~~~~~~~~~~~~ + ~~~~~~~ !!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt index d5d2248547703..d09d5906ed103 100644 --- a/tests/baselines/reference/unusedParametersinConstructor1.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6133: 'par class greeter { constructor(param1: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'param1' is declared but never used. } } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt index c755488a630f5..4566713f24f62 100644 --- a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6133: 'par class greeter { constructor(param1: string, param2: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'param1' is declared but never used. param2 = param2 + "dummy value"; } diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt index 25c72fc13221d..48891e5361eba 100644 --- a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -6,9 +6,9 @@ tests/cases/compiler/unusedParametersinConstructor3.ts(3,49): error TS6133: 'par class greeter { constructor(param1: string, param2: string, param3: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'param1' is declared but never used. - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'param3' is declared but never used. param2 = param2 + "dummy value"; } diff --git a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt index b3238b0d9f94b..2549266dfc27b 100644 --- a/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/unusedSingleParameterInContructor.ts(4,13): error TS6133: ' class Dummy { constructor(person: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt index 82260b15f7ed0..e29269e9b05bf 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts(3,9): error T ==== tests/cases/compiler/unusedSingleParameterInFunctionDeclaration.ts (2 errors) ==== function greeter(person: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt index 1f32b823c090a..ad3e5e67a72f2 100644 --- a/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt @@ -5,7 +5,7 @@ tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts(3,9): error TS ==== tests/cases/compiler/unusedSingleParameterInFunctionExpression.ts (2 errors) ==== var func = function(person: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ diff --git a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt index ab5f028d5017c..af806bbadfb53 100644 --- a/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt @@ -6,7 +6,7 @@ tests/cases/compiler/unusedSingleParameterInMethodDeclaration.ts(4,13): error TS class Dummy { public greeter(person: string) { - ~~~~~~~~~~~~~~ + ~~~~~~ !!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ From 5361e5fa7227c74ffde5444edcc4a5ffe98fc141 Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 24 Jun 2016 12:59:39 -0700 Subject: [PATCH 37/38] Added scenario to handle private class elements declared in constructor. --- src/compiler/checker.ts | 15 +++++++++++---- .../unusedIdentifiersConsolidated1.errors.txt | 4 ++-- .../unusedPrivateVariableInClass1.errors.txt | 4 ++-- .../unusedPrivateVariableInClass2.errors.txt | 8 ++++---- .../unusedPrivateVariableInClass3.errors.txt | 8 ++++---- .../unusedPrivateVariableInClass4.errors.txt | 4 ++-- .../unusedPrivateVariableInClass5.errors.txt | 4 ++-- 7 files changed, 27 insertions(+), 20 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4ca2d3f050c94..8b257689ac8e1 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14484,8 +14484,15 @@ namespace ts { if (node.members) { for (const member of node.members) { if (member.kind === SyntaxKind.MethodDeclaration || member.kind === SyntaxKind.PropertyDeclaration) { - if (isPrivateClassElement(member) && !member.symbol.hasReference) { - error(member, Diagnostics._0_is_declared_but_never_used, member.symbol.name); + if (isPrivateNode(member) && !member.symbol.hasReference) { + error(member.name, Diagnostics._0_is_declared_but_never_used, member.symbol.name); + } + } + else if (member.kind === SyntaxKind.Constructor) { + for (const parameter of (member).parameters) { + if (isPrivateNode(parameter) && !parameter.symbol.hasReference) { + error(parameter.name, Diagnostics._0_is_declared_but_never_used, parameter.symbol.name); + } } } } @@ -14505,7 +14512,7 @@ namespace ts { } } - function isPrivateClassElement(node: ClassElement): boolean { + function isPrivateNode(node: Node): boolean { return (node.flags & NodeFlags.Private) !== 0; } @@ -15967,7 +15974,6 @@ namespace ts { checkExportsOnMergedDeclarations(node); const symbol = getSymbolOfNode(node); checkTypeParameterListsIdentical(node, symbol); - updateReferencesForInterfaceHeritiageClauseTargets(node); // Only check this symbol once const firstInterfaceDecl = getDeclarationOfKind(symbol, SyntaxKind.InterfaceDeclaration); @@ -15995,6 +16001,7 @@ namespace ts { if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); + updateReferencesForInterfaceHeritiageClauseTargets(node); checkUnusedTypeParameters(node); } } diff --git a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt index 69a6ea38db6e5..a174074bdf77a 100644 --- a/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -1,7 +1,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(2,18): error TS6133: 'person' is declared but never used. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(3,9): error TS6133: 'unused' is declared but never used. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(6,32): error TS6133: 'unusedtypeparameter' is declared but never used. -tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,5): error TS6133: 'unusedprivatevariable' is declared but never used. +tests/cases/compiler/unusedIdentifiersConsolidated1.ts(7,13): error TS6133: 'unusedprivatevariable' is declared but never used. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(12,17): error TS6133: 'message' is declared but never used. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(13,13): error TS6133: 'unused2' is declared but never used. tests/cases/compiler/unusedIdentifiersConsolidated1.ts(17,20): error TS6133: 'person' is declared but never used. @@ -30,7 +30,7 @@ tests/cases/compiler/unusedIdentifiersConsolidated1.ts(100,15): error TS6133: 'i ~~~~~~~~~~~~~~~~~~~ !!! error TS6133: 'unusedtypeparameter' is declared but never used. private unusedprivatevariable: string; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~~~~~~~~~ !!! error TS6133: 'unusedprivatevariable' is declared but never used. private greeting: string; public unusedpublicvariable: string; diff --git a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt index 6155d1b089579..bb971334135df 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt @@ -1,10 +1,10 @@ -tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,5): error TS6133: 'x' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass1.ts(3,13): error TS6133: 'x' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass1.ts (1 errors) ==== class greeter { private x: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'x' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt index 6b79756c63ff7..3b814e5ca7c35 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt @@ -1,14 +1,14 @@ -tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,5): error TS6133: 'x' is declared but never used. -tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,5): error TS6133: 'y' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(3,13): error TS6133: 'x' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass2.ts(4,13): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass2.ts (2 errors) ==== class greeter { private x: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'x' is declared but never used. private y: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'y' is declared but never used. } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt index d0b662a337ff9..5d5e18a2fdfd5 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt @@ -1,15 +1,15 @@ -tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,5): error TS6133: 'x' is declared but never used. -tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,5): error TS6133: 'y' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(3,13): error TS6133: 'x' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass3.ts(4,13): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass3.ts (2 errors) ==== class greeter { private x: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'x' is declared but never used. private y: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'y' is declared but never used. public z: string; } \ No newline at end of file diff --git a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt index c43b877b79973..83325cf2d8aa8 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6133: 'y' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,13): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass4.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,5): error TS6133: 'y' is class greeter { private x: string; private y: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'y' is declared but never used. public z: string; diff --git a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt index 4ae07dfcba66d..741406c528480 100644 --- a/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6133: 'y' is declared but never used. +tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,13): error TS6133: 'y' is declared but never used. ==== tests/cases/compiler/unusedPrivateVariableInClass5.ts (1 errors) ==== @@ -6,7 +6,7 @@ tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,5): error TS6133: 'y' is class greeter { private x: string; private y: string; - ~~~~~~~~~~~~~~~~~~ + ~ !!! error TS6133: 'y' is declared but never used. public z: string; From 7fc461607d4747ac783e5f2ebc223afb3cf7edce Mon Sep 17 00:00:00 2001 From: Sarangan Rajamanickam Date: Fri, 24 Jun 2016 13:08:09 -0700 Subject: [PATCH 38/38] Minor change to erro reporting --- src/compiler/checker.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8b257689ac8e1..44604c532b88e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14466,11 +14466,11 @@ namespace ts { const local = node.locals[key]; if (!local.hasReference && local.valueDeclaration) { if (local.valueDeclaration.kind !== SyntaxKind.Parameter && compilerOptions.noUnusedLocals) { - error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, key); + error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, local.name); } else if (local.valueDeclaration.kind === SyntaxKind.Parameter && compilerOptions.noUnusedParameters) { if (local.valueDeclaration.flags === 0) { - error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, key); + error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, local.name); } } } @@ -14505,7 +14505,7 @@ namespace ts { if (node.typeParameters) { for (const typeParameter of node.typeParameters) { if (!typeParameter.symbol.hasReference) { - error(typeParameter, Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); + error(typeParameter.name, Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } } @@ -14522,7 +14522,7 @@ namespace ts { if (hasProperty(node.locals, key)) { const local = node.locals[key]; if (!local.hasReference && !local.exportSymbol) { - forEach(local.declarations, d => error(d.name, Diagnostics._0_is_declared_but_never_used, key)); + forEach(local.declarations, d => error(d.name, Diagnostics._0_is_declared_but_never_used, local.name)); } } }