Git fork

userdiff: PHP: catch "abstract" and "final" functions

PHP permits functions to be defined like

final public function foo() { }
abstract protected function bar() { }

but our hunk header pattern does not recognize these decorations.
Add "final" and "abstract" to the list of function modifiers.

Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Javier Spagnoletti <phansys@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>

authored by

Javier Spagnoletti and committed by
Junio C Hamano
aff92827 d98273ba

+15 -1
+7
t/t4018/php-abstract-method
··· 1 + abstract class Klass 2 + { 3 + abstract public function RIGHT(): ?string 4 + { 5 + return 'ChangeMe'; 6 + } 7 + }
+7
t/t4018/php-final-method
··· 1 + class Klass 2 + { 3 + final public function RIGHT(): string 4 + { 5 + return 'ChangeMe'; 6 + } 7 + }
+1 -1
userdiff.c
··· 147 147 "|=~|!~" 148 148 "|<<|<>|<=>|>>"), 149 149 PATTERNS("php", 150 - "^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n" 150 + "^[\t ]*(((public|protected|private|static|abstract|final)[\t ]+)*function.*)$\n" 151 151 "^[\t ]*((((final|abstract)[\t ]+)?class|interface|trait).*)$", 152 152 /* -- */ 153 153 "[a-zA-Z_][a-zA-Z0-9_]*"