Skip to content

Commit aff9282

Browse files
phansysgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Javier Spagnoletti <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent d98273b commit aff9282

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

t/t4018/php-abstract-method

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Klass
2+
{
3+
final public function RIGHT(): string
4+
{
5+
return 'ChangeMe';
6+
}
7+
}

userdiff.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ PATTERNS("perl",
147147
"|=~|!~"
148148
"|<<|<>|<=>|>>"),
149149
PATTERNS("php",
150-
"^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n"
150+
"^[\t ]*(((public|protected|private|static|abstract|final)[\t ]+)*function.*)$\n"
151151
"^[\t ]*((((final|abstract)[\t ]+)?class|interface|trait).*)$",
152152
/* -- */
153153
"[a-zA-Z_][a-zA-Z0-9_]*"

0 commit comments

Comments
 (0)