Skip to content

Commit a6f37f5

Browse files
authored
Add a leading space on binary operator token trailing comments (microsoft#17691)
* Add a leading space on token trailing comments * Demystify comment
1 parent f28f5fd commit a6f37f5

10 files changed

Lines changed: 22 additions & 22 deletions

src/compiler/emitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1348,7 +1348,7 @@ namespace ts {
13481348
increaseIndentIf(indentBeforeOperator, isCommaOperator ? " " : undefined);
13491349
emitLeadingCommentsOfPosition(node.operatorToken.pos);
13501350
writeTokenNode(node.operatorToken);
1351-
emitTrailingCommentsOfPosition(node.operatorToken.end);
1351+
emitTrailingCommentsOfPosition(node.operatorToken.end, /*prefixSpace*/ true); // Binary operators should have a space before the comment starts
13521352
increaseIndentIf(indentAfterOperator, " ");
13531353
emitExpression(node.right);
13541354
decreaseIndentIf(indentBeforeOperator, indentAfterOperator);

tests/baselines/reference/commentOnBinaryOperator1.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ var b = 'some'
2121
+ 'text';
2222
var c = 'some'
2323
/* comment */
24-
+/*comment1*/
24+
+ /*comment1*/
2525
'text';

tests/baselines/reference/commentsArgumentsOfCallExpression2.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ foo(
1414
function foo(/*c1*/ x, /*d1*/ y, /*e1*/ w) { }
1515
var a, b;
1616
foo(/*c2*/ 1, /*d2*/ 1 + 2, /*e1*/ a + b);
17-
foo(/*c3*/ function () { }, /*d2*/ function () { }, /*e2*/ a +/*e3*/ b);
17+
foo(/*c3*/ function () { }, /*d2*/ function () { }, /*e2*/ a + /*e3*/ b);
1818
foo(/*c3*/ function () { }, /*d3*/ function () { }, /*e3*/ (a + b));
1919
foo(
2020
/*c4*/ function () { },

tests/baselines/reference/jsdocTypeTagCast.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ var a;
9797
/** @type {string} */
9898
var s;
9999
var a = ("" + 4);
100-
var s = "" +/** @type {*} */ (4);
100+
var s = "" + /** @type {*} */ (4);
101101
var SomeBase = (function () {
102102
function SomeBase() {
103103
this.p = 42;
@@ -128,19 +128,19 @@ var someBase = new SomeBase();
128128
var someDerived = new SomeDerived();
129129
var someOther = new SomeOther();
130130
var someFakeClass = new SomeFakeClass();
131-
someBase =/** @type {SomeBase} */ (someDerived);
132-
someBase =/** @type {SomeBase} */ (someBase);
133-
someBase =/** @type {SomeBase} */ (someOther); // Error
134-
someDerived =/** @type {SomeDerived} */ (someDerived);
135-
someDerived =/** @type {SomeDerived} */ (someBase);
136-
someDerived =/** @type {SomeDerived} */ (someOther); // Error
137-
someOther =/** @type {SomeOther} */ (someDerived); // Error
138-
someOther =/** @type {SomeOther} */ (someBase); // Error
139-
someOther =/** @type {SomeOther} */ (someOther);
131+
someBase = /** @type {SomeBase} */ (someDerived);
132+
someBase = /** @type {SomeBase} */ (someBase);
133+
someBase = /** @type {SomeBase} */ (someOther); // Error
134+
someDerived = /** @type {SomeDerived} */ (someDerived);
135+
someDerived = /** @type {SomeDerived} */ (someBase);
136+
someDerived = /** @type {SomeDerived} */ (someOther); // Error
137+
someOther = /** @type {SomeOther} */ (someDerived); // Error
138+
someOther = /** @type {SomeOther} */ (someBase); // Error
139+
someOther = /** @type {SomeOther} */ (someOther);
140140
someFakeClass = someBase;
141141
someFakeClass = someDerived;
142142
someBase = someFakeClass; // Error
143-
someBase =/** @type {SomeBase} */ (someFakeClass);
143+
someBase = /** @type {SomeBase} */ (someFakeClass);
144144
// Type assertion cannot be a type-predicate type
145145
/** @type {number | string} */
146146
var numOrStr;

tests/baselines/reference/parser15.4.4.14-9-2.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ function testcase() {
4141
var one = 1;
4242
var _float = -(4 / 3);
4343
var a = new Array(false, undefined, null, "0", obj, -1.3333333333333, "str", -0, true, +0, one, 1, 0, false, _float, -(4 / 3));
44-
if (a.indexOf(-(4 / 3)) === 14 &&// a[14]=_float===-(4/3)
45-
a.indexOf(0) === 7 &&// a[7] = +0, 0===+0
46-
a.indexOf(-0) === 7 &&// a[7] = +0, -0===+0
44+
if (a.indexOf(-(4 / 3)) === 14 && // a[14]=_float===-(4/3)
45+
a.indexOf(0) === 7 && // a[7] = +0, 0===+0
46+
a.indexOf(-0) === 7 && // a[7] = +0, -0===+0
4747
a.indexOf(1) === 10) {
4848
return true;
4949
}

tests/baselines/reference/parserGreaterThanTokenAmbiguity10.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
//// [parserGreaterThanTokenAmbiguity10.js]
88
1
99
// before
10-
>>>// after
10+
>>> // after
1111
2;

tests/baselines/reference/parserGreaterThanTokenAmbiguity15.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
//// [parserGreaterThanTokenAmbiguity15.js]
88
1
99
// before
10-
>>=// after
10+
>>= // after
1111
2;

tests/baselines/reference/parserGreaterThanTokenAmbiguity20.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
//// [parserGreaterThanTokenAmbiguity20.js]
88
1
99
// Before
10-
>>>=// after
10+
>>>= // after
1111
2;

tests/baselines/reference/parserGreaterThanTokenAmbiguity5.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
//// [parserGreaterThanTokenAmbiguity5.js]
88
1
99
// before
10-
>>// after
10+
>> // after
1111
2;

tests/baselines/reference/typeGuardsInConditionalExpression.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ function foo8(x) {
138138
var b;
139139
return typeof x === "string"
140140
? x === "hello"
141-
: ((b = x) &&// number | boolean
141+
: ((b = x) && // number | boolean
142142
(typeof x === "boolean"
143143
? x // boolean
144144
: x == 10)); // boolean

0 commit comments

Comments
 (0)