Fix comments print in IfStatement (#15076)
This commit is contained in:
1 parent
6ed37ad857
commit
29854ca8da
4 files changed
+86
-11
No files matched your search
@@ -0,0 +1,18 @@
|
||||
#### Fix comments print in `IfStatement` (#15076 by @fisker)
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
function a(b) {
|
||||
if (b) return 1; // comment
|
||||
else return 2;
|
||||
}
|
||||
|
||||
/* Prettier stable */
|
||||
Error: Comment "comment" was not printed. Please report this error!
|
||||
|
||||
/* Prettier main */
|
||||
function a(b) {
|
||||
if (b) return 1; // comment
|
||||
else return 2;
|
||||
}
|
||||
```
|
||||
@@ -208,7 +208,9 @@ function handleIfStatementComments({
|
||||
addDanglingComment(
|
||||
precedingNode,
|
||||
comment,
|
||||
markerForIfWithoutBlockAndSameLineComment,
|
||||
precedingNode.type === "ExpressionStatement"
|
||||
? markerForIfWithoutBlockAndSameLineComment
|
||||
: undefined,
|
||||
);
|
||||
} else {
|
||||
addDanglingComment(enclosingNode, comment);
|
||||
|
||||
@@ -93,26 +93,44 @@ parsers: ["babel", "flow", "typescript"]
|
||||
printWidth: 80
|
||||
| printWidth
|
||||
=====================================input======================================
|
||||
if (a === 0) doSomething(); // comment A1
|
||||
if (a === 0) doSomething(); // comment A1
|
||||
else if (a === 1) doSomethingElse(); // comment B1
|
||||
else if (a === 2) doSomethingElse(); // comment C1
|
||||
|
||||
if (a === 0) doSomething(); /* comment A2 */
|
||||
if (a === 0) doSomething(); /* comment A2 */
|
||||
else if (a === 1) doSomethingElse(); /* comment B2 */
|
||||
else if (a === 2) doSomethingElse(); /* comment C2 */
|
||||
|
||||
if (a === 0) expr; // comment A3
|
||||
if (a === 0) expr; // comment A3
|
||||
else if (a === 1) expr; // comment B3
|
||||
else if (a === 2) expr; // comment C3
|
||||
|
||||
if (a === 0) expr; /* comment A4 */
|
||||
if (a === 0) expr; /* comment A4 */
|
||||
else if (a === 1) expr; /* comment B4 */
|
||||
else if (a === 2) expr; /* comment C4 */
|
||||
|
||||
if (a === 0) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment A5
|
||||
if (a === 0) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment A5
|
||||
else if (a === 1) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment B5
|
||||
else if (a === 2) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment C5
|
||||
|
||||
function a() {
|
||||
if (a) return; /* comment 6a */
|
||||
else return 2;
|
||||
|
||||
if (a) return 1; /* comment 6b */
|
||||
else return 2;
|
||||
|
||||
if (a) throw e; /* comment 6d */
|
||||
else return 2;
|
||||
|
||||
// TODO[@fisker]: fix this
|
||||
// if (a) var a = 1; /* comment 6e */
|
||||
// else return 2;
|
||||
|
||||
if (a) if (b); /* comment 6f */
|
||||
else return 2;
|
||||
}
|
||||
|
||||
=====================================output=====================================
|
||||
if (a === 0) doSomething(); // comment A1
|
||||
else if (a === 1) doSomethingElse(); // comment B1
|
||||
@@ -137,6 +155,25 @@ else if (a === 1)
|
||||
else if (a === 2)
|
||||
looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment C5
|
||||
|
||||
function a() {
|
||||
if (a) return /* comment 6a */;
|
||||
else return 2;
|
||||
|
||||
if (a) return 1 /* comment 6b */;
|
||||
else return 2;
|
||||
|
||||
if (a) throw e /* comment 6d */;
|
||||
else return 2;
|
||||
|
||||
// TODO[@fisker]: fix this
|
||||
// if (a) var a = 1; /* comment 6e */
|
||||
// else return 2;
|
||||
|
||||
if (a)
|
||||
if (b /* comment 6f */);
|
||||
else return 2;
|
||||
}
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
|
||||
@@ -1,19 +1,37 @@
|
||||
if (a === 0) doSomething(); // comment A1
|
||||
if (a === 0) doSomething(); // comment A1
|
||||
else if (a === 1) doSomethingElse(); // comment B1
|
||||
else if (a === 2) doSomethingElse(); // comment C1
|
||||
|
||||
if (a === 0) doSomething(); /* comment A2 */
|
||||
if (a === 0) doSomething(); /* comment A2 */
|
||||
else if (a === 1) doSomethingElse(); /* comment B2 */
|
||||
else if (a === 2) doSomethingElse(); /* comment C2 */
|
||||
|
||||
if (a === 0) expr; // comment A3
|
||||
if (a === 0) expr; // comment A3
|
||||
else if (a === 1) expr; // comment B3
|
||||
else if (a === 2) expr; // comment C3
|
||||
|
||||
if (a === 0) expr; /* comment A4 */
|
||||
if (a === 0) expr; /* comment A4 */
|
||||
else if (a === 1) expr; /* comment B4 */
|
||||
else if (a === 2) expr; /* comment C4 */
|
||||
|
||||
if (a === 0) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment A5
|
||||
if (a === 0) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment A5
|
||||
else if (a === 1) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment B5
|
||||
else if (a === 2) looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong; // comment C5
|
||||
|
||||
function a() {
|
||||
if (a) return; /* comment 6a */
|
||||
else return 2;
|
||||
|
||||
if (a) return 1; /* comment 6b */
|
||||
else return 2;
|
||||
|
||||
if (a) throw e; /* comment 6d */
|
||||
else return 2;
|
||||
|
||||
// TODO[@fisker]: fix this
|
||||
// if (a) var a = 1; /* comment 6e */
|
||||
// else return 2;
|
||||
|
||||
if (a) if (b); /* comment 6f */
|
||||
else return 2;
|
||||
}
|
||||
Reference in new issue
Block a user