From 7ff37743f4162338f421b7a160863b122be82f32 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 8 Nov 2021 08:42:05 +0000 Subject: [PATCH 1/3] Remove unnecessary annotation. --- src/services/findAllReferences.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 989b61cd19aa7..aebc52b2fb0f8 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -1323,7 +1323,7 @@ namespace ts.FindAllReferences { if (!symbol) return undefined; for (const token of getPossibleSymbolReferenceNodes(sourceFile, symbol.name, searchContainer)) { if (!isIdentifier(token) || token === definition || token.escapedText !== definition.escapedText) continue; - const referenceSymbol: Symbol = checker.getSymbolAtLocation(token)!; // See GH#19955 for why the type annotation is necessary + const referenceSymbol = checker.getSymbolAtLocation(token)!; if (referenceSymbol === symbol || checker.getShorthandAssignmentValueSymbol(token.parent) === symbol || isExportSpecifier(token.parent) && getLocalSymbolForExportSpecifier(token, referenceSymbol, token.parent, checker) === symbol) { From 087472b72a3918b3038f8566f510d4ccc59e3499 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 8 Nov 2021 10:00:20 +0000 Subject: [PATCH 2/3] Remove more unnecessary stuff. --- src/compiler/checker.ts | 3 +-- src/services/codefixes/convertToEsModule.ts | 4 +--- src/services/refactors/extractSymbol.ts | 3 +-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c8fc54ff13dc6..e753210950a78 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -43062,8 +43062,7 @@ namespace ts { // Modifiers are never allowed on properties except for 'async' on a method declaration if (prop.modifiers) { - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion - for (const mod of prop.modifiers!) { // TODO: GH#19955 + for (const mod of prop.modifiers) { if (mod.kind !== SyntaxKind.AsyncKeyword || prop.kind !== SyntaxKind.MethodDeclaration) { grammarErrorOnNode(mod, Diagnostics._0_modifier_cannot_be_used_here, getTextOfNode(mod)); } diff --git a/src/services/codefixes/convertToEsModule.ts b/src/services/codefixes/convertToEsModule.ts index e9f29c80de7da..57c4e7995b6b2 100644 --- a/src/services/codefixes/convertToEsModule.ts +++ b/src/services/codefixes/convertToEsModule.ts @@ -408,9 +408,7 @@ namespace ts.codefix { const importSpecifiers = mapAllOrFail(name.elements, e => e.dotDotDotToken || e.initializer || e.propertyName && !isIdentifier(e.propertyName) || !isIdentifier(e.name) ? undefined - // (TODO: GH#18217) - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion - : makeImportSpecifier(e.propertyName && (e.propertyName as Identifier).text, e.name.text)); + : makeImportSpecifier(e.propertyName && e.propertyName.text, e.name.text)); if (importSpecifiers) { return convertedImports([makeImport(/*name*/ undefined, importSpecifiers, moduleSpecifier, quotePreference)]); } diff --git a/src/services/refactors/extractSymbol.ts b/src/services/refactors/extractSymbol.ts index a14ee526ae783..ddbb42231c944 100644 --- a/src/services/refactors/extractSymbol.ts +++ b/src/services/refactors/extractSymbol.ts @@ -314,8 +314,7 @@ namespace ts.refactor.extractSymbol { return { errors: [createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } const statements: Statement[] = []; - const start2 = start; // TODO: GH#18217 Need to alias `start` to get this to compile. See https://github.com/Microsoft/TypeScript/issues/19955#issuecomment-344118248 - for (const statement of (start2.parent as BlockLike).statements) { + for (const statement of (start.parent as BlockLike).statements) { if (statement === start || statements.length) { const errors = checkNode(statement); if (errors) { From 8ed7a6f3f2315893a76e5f214b5b99921af894f7 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 8 Nov 2021 10:50:57 -0800 Subject: [PATCH 3/3] Remove unnecessary assertion. --- src/services/refactors/extractSymbol.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/refactors/extractSymbol.ts b/src/services/refactors/extractSymbol.ts index ddbb42231c944..df6da8c097e9c 100644 --- a/src/services/refactors/extractSymbol.ts +++ b/src/services/refactors/extractSymbol.ts @@ -314,7 +314,7 @@ namespace ts.refactor.extractSymbol { return { errors: [createFileDiagnostic(sourceFile, span.start, length, Messages.cannotExtractRange)] }; } const statements: Statement[] = []; - for (const statement of (start.parent as BlockLike).statements) { + for (const statement of start.parent.statements) { if (statement === start || statements.length) { const errors = checkNode(statement); if (errors) {