summaryrefslogtreecommitdiff
path: root/t/t4018/java-method-return-generic-bounded
diff options
context:
space:
mode:
authorLibravatar Tassilo Horn <tsdh@gnu.org>2021-08-11 19:51:04 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-08-11 11:11:30 -0700
commita8cbc895893f4c244e54374d3bf937819fb6e2e9 (patch)
treebd64b7138c041098729e792130e4a7a9cb620ac0 /t/t4018/java-method-return-generic-bounded
parentGit 2.33-rc1 (diff)
downloadtgif-a8cbc895893f4c244e54374d3bf937819fb6e2e9.tar.xz
userdiff: improve java hunk header regex
Currently, the git diff hunk headers show the wrong method signature if the method has a qualified return type, an array return type, or a generic return type because the regex doesn't allow dots (.), [], or < and > in the return type. Also, type parameter declarations couldn't be matched. Add several t4018 tests asserting the right hunk headers for different cases: - enum constant change - change in generic method with bounded type parameters - change in generic method with wildcard - field change in a nested class Signed-off-by: Tassilo Horn <tsdh@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4018/java-method-return-generic-bounded')
-rw-r--r--t/t4018/java-method-return-generic-bounded9
1 files changed, 9 insertions, 0 deletions
diff --git a/t/t4018/java-method-return-generic-bounded b/t/t4018/java-method-return-generic-bounded
new file mode 100644
index 0000000000..66dd78c379
--- /dev/null
+++ b/t/t4018/java-method-return-generic-bounded
@@ -0,0 +1,9 @@
+class MyExample {
+ public <T extends Bar & Foo<T>, R> Map<T, R[]> foo(String[] RIGHT) {
+ someMethodCall();
+ someOtherMethod()
+ .doThat();
+ // Whatever...
+ return (List<T>) Arrays.asList("ChangeMe");
+ }
+}