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>
Javier Spagnoletti committed
Oct 7, 2020 at 03:38 UTC
aff92827b54f4b7f9e339982a49bab4bdbd1fc55
3 files changed
+15
-1
t/t4018/php-abstract-method
new
+7
@@ -0,0 +1,7 @@
1
+abstract class Klass
2
+{
3
+ abstract public function RIGHT(): ?string
4
+ {
5
+ return 'ChangeMe';
6
+ }
7
+}
t/t4018/php-final-method
new
+7
@@ -0,0 +1,7 @@
1
+class Klass
2
+{
3
+ final public function RIGHT(): string
4
+ {
5
+ return 'ChangeMe';
6
+ }
7
+}
userdiff.c
+1
-1
@@ -147,7 +147,7 @@ PATTERNS("perl",
147
"|=~|!~"
148
"|<<|<>|<=>|>>"),
149
PATTERNS("php",
150
- "^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n"
150
+ "^[\t ]*(((public|protected|private|static|abstract|final)[\t ]+)*function.*)$\n"
151
"^[\t ]*((((final|abstract)[\t ]+)?class|interface|trait).*)$",
152
/* -- */
153
"[a-zA-Z_][a-zA-Z0-9_]*"