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>
|
||||
```
|
||||
|
||||
#### 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])
|
||||
|
||||
Previously, Prettier would incorrectly decode HTML entiites.
|
||||
|
@ -168,9 +195,11 @@ Previously, Prettier would incorrectly decode HTML entiites.
|
|||
</p>
|
||||
```
|
||||
|
||||
[#6209]: https://github.com/prettier/prettier/pull/6209
|
||||
[#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
|
||||
[@duailibe]: https://github.com/duailibe
|
||||
[@gavinjoyce]: https://github.com/gavinjoyce
|
||||
[@sosukesuzuki]: https://github.com/sosukesuzuki
|
||||
|
|
|
@ -1630,7 +1630,20 @@ function printPathNoParens(path, options, print, args) {
|
|||
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);
|
||||
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
|
||||
|
||||
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`] = `
|
||||
====================================options=====================================
|
||||
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