Commit 8832d27
committed
[cxx-interop] Import mutating dereference operators
C++ `T& operator*()` is mapped to a Swift computed property `var pointee: T`.
Previously `var pointee` only had a getter, after this change it will also have a setter if the C++ type declares an overload of `operator*` that returns a mutable reference.
rdar://1124717791 parent 0c2e2d8 commit 8832d27
File tree
11 files changed
+213
-65
lines changed- lib/ClangImporter
- test/Interop/Cxx
- operators
- stdlib/overlay
- Inputs
11 files changed
+213
-65
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2186 | 2186 | | |
2187 | 2187 | | |
2188 | 2188 | | |
2189 | | - | |
2190 | | - | |
2191 | | - | |
2192 | | - | |
2193 | | - | |
2194 | | - | |
2195 | | - | |
2196 | | - | |
2197 | | - | |
2198 | | - | |
2199 | | - | |
2200 | 2189 | | |
2201 | 2190 | | |
2202 | 2191 | | |
| |||
2275 | 2264 | | |
2276 | 2265 | | |
2277 | 2266 | | |
| 2267 | + | |
| 2268 | + | |
2278 | 2269 | | |
2279 | 2270 | | |
2280 | | - | |
2281 | | - | |
2282 | | - | |
2283 | | - | |
2284 | | - | |
2285 | | - | |
2286 | | - | |
2287 | | - | |
2288 | | - | |
2289 | | - | |
2290 | | - | |
2291 | | - | |
2292 | | - | |
2293 | | - | |
2294 | | - | |
2295 | | - | |
2296 | | - | |
2297 | | - | |
| 2271 | + | |
2298 | 2272 | | |
2299 | 2273 | | |
2300 | 2274 | | |
| |||
2319 | 2293 | | |
2320 | 2294 | | |
2321 | 2295 | | |
2322 | | - | |
2323 | | - | |
| 2296 | + | |
| 2297 | + | |
2324 | 2298 | | |
2325 | 2299 | | |
2326 | 2300 | | |
| |||
2551 | 2525 | | |
2552 | 2526 | | |
2553 | 2527 | | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
| 2539 | + | |
2554 | 2540 | | |
2555 | 2541 | | |
2556 | 2542 | | |
| |||
3191 | 3177 | | |
3192 | 3178 | | |
3193 | 3179 | | |
| 3180 | + | |
| 3181 | + | |
3194 | 3182 | | |
3195 | 3183 | | |
3196 | 3184 | | |
| |||
3531 | 3519 | | |
3532 | 3520 | | |
3533 | 3521 | | |
| 3522 | + | |
| 3523 | + | |
3534 | 3524 | | |
3535 | 3525 | | |
3536 | 3526 | | |
| |||
3558 | 3548 | | |
3559 | 3549 | | |
3560 | 3550 | | |
3561 | | - | |
3562 | | - | |
| 3551 | + | |
| 3552 | + | |
| 3553 | + | |
| 3554 | + | |
| 3555 | + | |
| 3556 | + | |
| 3557 | + | |
| 3558 | + | |
| 3559 | + | |
| 3560 | + | |
| 3561 | + | |
| 3562 | + | |
| 3563 | + | |
| 3564 | + | |
| 3565 | + | |
| 3566 | + | |
| 3567 | + | |
| 3568 | + | |
| 3569 | + | |
| 3570 | + | |
| 3571 | + | |
| 3572 | + | |
| 3573 | + | |
| 3574 | + | |
| 3575 | + | |
| 3576 | + | |
3563 | 3577 | | |
3564 | 3578 | | |
3565 | 3579 | | |
| |||
3983 | 3997 | | |
3984 | 3998 | | |
3985 | 3999 | | |
| 4000 | + | |
| 4001 | + | |
| 4002 | + | |
| 4003 | + | |
3986 | 4004 | | |
3987 | 4005 | | |
3988 | 4006 | | |
| |||
6045 | 6063 | | |
6046 | 6064 | | |
6047 | 6065 | | |
| 6066 | + | |
| 6067 | + | |
6048 | 6068 | | |
6049 | 6069 | | |
6050 | 6070 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
334 | 334 | | |
335 | 335 | | |
336 | 336 | | |
| 337 | + | |
| 338 | + | |
337 | 339 | | |
338 | 340 | | |
339 | 341 | | |
| |||
1916 | 1918 | | |
1917 | 1919 | | |
1918 | 1920 | | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
1919 | 1930 | | |
1920 | 1931 | | |
1921 | 1932 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
| |||
324 | 326 | | |
325 | 327 | | |
326 | 328 | | |
| 329 | + | |
| 330 | + | |
327 | 331 | | |
328 | 332 | | |
329 | 333 | | |
| |||
338 | 342 | | |
339 | 343 | | |
340 | 344 | | |
| 345 | + | |
| 346 | + | |
341 | 347 | | |
342 | 348 | | |
343 | 349 | | |
| |||
347 | 353 | | |
348 | 354 | | |
349 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
350 | 373 | | |
351 | 374 | | |
352 | 375 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
642 | 642 | | |
643 | 643 | | |
644 | 644 | | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
645 | 648 | | |
646 | 649 | | |
647 | 650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1538 | 1538 | | |
1539 | 1539 | | |
1540 | 1540 | | |
1541 | | - | |
| 1541 | + | |
| 1542 | + | |
1542 | 1543 | | |
1543 | | - | |
| 1544 | + | |
1544 | 1545 | | |
1545 | 1546 | | |
1546 | 1547 | | |
1547 | 1548 | | |
1548 | 1549 | | |
1549 | 1550 | | |
1550 | 1551 | | |
1551 | | - | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
1552 | 1557 | | |
1553 | 1558 | | |
1554 | 1559 | | |
| |||
1644 | 1649 | | |
1645 | 1650 | | |
1646 | 1651 | | |
1647 | | - | |
| 1652 | + | |
1648 | 1653 | | |
1649 | 1654 | | |
1650 | 1655 | | |
| |||
1663 | 1668 | | |
1664 | 1669 | | |
1665 | 1670 | | |
1666 | | - | |
1667 | | - | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
1668 | 1677 | | |
1669 | | - | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
1670 | 1681 | | |
1671 | 1682 | | |
1672 | | - | |
| 1683 | + | |
1673 | 1684 | | |
1674 | 1685 | | |
1675 | 1686 | | |
1676 | 1687 | | |
1677 | 1688 | | |
1678 | 1689 | | |
1679 | 1690 | | |
1680 | | - | |
| 1691 | + | |
1681 | 1692 | | |
1682 | 1693 | | |
1683 | 1694 | | |
1684 | 1695 | | |
1685 | 1696 | | |
1686 | | - | |
1687 | | - | |
| 1697 | + | |
| 1698 | + | |
1688 | 1699 | | |
1689 | 1700 | | |
1690 | 1701 | | |
| |||
1693 | 1704 | | |
1694 | 1705 | | |
1695 | 1706 | | |
1696 | | - | |
| 1707 | + | |
1697 | 1708 | | |
1698 | | - | |
| 1709 | + | |
1699 | 1710 | | |
1700 | 1711 | | |
1701 | 1712 | | |
1702 | 1713 | | |
1703 | | - | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
1704 | 1744 | | |
1705 | 1745 | | |
1706 | 1746 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
278 | | - | |
| 278 | + | |
| 279 | + | |
279 | 280 | | |
280 | | - | |
| 281 | + | |
281 | 282 | | |
282 | 283 | | |
283 | 284 | | |
| |||
0 commit comments