From 680af0f7827e92c9382b21043c39e4833e7546d6 Mon Sep 17 00:00:00 2001 From: Arthur Ozga Date: Mon, 28 Nov 2016 14:42:55 -0600 Subject: [PATCH] use getStart() --- .../codefixes/fixExtendsInterfaceBecomesImplements.ts | 8 ++++++-- tests/cases/fourslash/codeFixChangeExtendsToImplements.ts | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts b/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts index b7ec5d0b8ca..1e72700ec01 100644 --- a/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts +++ b/src/services/codefixes/fixExtendsInterfaceBecomesImplements.ts @@ -21,13 +21,17 @@ namespace ts.codefix { return undefined; } - const textChanges: TextChange[] = [{ newText: " implements", span: { start: extendsToken.pos, length: extendsToken.end - extendsToken.pos } }]; + let changeStart = extendsToken.getStart(sourceFile); + let changeEnd = extendsToken.getEnd(); + const textChanges: TextChange[] = [{ newText: " implements", span: { start: changeStart, length: changeEnd - changeStart } }]; // We replace existing keywords with commas. for (let i = 1; i < heritageClauses.length; i++) { const keywordToken = heritageClauses[i].getFirstToken(); if (keywordToken) { - textChanges.push({ newText: ",", span: { start: keywordToken.pos, length: keywordToken.end - keywordToken.pos } }); + changeStart = keywordToken.getStart(sourceFile); + changeEnd = keywordToken.getEnd(); + textChanges.push({ newText: ",", span: { start: changeStart, length: changeEnd - changeStart } }); } } diff --git a/tests/cases/fourslash/codeFixChangeExtendsToImplements.ts b/tests/cases/fourslash/codeFixChangeExtendsToImplements.ts index 9d913c83f2d..bfaedf2818a 100644 --- a/tests/cases/fourslash/codeFixChangeExtendsToImplements.ts +++ b/tests/cases/fourslash/codeFixChangeExtendsToImplements.ts @@ -1,6 +1,6 @@ /// //// interface I {} -//// [|class C extends I|]{} +//// [|/* */ class /* */ C /* */ extends /* */ I|]{} -verify.rangeAfterCodeFix("class C implements I"); \ No newline at end of file +verify.rangeAfterCodeFix("/* */ class /* */ C /* */ implements /* */ I"); \ No newline at end of file