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>
This commit is contained in:
Tassilo Horn
2021-08-11 19:51:04 +02:00
committed by Junio C Hamano
parent 2d755dfac9
commit a8cbc89589
6 changed files with 39 additions and 1 deletions

View File

@ -0,0 +1,6 @@
private enum RIGHT {
ONE,
TWO,
THREE,
ChangeMe
}