diff options
| author | Steven Jeuris <steven.jeuris@3shape.com> | 2024-04-03 21:42:44 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-04-05 15:21:43 -0700 |
| commit | ec0e3075d245afa3f3a848bd7bdc6376dea85fe0 (patch) | |
| tree | 9e42f695fbf945e39678245e0092b5f2a125fe3c /t/t4018/csharp-exclude-control-statements | |
| parent | The fourth batch (diff) | |
| download | git-ec0e3075d245afa3f3a848bd7bdc6376dea85fe0.tar.gz git-ec0e3075d245afa3f3a848bd7bdc6376dea85fe0.zip | |
userdiff: better method/property matching for C#
- Support multi-line methods by not requiring closing parenthesis.
- Support multiple generics (comma was missing before).
- Add missing `foreach`, `lock` and `fixed` keywords to skip over.
- Remove `instanceof` keyword, which isn't C#.
- Also detect non-method keywords not positioned at the start of a line.
- Added tests; none existed before.
The overall strategy is to focus more on what isn't expected for
method/property definitions, instead of what is, but is fully optional.
Signed-off-by: Steven Jeuris <steven.jeuris@gmail.com>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4018/csharp-exclude-control-statements')
| -rw-r--r-- | t/t4018/csharp-exclude-control-statements | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/t/t4018/csharp-exclude-control-statements b/t/t4018/csharp-exclude-control-statements new file mode 100644 index 0000000000..3a0f404ee1 --- /dev/null +++ b/t/t4018/csharp-exclude-control-statements @@ -0,0 +1,34 @@ +class Example +{ + string Method(int RIGHT) + { + if (false) + { + return "out"; + } + else { } + if (true) MethodCall( + ); + else MethodCall( + ); + switch ("test") + { + case "one": + return MethodCall( + ); + case "two": + break; + } + (int, int) tuple = (1, 4); + switch (tuple) + { + case (1, 4): + MethodCall(); + break; + } + + return "ChangeMe"; + } + + string MethodCall(int a = 0, int b = 0) => "test"; +} |
