From 8d6e48a2ec06c0c793323625a8c399a2b2cf13ba Mon Sep 17 00:00:00 2001 From: Andrew Casey Date: Thu, 8 Feb 2018 15:28:59 -0800 Subject: [PATCH] Change the meaning of useNonAdjustedStartPosition Old: getFullStart New: getStart Impact: only used in tests Reason: symmetry with useNonAdjustedEndPosition - both now effectively mean "exclude trivia from range" --- src/services/textChanges.ts | 4 +++- tests/baselines/reference/textChanges/deleteNode2.js | 6 +++++- tests/baselines/reference/textChanges/deleteNode4.js | 6 +++++- tests/baselines/reference/textChanges/deleteNodeRange2.js | 4 +++- tests/baselines/reference/textChanges/deleteNodeRange4.js | 4 +++- tests/baselines/reference/textChanges/replaceNode2.js | 4 +++- tests/baselines/reference/textChanges/replaceNode4.js | 4 +++- tests/baselines/reference/textChanges/replaceNode5.js | 2 ++ tests/baselines/reference/textChanges/replaceNodeRange2.js | 4 +++- tests/baselines/reference/textChanges/replaceNodeRange4.js | 4 +++- 10 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index 83b434aac7d..fc61ae36195 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -28,9 +28,11 @@ namespace ts.textChanges { } export interface ConfigurableStart { + /** True to use getStart() (NB, not getFullStart()) without adjustment. */ useNonAdjustedStartPosition?: boolean; } export interface ConfigurableEnd { + /** True to use getEnd() without adjustment. */ useNonAdjustedEndPosition?: boolean; } @@ -132,7 +134,7 @@ namespace ts.textChanges { export function getAdjustedStartPosition(sourceFile: SourceFile, node: Node, options: ConfigurableStart, position: Position) { if (options.useNonAdjustedStartPosition) { - return node.getFullStart(); + return node.getStart(); } const fullStart = node.getFullStart(); const start = node.getStart(sourceFile); diff --git a/tests/baselines/reference/textChanges/deleteNode2.js b/tests/baselines/reference/textChanges/deleteNode2.js index 828a9b5b8fa..654c4929f15 100644 --- a/tests/baselines/reference/textChanges/deleteNode2.js +++ b/tests/baselines/reference/textChanges/deleteNode2.js @@ -9,4 +9,8 @@ var z = 3; // comment 4 ===MODIFIED=== -var x = 1;var z = 3; // comment 4 +var x = 1; // some comment - 1 +/** + * comment 2 + */ +var z = 3; // comment 4 diff --git a/tests/baselines/reference/textChanges/deleteNode4.js b/tests/baselines/reference/textChanges/deleteNode4.js index b6edb25bc5c..d6c35e5d2e1 100644 --- a/tests/baselines/reference/textChanges/deleteNode4.js +++ b/tests/baselines/reference/textChanges/deleteNode4.js @@ -9,5 +9,9 @@ var z = 3; // comment 4 ===MODIFIED=== -var x = 1; // comment 3 +var x = 1; // some comment - 1 +/** + * comment 2 + */ + // comment 3 var z = 3; // comment 4 diff --git a/tests/baselines/reference/textChanges/deleteNodeRange2.js b/tests/baselines/reference/textChanges/deleteNodeRange2.js index aacea6ff5ee..08274885af4 100644 --- a/tests/baselines/reference/textChanges/deleteNodeRange2.js +++ b/tests/baselines/reference/textChanges/deleteNodeRange2.js @@ -11,5 +11,7 @@ var a = 4; // comment 7 ===MODIFIED=== // comment 1 -var x = 1;// comment 6 +var x = 1; // comment 2 +// comment 3 +// comment 6 var a = 4; // comment 7 diff --git a/tests/baselines/reference/textChanges/deleteNodeRange4.js b/tests/baselines/reference/textChanges/deleteNodeRange4.js index 3e9ad960b13..5314c59c9e4 100644 --- a/tests/baselines/reference/textChanges/deleteNodeRange4.js +++ b/tests/baselines/reference/textChanges/deleteNodeRange4.js @@ -11,6 +11,8 @@ var a = 4; // comment 7 ===MODIFIED=== // comment 1 -var x = 1; // comment 5 +var x = 1; // comment 2 +// comment 3 + // comment 5 // comment 6 var a = 4; // comment 7 diff --git a/tests/baselines/reference/textChanges/replaceNode2.js b/tests/baselines/reference/textChanges/replaceNode2.js index 66a17f7c910..f474aaa327b 100644 --- a/tests/baselines/reference/textChanges/replaceNode2.js +++ b/tests/baselines/reference/textChanges/replaceNode2.js @@ -10,7 +10,9 @@ var a = 4; // comment 7 ===MODIFIED=== // comment 1 -var x = 1; +var x = 1; // comment 2 +// comment 3 + public class class1 implements interface1 { property1: boolean; diff --git a/tests/baselines/reference/textChanges/replaceNode4.js b/tests/baselines/reference/textChanges/replaceNode4.js index e5bbf0e306d..b5a998a88cd 100644 --- a/tests/baselines/reference/textChanges/replaceNode4.js +++ b/tests/baselines/reference/textChanges/replaceNode4.js @@ -10,7 +10,9 @@ var a = 4; // comment 7 ===MODIFIED=== // comment 1 -var x = 1;public class class1 implements interface1 +var x = 1; // comment 2 +// comment 3 +public class class1 implements interface1 { property1: boolean; } // comment 4 diff --git a/tests/baselines/reference/textChanges/replaceNode5.js b/tests/baselines/reference/textChanges/replaceNode5.js index ad3ec0ab0ea..9fc6d7777c9 100644 --- a/tests/baselines/reference/textChanges/replaceNode5.js +++ b/tests/baselines/reference/textChanges/replaceNode5.js @@ -8,6 +8,8 @@ var z = 3; // comment 5 // comment 6 var a = 4; // comment 7 ===MODIFIED=== + +// comment 1 public class class1 implements interface1 { property1: boolean; diff --git a/tests/baselines/reference/textChanges/replaceNodeRange2.js b/tests/baselines/reference/textChanges/replaceNodeRange2.js index e8f9506d608..ebd26644740 100644 --- a/tests/baselines/reference/textChanges/replaceNodeRange2.js +++ b/tests/baselines/reference/textChanges/replaceNodeRange2.js @@ -10,7 +10,9 @@ var a = 4; // comment 7 ===MODIFIED=== // comment 1 -var x = 1; +var x = 1; // comment 2 +// comment 3 + public class class1 implements interface1 { property1: boolean; diff --git a/tests/baselines/reference/textChanges/replaceNodeRange4.js b/tests/baselines/reference/textChanges/replaceNodeRange4.js index ad50a1f01fc..b21468dd06d 100644 --- a/tests/baselines/reference/textChanges/replaceNodeRange4.js +++ b/tests/baselines/reference/textChanges/replaceNodeRange4.js @@ -10,7 +10,9 @@ var a = 4; // comment 7 ===MODIFIED=== // comment 1 -var x = 1;public class class1 implements interface1 +var x = 1; // comment 2 +// comment 3 +public class class1 implements interface1 { property1: boolean; } // comment 5