Commit 00255f9
Fix #803: Use relational patterns for VB Select Case
When converting a Visual Basic Select Case statement with a relational
clause (e.g., `Case Is < 1000`), the C# code converter used to output a
variable pattern with a when clause (e.g., `case var @case when @case < 1000:`).
With modern C#, this can be represented more concisely using relational
patterns (e.g., `case < 1000:`).
This commit modifies `MethodBodyExecutableStatementVisitor.cs` to map
Visual Basic relational case clauses to C# `RelationalPatternSyntax`,
`ConstantPatternSyntax` (for equality), and `UnaryPatternSyntax` (for
inequality using `not`).
It also updates existing tests that were affected by this change to
expect the new, cleaner syntax, and adds a test specific to Issue 803.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>1 parent 21472c4 commit 00255f9
2 files changed
Lines changed: 66 additions & 78 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
1089 | 1089 | | |
1090 | 1090 | | |
1091 | 1091 | | |
1092 | | - | |
1093 | | - | |
1094 | | - | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
1095 | 1095 | | |
1096 | 1096 | | |
1097 | 1097 | | |
1098 | | - | |
| 1098 | + | |
1099 | 1099 | | |
1100 | 1100 | | |
1101 | 1101 | | |
| |||
1249 | 1249 | | |
1250 | 1250 | | |
1251 | 1251 | | |
1252 | | - | |
| 1252 | + | |
1253 | 1253 | | |
1254 | 1254 | | |
1255 | 1255 | | |
1256 | 1256 | | |
1257 | 1257 | | |
1258 | 1258 | | |
1259 | 1259 | | |
1260 | | - | |
| 1260 | + | |
1261 | 1261 | | |
1262 | 1262 | | |
1263 | 1263 | | |
| |||
1268 | 1268 | | |
1269 | 1269 | | |
1270 | 1270 | | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
| 1271 | + | |
1274 | 1272 | | |
1275 | 1273 | | |
1276 | 1274 | | |
| |||
1786 | 1784 | | |
1787 | 1785 | | |
1788 | 1786 | | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
1789 | 1845 | | |
1790 | 1846 | | |
1791 | 1847 | | |
This file was deleted.
0 commit comments