diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0ca0fd907fb46..2f579dccc389e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8310,8 +8310,21 @@ namespace ts { return container === declarationContainer; } + function updateReferencesForInterfaceHeritiageClauseTargets(node: InterfaceDeclaration): void { + const extendedTypeNode = getClassExtendsHeritageClauseElement(node); + if (extendedTypeNode) { + const t = getTypeFromTypeNode(extendedTypeNode); + if (t !== unknownType && t.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + t.symbol.hasReference = true; + } + } + } + function checkIdentifier(node: Identifier): Type { const symbol = getResolvedSymbol(node); + if (symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + 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 @@ -10202,6 +10215,10 @@ namespace ts { return unknownType; } + if ((compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + prop.hasReference = true; + } + getNodeLinks(node).resolvedSymbol = prop; if (prop.parent && prop.parent.flags & SymbolFlags.Class) { @@ -12144,6 +12161,8 @@ namespace ts { } } } + checkUnusedIdentifiers(node); + checkUnusedTypeParameters(node); } } @@ -13214,6 +13233,9 @@ namespace ts { checkAsyncFunctionReturnType(node); } } + if (!(node).body) { + checkUnusedTypeParameters(node); + } } } @@ -13366,6 +13388,8 @@ namespace ts { checkGrammarConstructorTypeParameters(node) || checkGrammarConstructorTypeAnnotation(node); checkSourceElement(node.body); + checkUnusedIdentifiers(node); + checkUnusedTypeParameters(node); const symbol = getSymbolOfNode(node); const firstDeclaration = getDeclarationOfKind(symbol, node.kind); @@ -13558,13 +13582,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 && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + 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); + } } } } @@ -14407,6 +14436,8 @@ namespace ts { } checkSourceElement(node.body); + checkUnusedIdentifiers(node); + checkUnusedTypeParameters(node); if (!node.asteriskToken) { const returnOrPromisedType = node.type && (isAsync ? checkAsyncFunctionReturnType(node) : getTypeFromTypeNode(node.type)); checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnOrPromisedType); @@ -14428,12 +14459,83 @@ namespace ts { } } + 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)) { + 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, 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, local.name); + } + } + } + } + } + } + } + + function checkUnusedClassLocals(node: ClassDeclaration): void { + if (compilerOptions.noUnusedLocals && !isInAmbientContext(node)) { + if (node.members) { + for (const member of node.members) { + if (member.kind === SyntaxKind.MethodDeclaration || member.kind === SyntaxKind.PropertyDeclaration) { + 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); + } + } + } + } + } + } + } + + 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) { + if (!typeParameter.symbol.hasReference) { + error(typeParameter.name, Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); + } + } + } + } + } + + function isPrivateNode(node: Node): boolean { + return (node.flags & NodeFlags.Private) !== 0; + } + + 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) { + forEach(local.declarations, d => error(d.name, Diagnostics._0_is_declared_but_never_used, local.name)); + } + } + } + } + } + function checkBlock(node: Block) { // Grammar checking for SyntaxKind.Block if (node.kind === SyntaxKind.Block) { checkGrammarStatementInAmbientContext(node); } forEach(node.statements, checkSourceElement); + checkUnusedIdentifiers(node); } function checkCollisionWithArgumentsInGeneratedCode(node: SignatureDeclaration) { @@ -14938,6 +15040,7 @@ namespace ts { } checkSourceElement(node.statement); + checkUnusedIdentifiers(node); } function checkForInStatement(node: ForInStatement) { @@ -14985,6 +15088,7 @@ namespace ts { } checkSourceElement(node.statement); + checkUnusedIdentifiers(node); } function checkForInOrForOfVariableDeclaration(iterationStatement: ForInStatement | ForOfStatement): void { @@ -15424,6 +15528,7 @@ namespace ts { } checkBlock(catchClause.block); + checkUnusedIdentifiers(catchClause); } if (node.finallyBlock) { @@ -15585,6 +15690,8 @@ namespace ts { } checkClassLikeDeclaration(node); forEach(node.members, checkSourceElement); + checkUnusedClassLocals(node); + checkUnusedTypeParameters(node); } function checkClassLikeDeclaration(node: ClassLikeDeclaration) { @@ -15894,6 +16001,8 @@ namespace ts { if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); + updateReferencesForInterfaceHeritiageClauseTargets(node); + checkUnusedTypeParameters(node); } } @@ -16290,6 +16399,7 @@ namespace ts { if (node.body) { checkSourceElement(node.body); + checkUnusedModuleLocals(node); } } @@ -16470,6 +16580,9 @@ namespace ts { if (target.flags & SymbolFlags.Type) { checkTypeNameIsReserved(node.name, Diagnostics.Import_name_cannot_be_0); } + if ((compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !isInAmbientContext(node)) { + target.hasReference = true; + } } } else { @@ -16812,6 +16925,9 @@ namespace ts { deferredNodes = []; forEach(node.statements, checkSourceElement); + if (isExternalModule(node)) { + checkUnusedModuleLocals(node); + } checkDeferredNodes(); deferredNodes = undefined; diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 2e0bfa8290a22..1c1b51f2a2917 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.Report_Errors_on_Unused_Locals, + }, + { + name: "noUnusedParameters", + type: "boolean", + description: Diagnostics.Report_Errors_on_Unused_Parameters + }, { name: "noLib", type: "boolean", diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 95475a6178e99..e2ad55f95ef2f 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2792,6 +2792,18 @@ "category": "Message", "code": 6132 }, + "'{0}' is declared but never used.": { + "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/src/compiler/types.ts b/src/compiler/types.ts index cac04172a5cf7..a9b1e131e9628 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2125,6 +2125,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 + /* @internal */ hasReference?: boolean; // True if the symbol is referenced elsewhere } /* @internal */ @@ -2555,6 +2556,8 @@ namespace ts { noImplicitAny?: boolean; noImplicitReturns?: boolean; noImplicitThis?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; noImplicitUseStrict?: boolean; noLib?: boolean; noResolve?: boolean; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b4ef62c6c3e22..99e158e6ab7a6 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1702,7 +1702,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; } 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/unusedClassesinNamespace1.errors.txt b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt new file mode 100644 index 0000000000000..dc5dc397fec38 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedClassesinNamespace1.ts(3,11): error TS6133: 'c1' is declared but never used. + + +==== tests/cases/compiler/unusedClassesinNamespace1.ts (1 errors) ==== + + namespace Validation { + class c1 { + ~~ +!!! error TS6133: 'c1' is declared but never 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..322b2697550e5 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace2.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedClassesinNamespace2.ts(3,11): error TS6133: 'c1' is declared but never used. + + +==== tests/cases/compiler/unusedClassesinNamespace2.ts (1 errors) ==== + + namespace Validation { + class c1 { + ~~ +!!! error TS6133: 'c1' is declared but never 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..2fd6e70524ef8 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace4.errors.txt @@ -0,0 +1,20 @@ +tests/cases/compiler/unusedClassesinNamespace4.ts(11,11): error TS6133: 'c3' is declared but never used. + + +==== tests/cases/compiler/unusedClassesinNamespace4.ts (1 errors) ==== + + namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 extends c1 { + ~~ +!!! error TS6133: 'c3' is declared but never 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..752036b2d0314 --- /dev/null +++ b/tests/baselines/reference/unusedClassesinNamespace5.errors.txt @@ -0,0 +1,20 @@ +tests/cases/compiler/unusedClassesinNamespace5.ts(11,11): error TS6133: 'c3' is declared but never used. + + +==== tests/cases/compiler/unusedClassesinNamespace5.ts (1 errors) ==== + + namespace Validation { + class c1 { + + } + + export class c2 { + + } + + class c3 { + ~~ +!!! error TS6133: 'c3' is declared but never 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..428eeae8de5f0 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces1.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedFunctionsinNamespaces1.ts(3,14): error TS6133: 'function1' is declared but never used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces1.ts (1 errors) ==== + + namespace Validation { + function function1() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never 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..2b0b6def37833 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces2.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedFunctionsinNamespaces2.ts(3,9): error TS6133: 'function1' is declared but never used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces2.ts (1 errors) ==== + + namespace Validation { + var function1 = function() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never 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..cfbeecc3c4902 --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces3.errors.txt @@ -0,0 +1,14 @@ +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) ==== + + namespace Validation { + 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/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..72ce63924fd3e --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces4.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/unusedFunctionsinNamespaces4.ts(3,9): error TS6133: 'function1' is declared but never used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces4.ts (1 errors) ==== + + namespace Validation { + var function1 = function() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never 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..239680499bdae --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces5.errors.txt @@ -0,0 +1,26 @@ +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) ==== + + namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + ~~~~~~~~~ +!!! error TS6133: 'function3' is declared but never used. + function1(); + } + + function function4() { + ~~~~~~~~~ +!!! error TS6133: 'function4' is declared but never 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..f8f0d12dd51ac --- /dev/null +++ b/tests/baselines/reference/unusedFunctionsinNamespaces6.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/unusedFunctionsinNamespaces6.ts(14,14): error TS6133: 'function4' is declared but never used. + + +==== tests/cases/compiler/unusedFunctionsinNamespaces6.ts (1 errors) ==== + + namespace Validation { + var function1 = function() { + } + + export function function2() { + + } + + function function3() { + function1(); + } + + function function4() { + ~~~~~~~~~ +!!! error TS6133: 'function4' is declared but never 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/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 new file mode 100644 index 0000000000000..a174074bdf77a --- /dev/null +++ b/tests/baselines/reference/unusedIdentifiersConsolidated1.errors.txt @@ -0,0 +1,153 @@ +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,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. +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + } + + class Dummy { + ~~~~~~~~~~~~~~~~~~~ +!!! 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; + public typedvariable: usedtypeparameter; + + constructor(message: string) { + ~~~~~~~ +!!! error TS6133: 'message' is declared but never used. + var unused2 = 22; + ~~~~~~~ +!!! error TS6133: 'unused2' is declared but never used. + this.greeting = "Dummy Message"; + } + + public greeter(person: string) { + ~~~~~~ +!!! error TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + this.usedPrivateFunction(); + } + + private usedPrivateFunction() { + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS6133: 'unUsedPrivateFunction' is declared but never 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]+$/; + ~~~~~~~~~~~~ +!!! error TS6133: 'numberRegexp' is declared but never used. + + export class LettersOnlyValidator implements StringValidator { + isAcceptable(s2: string) { + return lettersRegexp.test(s2); + } + + private unUsedPrivateFunction() { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS6133: 'unUsedPrivateFunction' is declared but never used. + } + } + + export class ZipCodeValidator implements StringValidator { + isAcceptable(s3: string) { + return s3.length === 5; + } + } + + interface usedLocallyInterface { + } + + interface usedLocallyInterface2 { + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS6133: 'usedLocallyInterface2' is declared but never used. + someFunction(s1: string): void; + } + + export interface exportedInterface { + } + + class dummy implements usedLocallyInterface { + ~~~~~ +!!! error TS6133: 'dummy' is declared but never used. + } + + interface unusedInterface { + ~~~~~~~~~~~~~~~ +!!! error TS6133: 'unusedInterface' is declared but never used. + } + } + + + namespace Greeter { + class class1 { + } + + export class class2 extends class1 { + } + + class class3 { + ~~~~~~ +!!! error TS6133: 'class3' is declared but never used. + } + + export class class4 { + } + + interface interface1 { + } + + export interface interface2 extends interface1 { + } + + interface interface3 { + } + + export interface interface4 { + } + + export let a: interface3; + + interface interface5 { + ~~~~~~~~~~ +!!! error TS6133: 'interface5' is declared but never 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/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/unusedImports10.errors.txt b/tests/baselines/reference/unusedImports10.errors.txt new file mode 100644 index 0000000000000..c4937a420f99f --- /dev/null +++ b/tests/baselines/reference/unusedImports10.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedImports10.ts(10,12): 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/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..1ea8ed60635ad --- /dev/null +++ b/tests/baselines/reference/unusedImports7.errors.txt @@ -0,0 +1,23 @@ +tests/cases/compiler/file2.ts(1,13): 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..d82193106b761 --- /dev/null +++ b/tests/baselines/reference/unusedImports8.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/file2.ts(1,50): 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..8503a35e29073 --- /dev/null +++ b/tests/baselines/reference/unusedImports9.errors.txt @@ -0,0 +1,21 @@ +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) ==== + + 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/baselines/reference/unusedInterfaceinNamespace1.errors.txt b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt new file mode 100644 index 0000000000000..3fa066e5aae27 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedInterfaceinNamespace1.ts(3,15): error TS6133: 'i1' is declared but never used. + + +==== tests/cases/compiler/unusedInterfaceinNamespace1.ts (1 errors) ==== + + namespace Validation { + interface i1 { + ~~ +!!! error TS6133: 'i1' is declared but never 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..0635e7be07b79 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace2.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedInterfaceinNamespace2.ts(3,15): error TS6133: 'i1' is declared but never used. + + +==== tests/cases/compiler/unusedInterfaceinNamespace2.ts (1 errors) ==== + + namespace Validation { + interface i1 { + ~~ +!!! error TS6133: 'i1' is declared but never 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..8aa0e89ae1a14 --- /dev/null +++ b/tests/baselines/reference/unusedInterfaceinNamespace3.errors.txt @@ -0,0 +1,20 @@ +tests/cases/compiler/unusedInterfaceinNamespace3.ts(11,15): error TS6133: 'i3' is declared but never used. + + +==== tests/cases/compiler/unusedInterfaceinNamespace3.ts (1 errors) ==== + + namespace Validation { + interface i1 { + + } + + export interface i2 { + + } + + interface i3 extends i1 { + ~~ +!!! error TS6133: 'i3' is declared but never 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..18141e5acdd6f --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedLocalsInMethod1.ts(4,13): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedLocalsInMethod1.ts (1 errors) ==== + + class greeter { + public function1() { + var x = 10; + ~ +!!! error TS6133: 'x' is declared but never 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..524580bcdf416 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod2.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedLocalsInMethod2.ts(4,13): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedLocalsInMethod2.ts (1 errors) ==== + + class greeter { + public function1() { + var x, y = 10; + ~ +!!! error TS6133: 'x' is declared but never 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..b82ceaedba267 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsInMethod3.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedLocalsInMethod3.ts(4,13): error TS6133: 'x' is declared but never used. + + +==== tests/cases/compiler/unusedLocalsInMethod3.ts (1 errors) ==== + + class greeter { + public function1() { + var x, y; + ~ +!!! error TS6133: 'x' is declared but never 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..fa8337c8f177c --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration1.errors.txt @@ -0,0 +1,26 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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. + } + 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..0e56f97d1a3e0 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionDeclaration2.errors.txt @@ -0,0 +1,35 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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; + ~~~~~~~ +!!! error TS6133: 'unused3' is declared but never 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..0b16195283577 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression1.errors.txt @@ -0,0 +1,26 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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. + } + 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..7e772d986379e --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionDeclarationWithinFunctionExpression2.errors.txt @@ -0,0 +1,35 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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; + ~~~~~~~ +!!! error TS6133: 'unused3' is declared but never 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..99a4fef895867 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration1.errors.txt @@ -0,0 +1,26 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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. + } + 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..8eb1e73d87ca9 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionDeclaration2.errors.txt @@ -0,0 +1,35 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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; + ~~~~~~~ +!!! error TS6133: 'unused3' is declared but never 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..dd4778b4f3dd9 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression1.errors.txt @@ -0,0 +1,26 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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. + } + 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..6d22b7a2bde51 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsOnFunctionExpressionWithinFunctionExpression2.errors.txt @@ -0,0 +1,35 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never used. + 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; + ~~~~~~~ +!!! error TS6133: 'unused3' is declared but never 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..6fa3ef0883942 --- /dev/null +++ b/tests/baselines/reference/unusedLocalsinConstructor1.errors.txt @@ -0,0 +1,12 @@ +tests/cases/compiler/unusedLocalsinConstructor1.ts(4,13): error TS6133: 'unused' is declared but never used. + + +==== tests/cases/compiler/unusedLocalsinConstructor1.ts (1 errors) ==== + + class greeter { + constructor() { + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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..44c0bddf87cbc --- /dev/null +++ b/tests/baselines/reference/unusedLocalsinConstructor2.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/unusedLocalsinConstructor2.ts(4,13): error TS6133: 'unused' is declared but never used. + + +==== tests/cases/compiler/unusedLocalsinConstructor2.ts (1 errors) ==== + + class greeter { + constructor() { + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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/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/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/unusedMultipleParameter1InContructor.errors.txt b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt new file mode 100644 index 0000000000000..28cfc1d578fa8 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InContructor.errors.txt @@ -0,0 +1,16 @@ +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) ==== + + 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. + 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..d841f7064a159 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter1InFunctionExpression.errors.txt @@ -0,0 +1,14 @@ +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 TS6133: 'person' 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/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..2397a849c5c64 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InContructor.errors.txt @@ -0,0 +1,19 @@ +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) ==== + + 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; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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..1a4e78cd9fa15 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameter2InFunctionExpression.errors.txt @@ -0,0 +1,17 @@ +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 TS6133: 'person' is declared but never used. + ~~~~~~~ +!!! 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/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..5ca5eb3bd0c13 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters1InFunctionDeclaration.errors.txt @@ -0,0 +1,14 @@ +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 TS6133: 'person' 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/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..9e917be257edc --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters1InMethodDeclaration.errors.txt @@ -0,0 +1,16 @@ +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) ==== + + 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. + 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..0c755b404cd35 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters2InFunctionDeclaration.errors.txt @@ -0,0 +1,17 @@ +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 TS6133: 'person' is declared but never used. + ~~~~~~~ +!!! 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/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..ab3313dc98b83 --- /dev/null +++ b/tests/baselines/reference/unusedMultipleParameters2InMethodDeclaration.errors.txt @@ -0,0 +1,19 @@ +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) ==== + + 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; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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/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/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/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/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/unusedParametersinConstructor1.errors.txt b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt new file mode 100644 index 0000000000000..d09d5906ed103 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor1.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/unusedParametersinConstructor1.ts(3,17): error TS6133: 'param1' is declared but never used. + + +==== tests/cases/compiler/unusedParametersinConstructor1.ts (1 errors) ==== + + 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/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..4566713f24f62 --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor2.errors.txt @@ -0,0 +1,12 @@ +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.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..48891e5361eba --- /dev/null +++ b/tests/baselines/reference/unusedParametersinConstructor3.errors.txt @@ -0,0 +1,15 @@ +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) ==== + + 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"; + } + } \ 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..40357c0b7f005 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/unusedPrivateMethodInClass1.ts(3,13): error TS6133: 'function1' is declared but never used. + + +==== tests/cases/compiler/unusedPrivateMethodInClass1.ts (1 errors) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never 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..36a7a3c40d04b --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass2.errors.txt @@ -0,0 +1,21 @@ +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) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never used. + var y = 10; + y++; + } + + private function2() { + ~~~~~~~~~ +!!! error TS6133: 'function2' is declared but never 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..365cfb321351f --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass3.errors.txt @@ -0,0 +1,26 @@ +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) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never used. + var y = 10; + y++; + } + + private function2() { + ~~~~~~~~~ +!!! error TS6133: 'function2' is declared but never 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..324e7d17bbc54 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateMethodInClass4.errors.txt @@ -0,0 +1,24 @@ +tests/cases/compiler/unusedPrivateMethodInClass4.ts(3,13): error TS6133: 'function1' is declared but never used. + + +==== tests/cases/compiler/unusedPrivateMethodInClass4.ts (1 errors) ==== + + class greeter { + private function1() { + ~~~~~~~~~ +!!! error TS6133: 'function1' is declared but never 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..bb971334135df --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass1.errors.txt @@ -0,0 +1,10 @@ +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/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..3b814e5ca7c35 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass2.errors.txt @@ -0,0 +1,14 @@ +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/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..5d5e18a2fdfd5 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass3.errors.txt @@ -0,0 +1,15 @@ +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/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..83325cf2d8aa8 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass4.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedPrivateVariableInClass4.ts(4,13): error TS6133: 'y' is declared but never used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass4.ts (1 errors) ==== + + class greeter { + private x: string; + private y: string; + ~ +!!! error TS6133: 'y' is declared but never 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..741406c528480 --- /dev/null +++ b/tests/baselines/reference/unusedPrivateVariableInClass5.errors.txt @@ -0,0 +1,16 @@ +tests/cases/compiler/unusedPrivateVariableInClass5.ts(4,13): error TS6133: 'y' is declared but never used. + + +==== tests/cases/compiler/unusedPrivateVariableInClass5.ts (1 errors) ==== + + class greeter { + private x: string; + private y: string; + ~ +!!! error TS6133: 'y' is declared but never 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/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 new file mode 100644 index 0000000000000..2549266dfc27b --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInContructor.errors.txt @@ -0,0 +1,15 @@ +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) ==== + + class Dummy { + constructor(person: string) { + ~~~~~~ +!!! error TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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..e29269e9b05bf --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInFunctionDeclaration.errors.txt @@ -0,0 +1,13 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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..ad3e5e67a72f2 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInFunctionExpression.errors.txt @@ -0,0 +1,13 @@ +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 TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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..af806bbadfb53 --- /dev/null +++ b/tests/baselines/reference/unusedSingleParameterInMethodDeclaration.errors.txt @@ -0,0 +1,15 @@ +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) ==== + + class Dummy { + public greeter(person: string) { + ~~~~~~ +!!! error TS6133: 'person' is declared but never used. + var unused = 20; + ~~~~~~ +!!! error TS6133: 'unused' is declared but never 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/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/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/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/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/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/baselines/reference/unusedTypeParameters1.errors.txt b/tests/baselines/reference/unusedTypeParameters1.errors.txt new file mode 100644 index 0000000000000..15d85d0e8159e --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters1.errors.txt @@ -0,0 +1,10 @@ +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: 'typeparameter1' is declared but never 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..a82a119d2ca2f --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters2.errors.txt @@ -0,0 +1,14 @@ +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: 'typeparameter1' is declared but never 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..0b051ad476b1b --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters3.errors.txt @@ -0,0 +1,17 @@ +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: 'typeparameter1' is declared but never used. + ~~~~~~~~~~~~~~ +!!! error TS6133: 'typeparameter3' is declared but never 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/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/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/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/baselines/reference/unusedVariablesinNamespaces1.errors.txt b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt new file mode 100644 index 0000000000000..39c1cdc4e080d --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces1.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/unusedVariablesinNamespaces1.ts(3,11): error TS6133: 'lettersRegexp' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinNamespaces1.ts (1 errors) ==== + + namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + ~~~~~~~~~~~~~ +!!! error TS6133: 'lettersRegexp' is declared but never 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..43d41e6338bdc --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces2.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/unusedVariablesinNamespaces2.ts(4,11): error TS6133: 'numberRegexp' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinNamespaces2.ts (1 errors) ==== + + namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! error TS6133: 'numberRegexp' is declared but never 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..a0a274c6b2ae3 --- /dev/null +++ b/tests/baselines/reference/unusedVariablesinNamespaces3.errors.txt @@ -0,0 +1,18 @@ +tests/cases/compiler/unusedVariablesinNamespaces3.ts(4,11): error TS6133: 'numberRegexp' is declared but never used. + + +==== tests/cases/compiler/unusedVariablesinNamespaces3.ts (1 errors) ==== + + namespace Validation { + const lettersRegexp = /^[A-Za-z]+$/; + const numberRegexp = /^[0-9]+$/; + ~~~~~~~~~~~~ +!!! error TS6133: 'numberRegexp' is declared but never 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/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/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/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/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/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/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/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 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/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/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/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/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 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/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/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/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/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/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/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/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/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/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; 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 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/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 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 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 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