diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 878323a41b878..565db383a0e95 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15958,24 +15958,57 @@ namespace ts { function checkUnusedLocalsAndParameters(node: Node): void { if (node.parent.kind !== SyntaxKind.InterfaceDeclaration && noUnusedIdentifiers && !isInAmbientContext(node)) { - for (const key in node.locals) { - const local = node.locals[key]; - if (!local.isReferenced) { - if (local.valueDeclaration && getRootDeclaration(local.valueDeclaration).kind === SyntaxKind.Parameter) { - const parameter = getRootDeclaration(local.valueDeclaration); - if (compilerOptions.noUnusedParameters && - !isParameterPropertyDeclaration(parameter) && - !parameterIsThisKeyword(parameter) && - !parameterNameStartsWithUnderscore(local.valueDeclaration.name)) { - error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, local.name); - } - } - else if (compilerOptions.noUnusedLocals) { - forEach(local.declarations, d => errorUnusedLocal(d.name || d, local.name)); + if (compilerOptions.noUnusedParameters) { + checkUnusedParameterLocals(node.locals); + } + + if (compilerOptions.noUnusedLocals) { + checkUnusedLocals(node.locals); + } + } + } + + function checkUnusedParameterLocals(locals: Map): void { + let unusedParameterLocals: Symbol[] | undefined; + + for (const key in locals) { + const local = locals[key]; + if (!isLocalParameter(local)) { + continue; + } + + const parameter = getRootDeclaration(local.valueDeclaration); + if (!isParameterPropertyDeclaration(parameter) && !parameterIsThisKeyword(parameter)) { + if (local.isReferenced || parameterNameStartsWithUnderscore(local.valueDeclaration.name)) { + if (unusedParameterLocals) { + unusedParameterLocals.length = 0; } + } else if (unusedParameterLocals) { + unusedParameterLocals.push(local); + } else { + unusedParameterLocals = [local]; } } } + + if (unusedParameterLocals) { + forEach(unusedParameterLocals, local => error(local.valueDeclaration.name, Diagnostics._0_is_declared_but_never_used, local.name)); + } + } + + function checkUnusedLocals(locals: Map): void { + for (const key in locals) { + const local = locals[key]; + if (local.isReferenced || isLocalParameter(local)) { + continue; + } + + forEach(local.declarations, d => errorUnusedLocal(d.name || d, local.name)); + } + } + + function isLocalParameter(local: Symbol): boolean { + return local.valueDeclaration && getRootDeclaration(local.valueDeclaration).kind === SyntaxKind.Parameter; } function errorUnusedLocal(node: Node, name: string) { diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt index fa8337c8f177c..bd1f2e8c7b524 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts(2,51): error TS6133: 'person3' 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. @@ -7,9 +7,9 @@ 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. + function greeter(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js index a8da9dcfa8781..e85fac60b027a 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts] -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; @@ -9,7 +9,7 @@ function greeter(person: string, person2: string) { } //// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.js] -function greeter(person, person2) { +function greeter(person, person2, person3) { var unused = 20; function maker(child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt index 0e56f97d1a3e0..d52d89f809774 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts(2,51): error TS6133: 'person3' 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. @@ -9,9 +9,9 @@ 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. + function greeter(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js index 28b5057d6409a..b9f63f05680fc 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts] -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; @@ -12,7 +12,7 @@ function greeter(person: string, person2: string) { } //// [unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.js] -function greeter(person, person2) { +function greeter(person, person2, person3) { var unused = 20; function maker(child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt index 0b16195283577..467eaace1746f 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts(2,58): error TS6133: 'person3' 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. @@ -7,9 +7,9 @@ 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 greeter = function (person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js index b9c7649323900..795724946a81f 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts] -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; @@ -9,7 +9,7 @@ var greeter = function (person: string, person2: string) { } //// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.js] -var greeter = function (person, person2) { +var greeter = function (person, person2, person3) { var unused = 20; function maker(child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt index 7e772d986379e..5452940af7e61 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts(2,58): error TS6133: 'person3' 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. @@ -9,9 +9,9 @@ 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 greeter = function (person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js index e7930da686c13..254b2419eaefe 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts] -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; @@ -12,7 +12,7 @@ var greeter = function (person: string, person2: string) { } //// [unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.js] -var greeter = function (person, person2) { +var greeter = function (person, person2, person3) { var unused = 20; function maker(child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt index 99a4fef895867..49376e6b340b4 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts(2,51): error TS6133: 'person3' 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. @@ -7,9 +7,9 @@ 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. + function greeter(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js index 880053a8667b4..a8e058325bd45 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts] -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; var maker = function (child: string): void { var unused2 = 22; @@ -9,7 +9,7 @@ function greeter(person: string, person2: string) { } //// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.js] -function greeter(person, person2) { +function greeter(person, person2, person3) { var unused = 20; var maker = function (child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt index 8eb1e73d87ca9..027e403bb7bc9 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,18): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts(2,51): error TS6133: 'person3' 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. @@ -9,9 +9,9 @@ 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. + function greeter(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js index fb37bf9cb5a9b..979befc88755d 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts] -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; var maker = function(child: string): void { var unused2 = 22; @@ -12,7 +12,7 @@ function greeter(person: string, person2: string) { } //// [unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.js] -function greeter(person, person2) { +function greeter(person, person2, person3) { var unused = 20; var maker = function (child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt index dd4778b4f3dd9..ec02eb788b8cf 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts(2,58): error TS6133: 'person3' 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. @@ -7,9 +7,9 @@ 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 greeter = function (person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js index 299c0e97b94cd..ca0f472da07d7 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts] -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; var maker = function (child: string): void { var unused2 = 22; @@ -9,7 +9,7 @@ var greeter = function (person: string, person2: string) { } //// [unusedLocalsOnFunctionExpressionWithinFunctionExpression1.js] -var greeter = function (person, person2) { +var greeter = function (person, person2, person3) { var unused = 20; var maker = function (child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt index 6d22b7a2bde51..b5dd33d0fa143 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,25): error TS6133: 'person' is declared but never used. +tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts(2,58): error TS6133: 'person3' 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. @@ -9,9 +9,9 @@ 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 greeter = function (person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js index 00ba31b16d729..a8f0504c9c376 100644 --- a/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js @@ -1,6 +1,6 @@ //// [unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts] -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; var maker = function (child: string): void { var unused2 = 22; @@ -12,7 +12,7 @@ var greeter = function (person: string, person2: string) { } //// [unusedLocalsOnFunctionExpressionWithinFunctionExpression2.js] -var greeter = function (person, person2) { +var greeter = function (person, person2, person3) { var unused = 20; var maker = function (child) { var unused2 = 22; diff --git a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt index 28cfc1d578fa8..b9fc72a90cf77 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -1,13 +1,10 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameter1InContructor.ts (1 errors) ==== class Dummy { constructor(person: string, person2: string) { - ~~~~~~ -!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt index d841f7064a159..0f633a87c123a 100644 --- a/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -1,12 +1,9 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameter1InFunctionExpression.ts (1 errors) ==== var func = function(person: string, person2: string) { - ~~~~~~ -!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt index 2397a849c5c64..5393b61f97859 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -1,16 +1,10 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameter2InContructor.ts (1 errors) ==== 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. + constructor(person: string, person2: string) { var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameter2InContructor.js b/tests/baselines/reference/unusedMultipleParameter2InContructor.js index 8ffd4c3659124..0d2d266bc0f7e 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InContructor.js +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.js @@ -1,7 +1,7 @@ //// [unusedMultipleParameter2InContructor.ts] class Dummy { - constructor(person: string, person2: string, person3: string) { + constructor(person: string, person2: string) { var unused = 20; person2 = "Dummy value"; } @@ -9,7 +9,7 @@ class Dummy { //// [unusedMultipleParameter2InContructor.js] var Dummy = (function () { - function Dummy(person, person2, person3) { + function Dummy(person, person2) { var unused = 20; person2 = "Dummy value"; } diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt index 1a4e78cd9fa15..8706ef7030c8e 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -1,15 +1,9 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts (1 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 func = function(person: string, person2: string) { var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js index 1c35c1762f34d..8e340ed74cb03 100644 --- a/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.js @@ -1,12 +1,12 @@ //// [unusedMultipleParameter2InFunctionExpression.ts] -var func = function(person: string, person2: string, person3: string) { +var func = function(person: string, person2: string) { var unused = 20; person2 = "Dummy value"; } //// [unusedMultipleParameter2InFunctionExpression.js] -var func = function (person, person2, person3) { +var func = function (person, person2) { var unused = 20; person2 = "Dummy value"; }; diff --git a/tests/baselines/reference/unusedMultipleParameter3InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter3InContructor.errors.txt new file mode 100644 index 0000000000000..6da4a93981968 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter3InContructor.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedMultipleParameter3InContructor.ts(3,50): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameter3InContructor.ts(4,13): error TS6133: 'unused' is declared but never used. + + +==== tests/cases/compiler/unusedMultipleParameter3InContructor.ts (2 errors) ==== + + class Dummy { + constructor(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + person2 = "Dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter3InContructor.js b/tests/baselines/reference/unusedMultipleParameter3InContructor.js new file mode 100644 index 0000000000000..f77e154d5f6c2 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter3InContructor.js @@ -0,0 +1,17 @@ +//// [unusedMultipleParameter3InContructor.ts] + +class Dummy { + constructor(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; + } +} + +//// [unusedMultipleParameter3InContructor.js] +var Dummy = (function () { + function Dummy(person, person2, person3) { + var unused = 20; + person2 = "Dummy value"; + } + return Dummy; +}()); diff --git a/tests/baselines/reference/unusedMultipleParameter3InFunctionExpression.errors.txt b/tests/baselines/reference/unusedMultipleParameter3InFunctionExpression.errors.txt new file mode 100644 index 0000000000000..5f946226033d6 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter3InFunctionExpression.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedMultipleParameter3InFunctionExpression.ts(2,54): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameter3InFunctionExpression.ts(3,9): error TS6133: 'unused' is declared but never used. + + +==== tests/cases/compiler/unusedMultipleParameter3InFunctionExpression.ts (2 errors) ==== + + var func = function(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + person2 = "Dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameter3InFunctionExpression.js b/tests/baselines/reference/unusedMultipleParameter3InFunctionExpression.js new file mode 100644 index 0000000000000..a30bcaf12e90d --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter3InFunctionExpression.js @@ -0,0 +1,12 @@ +//// [unusedMultipleParameter3InFunctionExpression.ts] + +var func = function(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "Dummy value"; +} + +//// [unusedMultipleParameter3InFunctionExpression.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 index 5ca5eb3bd0c13..f8fbb2e16714c 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -1,12 +1,9 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameters1InFunctionDeclaration.ts (1 errors) ==== function greeter(person: string, person2: string) { - ~~~~~~ -!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt index 9e917be257edc..ae79fe9f5b515 100644 --- a/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -1,13 +1,10 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameters1InMethodDeclaration.ts (1 errors) ==== class Dummy { public greeter(person: string, person2: string) { - ~~~~~~ -!!! error TS6133: 'person' is declared but never used. var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt index 0c755b404cd35..34ac92358ee45 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -1,15 +1,9 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts (1 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. + function greeter(person: string, person2: string) { var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js index 1197cabf646c2..9a6866305df70 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.js @@ -1,12 +1,12 @@ //// [unusedMultipleParameters2InFunctionDeclaration.ts] -function greeter(person: string, person2: string, person3: string) { +function greeter(person: string, person2: string) { var unused = 20; person2 = "dummy value"; } //// [unusedMultipleParameters2InFunctionDeclaration.js] -function greeter(person, person2, person3) { +function greeter(person, person2) { var unused = 20; person2 = "dummy value"; } diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt index ab3313dc98b83..8754b0171155e 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -1,16 +1,10 @@ -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) ==== +==== tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts (1 errors) ==== 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. + public greeter(person: string, person2: string) { var unused = 20; ~~~~~~ !!! error TS6133: 'unused' is declared but never used. diff --git a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js index 80f93990b5bca..59faeb3fba036 100644 --- a/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.js @@ -1,7 +1,7 @@ //// [unusedMultipleParameters2InMethodDeclaration.ts] class Dummy { - public greeter(person: string, person2: string, person3: string) { + public greeter(person: string, person2: string) { var unused = 20; person2 = "dummy value"; } @@ -11,7 +11,7 @@ class Dummy { var Dummy = (function () { function Dummy() { } - Dummy.prototype.greeter = function (person, person2, person3) { + Dummy.prototype.greeter = function (person, person2) { var unused = 20; person2 = "dummy value"; }; diff --git a/tests/baselines/reference/unusedMultipleParameters3InFunctionDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters3InFunctionDeclaration.errors.txt new file mode 100644 index 0000000000000..fd1f605b017c1 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters3InFunctionDeclaration.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedMultipleParameters3InFunctionDeclaration.ts(2,51): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameters3InFunctionDeclaration.ts(3,9): error TS6133: 'unused' is declared but never used. + + +==== tests/cases/compiler/unusedMultipleParameters3InFunctionDeclaration.ts (2 errors) ==== + + function greeter(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + person2 = "dummy value"; + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters3InFunctionDeclaration.js b/tests/baselines/reference/unusedMultipleParameters3InFunctionDeclaration.js new file mode 100644 index 0000000000000..fce3701d137fd --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters3InFunctionDeclaration.js @@ -0,0 +1,12 @@ +//// [unusedMultipleParameters3InFunctionDeclaration.ts] + +function greeter(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "dummy value"; +} + +//// [unusedMultipleParameters3InFunctionDeclaration.js] +function greeter(person, person2, person3) { + var unused = 20; + person2 = "dummy value"; +} diff --git a/tests/baselines/reference/unusedMultipleParameters3InMethodDeclaration.errors.txt b/tests/baselines/reference/unusedMultipleParameters3InMethodDeclaration.errors.txt new file mode 100644 index 0000000000000..ef09e832843b5 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters3InMethodDeclaration.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedMultipleParameters3InMethodDeclaration.ts(3,53): error TS6133: 'person3' is declared but never used. +tests/cases/compiler/unusedMultipleParameters3InMethodDeclaration.ts(4,13): error TS6133: 'unused' is declared but never used. + + +==== tests/cases/compiler/unusedMultipleParameters3InMethodDeclaration.ts (2 errors) ==== + + class Dummy { + public greeter(person: string, person2: string, person3: string) { + ~~~~~~~ +!!! error TS6133: 'person3' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + person2 = "dummy value"; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedMultipleParameters3InMethodDeclaration.js b/tests/baselines/reference/unusedMultipleParameters3InMethodDeclaration.js new file mode 100644 index 0000000000000..1440945542617 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters3InMethodDeclaration.js @@ -0,0 +1,19 @@ +//// [unusedMultipleParameters3InMethodDeclaration.ts] + +class Dummy { + public greeter(person: string, person2: string, person3: string) { + var unused = 20; + person2 = "dummy value"; + } +} + +//// [unusedMultipleParameters3InMethodDeclaration.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/unusedParametersInLambda2.errors.txt b/tests/baselines/reference/unusedParametersInLambda2.errors.txt deleted file mode 100644 index 3044e6d9c88be..0000000000000 --- a/tests/baselines/reference/unusedParametersInLambda2.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -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.symbols b/tests/baselines/reference/unusedParametersInLambda2.symbols new file mode 100644 index 0000000000000..cdcc4ca63f0cb --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda2.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/unusedParametersInLambda2.ts === + +class A { +>A : Symbol(A, Decl(unusedParametersInLambda2.ts, 0, 0)) + + public f1() { +>f1 : Symbol(A.f1, Decl(unusedParametersInLambda2.ts, 1, 9)) + + return (X, Y) => { +>X : Symbol(X, Decl(unusedParametersInLambda2.ts, 3, 16)) +>Y : Symbol(Y, Decl(unusedParametersInLambda2.ts, 3, 18)) + + Y; +>Y : Symbol(Y, Decl(unusedParametersInLambda2.ts, 3, 18)) + } + } +} diff --git a/tests/baselines/reference/unusedParametersInLambda2.types b/tests/baselines/reference/unusedParametersInLambda2.types new file mode 100644 index 0000000000000..3013fdbc66f53 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda2.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/unusedParametersInLambda2.ts === + +class A { +>A : A + + public f1() { +>f1 : () => (X: any, Y: any) => void + + return (X, Y) => { +>(X, Y) => { Y; } : (X: any, Y: any) => void +>X : any +>Y : any + + Y; +>Y : any + } + } +} diff --git a/tests/baselines/reference/unusedParametersInLambda3.errors.txt b/tests/baselines/reference/unusedParametersInLambda3.errors.txt new file mode 100644 index 0000000000000..e0cc9e5eb41a8 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda3.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedParametersInLambda3.ts(4,23): error TS6133: 'Z' is declared but never used. + + +==== tests/cases/compiler/unusedParametersInLambda3.ts (1 errors) ==== + + class A { + public f1() { + return (X, Y, Z) => { + ~ +!!! error TS6133: 'Z' is declared but never used. + Y; + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersInLambda3.js b/tests/baselines/reference/unusedParametersInLambda3.js new file mode 100644 index 0000000000000..71a371c632a6d --- /dev/null +++ b/tests/baselines/reference/unusedParametersInLambda3.js @@ -0,0 +1,21 @@ +//// [unusedParametersInLambda3.ts] + +class A { + public f1() { + return (X, Y, Z) => { + Y; + } + } +} + +//// [unusedParametersInLambda3.js] +var A = (function () { + function A() { + } + A.prototype.f1 = function () { + return function (X, Y, Z) { + Y; + }; + }; + return A; +}()); diff --git a/tests/baselines/reference/unusedParametersInOrder.error.txt b/tests/baselines/reference/unusedParametersInOrder.error.txt new file mode 100644 index 0000000000000..7d020f212d817 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInOrder.error.txt @@ -0,0 +1,54 @@ +tests/cases/compiler/unusedParametersInOrder.ts(2,18): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(6,20): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(10,21): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(14,22): error TS6133: 'arg' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(22,21): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(26,17): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(28,26): error TS6133: 'c' is declared but never used. + + +==== tests/cases/compiler/unusedParametersInOrder.ts (7 errors) ==== + + function f(a, b, c) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + function f2({a, b, c}) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + function f3([a, ,b, c]) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + function f4(a, b, ...arg) { + ~~~ +!!! error TS6133: 'arg' is declared but never used. + return b; + } + + function f5(a, b, ...arg) { + return arg; + } + + function f6(a?, b?, c?) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + var f7 = (a, b, c) => b; + ~ +!!! error TS6133: 'c' is declared but never used. + + var f8 = function (a, b, c) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + }; \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersInOrder.errors.txt b/tests/baselines/reference/unusedParametersInOrder.errors.txt new file mode 100644 index 0000000000000..7d020f212d817 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInOrder.errors.txt @@ -0,0 +1,54 @@ +tests/cases/compiler/unusedParametersInOrder.ts(2,18): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(6,20): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(10,21): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(14,22): error TS6133: 'arg' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(22,21): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(26,17): error TS6133: 'c' is declared but never used. +tests/cases/compiler/unusedParametersInOrder.ts(28,26): error TS6133: 'c' is declared but never used. + + +==== tests/cases/compiler/unusedParametersInOrder.ts (7 errors) ==== + + function f(a, b, c) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + function f2({a, b, c}) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + function f3([a, ,b, c]) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + function f4(a, b, ...arg) { + ~~~ +!!! error TS6133: 'arg' is declared but never used. + return b; + } + + function f5(a, b, ...arg) { + return arg; + } + + function f6(a?, b?, c?) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + } + + var f7 = (a, b, c) => b; + ~ +!!! error TS6133: 'c' is declared but never used. + + var f8 = function (a, b, c) { + ~ +!!! error TS6133: 'c' is declared but never used. + return b; + }; \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersInOrder.js b/tests/baselines/reference/unusedParametersInOrder.js new file mode 100644 index 0000000000000..7d37c60d6d583 --- /dev/null +++ b/tests/baselines/reference/unusedParametersInOrder.js @@ -0,0 +1,65 @@ +//// [unusedParametersInOrder.ts] + +function f(a, b, c) { + return b; +} + +function f2({a, b, c}) { + return b; +} + +function f3([a, ,b, c]) { + return b; +} + +function f4(a, b, ...arg) { + return b; +} + +function f5(a, b, ...arg) { + return arg; +} + +function f6(a?, b?, c?) { + return b; +} + +var f7 = (a, b, c) => b; + +var f8 = function (a, b, c) { + return b; +}; + +//// [unusedParametersInOrder.js] +function f(a, b, c) { + return b; +} +function f2(_a) { + var a = _a.a, b = _a.b, c = _a.c; + return b; +} +function f3(_a) { + var a = _a[0], b = _a[2], c = _a[3]; + return b; +} +function f4(a, b) { + var arg = []; + for (var _i = 2; _i < arguments.length; _i++) { + arg[_i - 2] = arguments[_i]; + } + return b; +} +function f5(a, b) { + var arg = []; + for (var _i = 2; _i < arguments.length; _i++) { + arg[_i - 2] = arguments[_i]; + } + return arg; +} +function f6(a, b, c) { + return b; +} +var f7 = function (a, b, c) { return b; }; +var f8 = function (a, b, c) { + return b; +}; diff --git a/tests/baselines/reference/unusedParametersWithUnderscore.errors.txt b/tests/baselines/reference/unusedParametersWithUnderscore.errors.txt index 5e9ffa993b056..eeae5b6044343 100644 --- a/tests/baselines/reference/unusedParametersWithUnderscore.errors.txt +++ b/tests/baselines/reference/unusedParametersWithUnderscore.errors.txt @@ -1,22 +1,28 @@ -tests/cases/compiler/unusedParametersWithUnderscore.ts(2,12): error TS6133: 'a' is declared but never used. -tests/cases/compiler/unusedParametersWithUnderscore.ts(2,19): error TS6133: 'c' is declared but never used. tests/cases/compiler/unusedParametersWithUnderscore.ts(2,27): error TS6133: 'd' is declared but never used. tests/cases/compiler/unusedParametersWithUnderscore.ts(2,29): error TS6133: 'e___' is declared but never used. +tests/cases/compiler/unusedParametersWithUnderscore.ts(2,35): error TS6133: 'f' is declared but never used. +tests/cases/compiler/unusedParametersWithUnderscore.ts(2,38): error TS6133: 'g__' is declared but never used. +tests/cases/compiler/unusedParametersWithUnderscore.ts(2,43): error TS6133: 'h' is declared but never used. +tests/cases/compiler/unusedParametersWithUnderscore.ts(2,46): error TS6133: 'i_' is declared but never used. tests/cases/compiler/unusedParametersWithUnderscore.ts(12,16): error TS6133: 'arg' is declared but never used. -tests/cases/compiler/unusedParametersWithUnderscore.ts(18,13): error TS6133: 'arg' is declared but never used. +tests/cases/compiler/unusedParametersWithUnderscore.ts(18,20): error TS6133: 'arg' is declared but never used. -==== tests/cases/compiler/unusedParametersWithUnderscore.ts (6 errors) ==== +==== tests/cases/compiler/unusedParametersWithUnderscore.ts (8 errors) ==== - function f(a, _b, c, ___, d,e___, _f) { - ~ -!!! error TS6133: 'a' is declared but never used. - ~ -!!! error TS6133: 'c' is declared but never used. + function f(a, _b, c, ___, d,e___, f, g__, h, i_) { ~ !!! error TS6133: 'd' is declared but never used. ~~~~ !!! error TS6133: 'e___' is declared but never used. + ~ +!!! error TS6133: 'f' is declared but never used. + ~~~ +!!! error TS6133: 'g__' is declared but never used. + ~ +!!! error TS6133: 'h' is declared but never used. + ~~ +!!! error TS6133: 'i_' is declared but never used. } @@ -34,8 +40,8 @@ tests/cases/compiler/unusedParametersWithUnderscore.ts(18,13): error TS6133: 'ar function f5(..._arg) { } - function f6(arg?, _arg?) { - ~~~ + function f6(_arg?, arg?) { + ~~~ !!! error TS6133: 'arg' is declared but never used. } diff --git a/tests/baselines/reference/unusedParametersWithUnderscore.js b/tests/baselines/reference/unusedParametersWithUnderscore.js index 2899d347c66f3..7e0ac08bb6a59 100644 --- a/tests/baselines/reference/unusedParametersWithUnderscore.js +++ b/tests/baselines/reference/unusedParametersWithUnderscore.js @@ -1,6 +1,6 @@ //// [unusedParametersWithUnderscore.ts] -function f(a, _b, c, ___, d,e___, _f) { +function f(a, _b, c, ___, d,e___, f, g__, h, i_) { } @@ -16,7 +16,7 @@ function f4(...arg) { function f5(..._arg) { } -function f6(arg?, _arg?) { +function f6(_arg?, arg?) { } var f7 = _ => undefined; @@ -24,7 +24,7 @@ var f7 = _ => undefined; var f8 = function (_) { }; //// [unusedParametersWithUnderscore.js] -function f(a, _b, c, ___, d, e___, _f) { +function f(a, _b, c, ___, d, e___, f, g__, h, i_) { } function f2(_c) { var _a = _c._a, __b = _c.__b; @@ -44,7 +44,7 @@ function f5() { _arg[_i - 0] = arguments[_i]; } } -function f6(arg, _arg) { +function f6(_arg, arg) { } var f7 = function (_) { return undefined; }; var f8 = function (_) { }; diff --git a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt deleted file mode 100644 index 4566713f24f62..0000000000000 --- a/tests/baselines/reference/unusedParametersinConstructor2.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/compiler/unusedParametersinConstructor2.ts(3,17): error TS6133: 'param1' is declared but never used. - - -==== tests/cases/compiler/unusedParametersinConstructor2.ts (1 errors) ==== - - class greeter { - constructor(param1: string, param2: string) { - ~~~~~~ -!!! error TS6133: 'param1' is declared but never used. - param2 = param2 + "dummy value"; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/unusedParametersinConstructor2.symbols b/tests/baselines/reference/unusedParametersinConstructor2.symbols new file mode 100644 index 0000000000000..83eb43e48d452 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/unusedParametersinConstructor2.ts === + +class greeter { +>greeter : Symbol(greeter, Decl(unusedParametersinConstructor2.ts, 0, 0)) + + constructor(param1: string, param2: string) { +>param1 : Symbol(param1, Decl(unusedParametersinConstructor2.ts, 2, 16)) +>param2 : Symbol(param2, Decl(unusedParametersinConstructor2.ts, 2, 31)) + + param2 = param2 + "dummy value"; +>param2 : Symbol(param2, Decl(unusedParametersinConstructor2.ts, 2, 31)) +>param2 : Symbol(param2, Decl(unusedParametersinConstructor2.ts, 2, 31)) + } +} diff --git a/tests/baselines/reference/unusedParametersinConstructor2.types b/tests/baselines/reference/unusedParametersinConstructor2.types new file mode 100644 index 0000000000000..1530f904fe7f2 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.types @@ -0,0 +1,17 @@ +=== tests/cases/compiler/unusedParametersinConstructor2.ts === + +class greeter { +>greeter : greeter + + constructor(param1: string, param2: string) { +>param1 : string +>param2 : string + + param2 = param2 + "dummy value"; +>param2 = param2 + "dummy value" : string +>param2 : string +>param2 + "dummy value" : string +>param2 : string +>"dummy value" : "dummy value" + } +} diff --git a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt index 48891e5361eba..2fb1b75232a54 100644 --- a/tests/baselines/reference/unusedParametersinConstructor3.errors.txt +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -1,13 +1,10 @@ -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) ==== +==== tests/cases/compiler/unusedParametersinConstructor3.ts (1 errors) ==== 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/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts index 0c325f198fa9e..59b890dc84492 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts index 00615f034b7c2..3ec6080820307 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts index fd0e0f190e965..768729a961c7a 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts index 73adf038564cc..7ddae358445a8 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; function maker(child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts index 9417b13b65a49..fe40984c65fa5 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; var maker = function (child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts index 7971ce5a30aae..98e8d6273c178 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -function greeter(person: string, person2: string) { +function greeter(person: string, person2: string, person3: string) { var unused = 20; var maker = function(child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts index edeb341ee7db9..3aef14d0bf238 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; var maker = function (child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts index b407755c259e1..abfaa7eb2bd96 100644 --- a/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts +++ b/tests/cases/compiler/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -var greeter = function (person: string, person2: string) { +var greeter = function (person: string, person2: string, person3: string) { var unused = 20; var maker = function (child: string): void { var unused2 = 22; diff --git a/tests/cases/compiler/unusedMultipleParameter2InContructor.ts b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts index 34d54c714af6f..b9565cafca62a 100644 --- a/tests/cases/compiler/unusedMultipleParameter2InContructor.ts +++ b/tests/cases/compiler/unusedMultipleParameter2InContructor.ts @@ -2,7 +2,7 @@ //@noUnusedParameters:true class Dummy { - constructor(person: string, person2: string, person3: string) { + constructor(person: string, person2: string) { var unused = 20; person2 = "Dummy value"; } diff --git a/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts b/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts index 4d5bb2a103b09..3892db7e39d76 100644 --- a/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts +++ b/tests/cases/compiler/unusedMultipleParameter2InFunctionExpression.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -var func = function(person: string, person2: string, person3: string) { +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/unusedMultipleParameter3InContructor.ts b/tests/cases/compiler/unusedMultipleParameter3InContructor.ts new file mode 100644 index 0000000000000..34d54c714af6f --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter3InContructor.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/unusedMultipleParameter3InFunctionExpression.ts b/tests/cases/compiler/unusedMultipleParameter3InFunctionExpression.ts new file mode 100644 index 0000000000000..4d5bb2a103b09 --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameter3InFunctionExpression.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/unusedMultipleParameters2InFunctionDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts index ad20d044eccdb..bc63d72f0150d 100644 --- a/tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts +++ b/tests/cases/compiler/unusedMultipleParameters2InFunctionDeclaration.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -function greeter(person: string, person2: string, person3: string) { +function greeter(person: string, person2: 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 index 4ede3cd47a409..c74e702bbae36 100644 --- a/tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts +++ b/tests/cases/compiler/unusedMultipleParameters2InMethodDeclaration.ts @@ -2,7 +2,7 @@ //@noUnusedParameters:true class Dummy { - public greeter(person: string, person2: string, person3: string) { + public greeter(person: string, person2: string) { var unused = 20; person2 = "dummy value"; } diff --git a/tests/cases/compiler/unusedMultipleParameters3InFunctionDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters3InFunctionDeclaration.ts new file mode 100644 index 0000000000000..ad20d044eccdb --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameters3InFunctionDeclaration.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/unusedMultipleParameters3InMethodDeclaration.ts b/tests/cases/compiler/unusedMultipleParameters3InMethodDeclaration.ts new file mode 100644 index 0000000000000..4ede3cd47a409 --- /dev/null +++ b/tests/cases/compiler/unusedMultipleParameters3InMethodDeclaration.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/unusedParametersInLambda3.ts b/tests/cases/compiler/unusedParametersInLambda3.ts new file mode 100644 index 0000000000000..6b4ec87e92584 --- /dev/null +++ b/tests/cases/compiler/unusedParametersInLambda3.ts @@ -0,0 +1,10 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +class A { + public f1() { + return (X, Y, Z) => { + Y; + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersInOrder.ts b/tests/cases/compiler/unusedParametersInOrder.ts new file mode 100644 index 0000000000000..b389ba668c647 --- /dev/null +++ b/tests/cases/compiler/unusedParametersInOrder.ts @@ -0,0 +1,32 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +function f(a, b, c) { + return b; +} + +function f2({a, b, c}) { + return b; +} + +function f3([a, ,b, c]) { + return b; +} + +function f4(a, b, ...arg) { + return b; +} + +function f5(a, b, ...arg) { + return arg; +} + +function f6(a?, b?, c?) { + return b; +} + +var f7 = (a, b, c) => b; + +var f8 = function (a, b, c) { + return b; +}; \ No newline at end of file diff --git a/tests/cases/compiler/unusedParametersWithUnderscore.ts b/tests/cases/compiler/unusedParametersWithUnderscore.ts index e7382e5c2af2c..9a12c5618f454 100644 --- a/tests/cases/compiler/unusedParametersWithUnderscore.ts +++ b/tests/cases/compiler/unusedParametersWithUnderscore.ts @@ -1,7 +1,7 @@ //@noUnusedLocals:true //@noUnusedParameters:true -function f(a, _b, c, ___, d,e___, _f) { +function f(a, _b, c, ___, d,e___, f, g__, h, i_) { } @@ -17,7 +17,7 @@ function f4(...arg) { function f5(..._arg) { } -function f6(arg?, _arg?) { +function f6(_arg?, arg?) { } var f7 = _ => undefined;