use getStart()

This commit is contained in:
Arthur Ozga
2016-11-28 14:42:55 -06:00
parent 4af0e2ab5b
commit 680af0f782
2 changed files with 8 additions and 4 deletions

View File

@@ -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 } });
}
}

View File

@@ -1,6 +1,6 @@
/// <reference path='fourslash.ts' />
//// interface I {}
//// [|class C extends I|]{}
//// [|/* */ class /* */ C /* */ extends /* */ I|]{}
verify.rangeAfterCodeFix("class C implements I");
verify.rangeAfterCodeFix("/* */ class /* */ C /* */ implements /* */ I");