JavaScript: Keep unary expressions parentheses with comments (#6217)
parent
712b44b814
commit
cfba21f493
|
@ -146,6 +146,33 @@ Previously, Prettier would sometimes ignore whitespace when formatting comments.
|
||||||
</div>
|
</div>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### JavaScript: Keep unary expressions parentheses with comments ([#6217] by [@sosukesuzuki])
|
||||||
|
|
||||||
|
Previously, Prettier removes parentheses enclose unary expressions. This change modify to keep it when the expression has comments.
|
||||||
|
|
||||||
|
<!-- prettier-ignore -->
|
||||||
|
```ts
|
||||||
|
// Input
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
foo
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
foo // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
// Output (Prettier stable)
|
||||||
|
!/* foo */
|
||||||
|
foo;
|
||||||
|
!foo; // foo
|
||||||
|
|
||||||
|
// Output (Prettier master)
|
||||||
|
!(/* foo */ foo);
|
||||||
|
!(
|
||||||
|
foo // foo
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
### Handlebars: Improve comment formatting ([#6234] by [@gavinjoyce])
|
### Handlebars: Improve comment formatting ([#6234] by [@gavinjoyce])
|
||||||
|
|
||||||
Previously, Prettier would incorrectly decode HTML entiites.
|
Previously, Prettier would incorrectly decode HTML entiites.
|
||||||
|
@ -168,9 +195,11 @@ Previously, Prettier would incorrectly decode HTML entiites.
|
||||||
</p>
|
</p>
|
||||||
```
|
```
|
||||||
|
|
||||||
[#6209]: https://github.com/prettier/prettier/pull/6209
|
|
||||||
[#6186]: https://github.com/prettier/prettier/pull/6186
|
[#6186]: https://github.com/prettier/prettier/pull/6186
|
||||||
[#6186]: https://github.com/prettier/prettier/pull/6206
|
[#6206]: https://github.com/prettier/prettier/pull/6206
|
||||||
|
[#6209]: https://github.com/prettier/prettier/pull/6209
|
||||||
|
[#6217]: https://github.com/prettier/prettier/pull/6217
|
||||||
[#6234]: https://github.com/prettier/prettier/pull/6234
|
[#6234]: https://github.com/prettier/prettier/pull/6234
|
||||||
[@duailibe]: https://github.com/duailibe
|
[@duailibe]: https://github.com/duailibe
|
||||||
[@gavinjoyce]: https://github.com/gavinjoyce
|
[@gavinjoyce]: https://github.com/gavinjoyce
|
||||||
|
[@sosukesuzuki]: https://github.com/sosukesuzuki
|
||||||
|
|
|
@ -1630,7 +1630,20 @@ function printPathNoParens(path, options, print, args) {
|
||||||
parts.push(" ");
|
parts.push(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
parts.push(path.call(print, "argument"));
|
if (n.argument.comments && n.argument.comments.length > 0) {
|
||||||
|
parts.push(
|
||||||
|
group(
|
||||||
|
concat([
|
||||||
|
"(",
|
||||||
|
indent(concat([softline, path.call(print, "argument")])),
|
||||||
|
softline,
|
||||||
|
")"
|
||||||
|
])
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
parts.push(path.call(print, "argument"));
|
||||||
|
}
|
||||||
|
|
||||||
return concat(parts);
|
return concat(parts);
|
||||||
case "UpdateExpression":
|
case "UpdateExpression":
|
||||||
|
|
|
@ -414,3 +414,84 @@ class X {
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`unary.js 1`] = `
|
||||||
|
====================================options=====================================
|
||||||
|
parsers: ["babel"]
|
||||||
|
printWidth: 80
|
||||||
|
| printWidth
|
||||||
|
=====================================input======================================
|
||||||
|
!x::y;
|
||||||
|
!(x::y /* foo */);
|
||||||
|
!(/* foo */ x::y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x::y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
=====================================output=====================================
|
||||||
|
!x::y;
|
||||||
|
!(x::y /* foo */);
|
||||||
|
!(/* foo */ x::y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x::y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`unary.js 2`] = `
|
||||||
|
====================================options=====================================
|
||||||
|
parsers: ["babel"]
|
||||||
|
printWidth: 80
|
||||||
|
semi: false
|
||||||
|
| printWidth
|
||||||
|
=====================================input======================================
|
||||||
|
!x::y;
|
||||||
|
!(x::y /* foo */);
|
||||||
|
!(/* foo */ x::y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x::y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
=====================================output=====================================
|
||||||
|
!x::y
|
||||||
|
!(x::y /* foo */)
|
||||||
|
!(/* foo */ x::y)
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x::y
|
||||||
|
)
|
||||||
|
!(
|
||||||
|
x::y
|
||||||
|
/* foo */
|
||||||
|
)
|
||||||
|
!(
|
||||||
|
x::y // foo
|
||||||
|
)
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
`;
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
!x::y;
|
||||||
|
!(x::y /* foo */);
|
||||||
|
!(/* foo */ x::y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x::y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x::y // foo
|
||||||
|
);
|
|
@ -1,5 +1,585 @@
|
||||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
|
exports[`comments.js 1`] = `
|
||||||
|
====================================options=====================================
|
||||||
|
parsers: ["flow", "typescript"]
|
||||||
|
printWidth: 80
|
||||||
|
| printWidth
|
||||||
|
=====================================input======================================
|
||||||
|
!x;
|
||||||
|
!(x /* foo */);
|
||||||
|
!(/* foo */ x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x + y);
|
||||||
|
!(x + y /* foo */);
|
||||||
|
!(/* foo */ x + y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x + y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x + y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x + y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x || y);
|
||||||
|
!(/* foo */ x || y);
|
||||||
|
!(x || y /* foo */);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x || y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x || y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x || y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
![1, 2, 3];
|
||||||
|
!([1, 2, 3] /* foo */);
|
||||||
|
!(/* foo */ [1, 2, 3]);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
[1, 2, 3]
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
[1, 2, 3]
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
[1, 2, 3] // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!{ a: 1, b: 2 };
|
||||||
|
!({ a: 1, b: 2 } /* foo */);
|
||||||
|
!(/* foo */ { a: 1, b: 2 });
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
{ a: 1, b: 2 }
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
{ a: 1, b: 2 }
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
{ a: 1, b: 2 } // foo
|
||||||
|
)
|
||||||
|
|
||||||
|
!function() {
|
||||||
|
return x;
|
||||||
|
};
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
} /* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
/* foo */ function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
} // foo
|
||||||
|
)
|
||||||
|
|
||||||
|
!+3;
|
||||||
|
!(+3 /* foo */);
|
||||||
|
!(/* foo */ +3);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
+3
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+3
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+3 // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!+(
|
||||||
|
/* foo */
|
||||||
|
3
|
||||||
|
);
|
||||||
|
!(/* foo */ +(3 /* foo */));
|
||||||
|
!(+(3 /* foo */) /* foo */);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
+(
|
||||||
|
/* foo */
|
||||||
|
3
|
||||||
|
)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+(
|
||||||
|
3
|
||||||
|
/* foo */
|
||||||
|
)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+(
|
||||||
|
3 /* foo */
|
||||||
|
) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x = y);
|
||||||
|
!(x = y /* foo */);
|
||||||
|
!(/* foo */ x = y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x = y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x = y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x = y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!x.y;
|
||||||
|
!(x.y /* foo */);
|
||||||
|
!(/* foo */ x.y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x.y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x ? y : z);
|
||||||
|
!(x ? y : z /* foo */);
|
||||||
|
!(/* foo */ x ? y : z);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x ? y : z
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x ? y : z
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x ? y : z // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!x();
|
||||||
|
!(x() /* foo */);
|
||||||
|
!(/* foo */ x());
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x()
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x()
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x() // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!new x();
|
||||||
|
!(new x() /* foo */);
|
||||||
|
!(/* foo */ new x());
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
new x()
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
new x()
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
new x() // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x, y);
|
||||||
|
!(x, y /* foo */);
|
||||||
|
!(/* foo */ x, y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x, y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x, y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(() => 3);
|
||||||
|
!(() => 3 /* foo */);
|
||||||
|
!(/* foo */ () => 3);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
() => 3
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
() => 3
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
() => 3 // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
function* bar() {
|
||||||
|
!(yield x);
|
||||||
|
!(yield x /* foo */);
|
||||||
|
!(/* foo */ yield x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
yield x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
yield x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
yield x // foo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function bar() {
|
||||||
|
!(await x);
|
||||||
|
!(await x /* foo */);
|
||||||
|
!(/* foo */ await x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
await x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
await x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
await x // foo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
=====================================output=====================================
|
||||||
|
!x;
|
||||||
|
!(x /* foo */);
|
||||||
|
!(/* foo */ x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x + y);
|
||||||
|
!((x + y) /* foo */);
|
||||||
|
!(/* foo */ (x + y));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(x + y)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x + y)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x + y) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x || y);
|
||||||
|
!(/* foo */ (x || y));
|
||||||
|
!((x || y) /* foo */);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(x || y)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x || y)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x || y) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
![1, 2, 3];
|
||||||
|
!([1, 2, 3] /* foo */);
|
||||||
|
!(/* foo */ [1, 2, 3]);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
[1, 2, 3]
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
[1, 2, 3]
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
[1, 2, 3] // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!{ a: 1, b: 2 };
|
||||||
|
!({ a: 1, b: 2 } /* foo */);
|
||||||
|
!(/* foo */ { a: 1, b: 2 });
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
{ a: 1, b: 2 }
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
{ a: 1, b: 2 }
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
{ a: 1, b: 2 } // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!function() {
|
||||||
|
return x;
|
||||||
|
};
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
} /* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
/* foo */ function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
} // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!+3;
|
||||||
|
!(+3 /* foo */);
|
||||||
|
!(/* foo */ +3);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
+3
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+3
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+3 // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!+(
|
||||||
|
/* foo */
|
||||||
|
3
|
||||||
|
);
|
||||||
|
!(/* foo */ +(3 /* foo */));
|
||||||
|
!(+(3 /* foo */) /* foo */);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
+(
|
||||||
|
/* foo */
|
||||||
|
3
|
||||||
|
)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+(
|
||||||
|
3
|
||||||
|
/* foo */
|
||||||
|
)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+(3 /* foo */) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x = y);
|
||||||
|
!((x = y) /* foo */);
|
||||||
|
!(/* foo */ (x = y));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(x = y)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x = y)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x = y) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!x.y;
|
||||||
|
!(x.y /* foo */);
|
||||||
|
!(/* foo */ x.y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x.y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x ? y : z);
|
||||||
|
!((x ? y : z) /* foo */);
|
||||||
|
!(/* foo */ (x ? y : z));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(x ? y : z)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x ? y : z)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x ? y : z) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!x();
|
||||||
|
!(x() /* foo */);
|
||||||
|
!(/* foo */ x());
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x()
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x()
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x() // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!new x();
|
||||||
|
!(new x() /* foo */);
|
||||||
|
!(/* foo */ new x());
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
new x()
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
new x()
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
new x() // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x, y);
|
||||||
|
!((x, y) /* foo */);
|
||||||
|
!(/* foo */ (x, y));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(x, y)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(x, y)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(() => 3);
|
||||||
|
!((() => 3) /* foo */);
|
||||||
|
!(/* foo */ (() => 3));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(() => 3)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(() => 3)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(() => 3) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
function* bar() {
|
||||||
|
!(yield x);
|
||||||
|
!((yield x) /* foo */);
|
||||||
|
!(/* foo */ (yield x));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(yield x)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(yield x)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(yield x) // foo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function bar() {
|
||||||
|
!(await x);
|
||||||
|
!((await x) /* foo */);
|
||||||
|
!(/* foo */ (await x));
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
(await x)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(await x)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
(await x) // foo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
`;
|
||||||
|
|
||||||
exports[`urnary_expression.js 1`] = `
|
exports[`urnary_expression.js 1`] = `
|
||||||
====================================options=====================================
|
====================================options=====================================
|
||||||
parsers: ["flow", "typescript"]
|
parsers: ["flow", "typescript"]
|
||||||
|
|
|
@ -0,0 +1,285 @@
|
||||||
|
!x;
|
||||||
|
!(x /* foo */);
|
||||||
|
!(/* foo */ x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x + y);
|
||||||
|
!(x + y /* foo */);
|
||||||
|
!(/* foo */ x + y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x + y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x + y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x + y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x || y);
|
||||||
|
!(/* foo */ x || y);
|
||||||
|
!(x || y /* foo */);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x || y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x || y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x || y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
![1, 2, 3];
|
||||||
|
!([1, 2, 3] /* foo */);
|
||||||
|
!(/* foo */ [1, 2, 3]);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
[1, 2, 3]
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
[1, 2, 3]
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
[1, 2, 3] // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!{ a: 1, b: 2 };
|
||||||
|
!({ a: 1, b: 2 } /* foo */);
|
||||||
|
!(/* foo */ { a: 1, b: 2 });
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
{ a: 1, b: 2 }
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
{ a: 1, b: 2 }
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
{ a: 1, b: 2 } // foo
|
||||||
|
)
|
||||||
|
|
||||||
|
!function() {
|
||||||
|
return x;
|
||||||
|
};
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
} /* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
/* foo */ function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
function() {
|
||||||
|
return x;
|
||||||
|
} // foo
|
||||||
|
)
|
||||||
|
|
||||||
|
!+3;
|
||||||
|
!(+3 /* foo */);
|
||||||
|
!(/* foo */ +3);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
+3
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+3
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+3 // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!+(
|
||||||
|
/* foo */
|
||||||
|
3
|
||||||
|
);
|
||||||
|
!(/* foo */ +(3 /* foo */));
|
||||||
|
!(+(3 /* foo */) /* foo */);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
+(
|
||||||
|
/* foo */
|
||||||
|
3
|
||||||
|
)
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+(
|
||||||
|
3
|
||||||
|
/* foo */
|
||||||
|
)
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
+(
|
||||||
|
3 /* foo */
|
||||||
|
) // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x = y);
|
||||||
|
!(x = y /* foo */);
|
||||||
|
!(/* foo */ x = y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x = y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x = y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x = y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!x.y;
|
||||||
|
!(x.y /* foo */);
|
||||||
|
!(/* foo */ x.y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x.y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x ? y : z);
|
||||||
|
!(x ? y : z /* foo */);
|
||||||
|
!(/* foo */ x ? y : z);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x ? y : z
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x ? y : z
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x ? y : z // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!x();
|
||||||
|
!(x() /* foo */);
|
||||||
|
!(/* foo */ x());
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x()
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x()
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x() // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!new x();
|
||||||
|
!(new x() /* foo */);
|
||||||
|
!(/* foo */ new x());
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
new x()
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
new x()
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
new x() // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(x, y);
|
||||||
|
!(x, y /* foo */);
|
||||||
|
!(/* foo */ x, y);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
x, y
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x, y
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
x.y // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
!(() => 3);
|
||||||
|
!(() => 3 /* foo */);
|
||||||
|
!(/* foo */ () => 3);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
() => 3
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
() => 3
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
() => 3 // foo
|
||||||
|
);
|
||||||
|
|
||||||
|
function* bar() {
|
||||||
|
!(yield x);
|
||||||
|
!(yield x /* foo */);
|
||||||
|
!(/* foo */ yield x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
yield x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
yield x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
yield x // foo
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function bar() {
|
||||||
|
!(await x);
|
||||||
|
!(await x /* foo */);
|
||||||
|
!(/* foo */ await x);
|
||||||
|
!(
|
||||||
|
/* foo */
|
||||||
|
await x
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
await x
|
||||||
|
/* foo */
|
||||||
|
);
|
||||||
|
!(
|
||||||
|
await x // foo
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in New Issue