From 2dc3c8e49f68c080b75998cf1f191941d83b0fd7 Mon Sep 17 00:00:00 2001 From: Ryan Clarke Date: Thu, 1 Nov 2018 07:46:15 -0400 Subject: [PATCH] Refactor convert to unknown codefix --- ...dConvertToUnknownForNonOverlappingTypes.ts | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts b/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts index 2860c956387..536c8b1f817 100644 --- a/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts +++ b/src/services/codefixes/addConvertToUnknownForNonOverlappingTypes.ts @@ -17,26 +17,22 @@ namespace ts.codefix { const asExpression = findAncestor(token, isAsExpression)!; if (!!asExpression) { - Debug.assert(!!asExpression, "Expected position to be owned by an as-expression."); + const nodeBeingConverted = asExpression.getChildAt(0); + const expressionBeingConverted = findAncestor(nodeBeingConverted, isExpression)!; + Debug.assert(!!expressionBeingConverted, "Expected position to be owned by an expression."); - const nodeBeingCast = asExpression.getChildAt(0); - const expressionBeingCast = findAncestor(nodeBeingCast, isExpression)!; - Debug.assert(!!expressionBeingCast, "Expected position to be owned by an expression."); - - const replacement = createAsExpression(expressionBeingCast, createKeywordTypeNode(SyntaxKind.UnknownKeyword)); - changeTracker.replaceNode(sourceFile, expressionBeingCast, replacement); + const replacement = createAsExpression(expressionBeingConverted, createKeywordTypeNode(SyntaxKind.UnknownKeyword)); + changeTracker.replaceNode(sourceFile, expressionBeingConverted, replacement); } const typeAssertion = findAncestor(token, isTypeAssertion)!; if (!!typeAssertion) { - Debug.assert(!!typeAssertion, "Expected position to be owned by a type assertion."); + const nodeBeingConverted = typeAssertion.getLastToken(); + const expressionBeingConverted = findAncestor(nodeBeingConverted, isExpression)!; + Debug.assert(!!expressionBeingConverted, "Expected position to be owned by an expression."); - const nodeBeingCast = typeAssertion.getLastToken(); - const expressionBeingCast = findAncestor(nodeBeingCast, isExpression)!; - Debug.assert(!!expressionBeingCast, "Expected position to be owned by an expression."); - - const replacement = createTypeAssertion(createKeywordTypeNode(SyntaxKind.UnknownKeyword), expressionBeingCast); - changeTracker.replaceNode(sourceFile, expressionBeingCast, replacement); + const replacement = createTypeAssertion(createKeywordTypeNode(SyntaxKind.UnknownKeyword), expressionBeingConverted); + changeTracker.replaceNode(sourceFile, expressionBeingConverted, replacement); } } }