Skip to content

Commit 43876bc

Browse files
committed
Merge branch 'PHP-8.1'
* PHP-8.1: Allow using readonly as function name
2 parents 560a616 + 76348f3 commit 43876bc

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

Zend/tests/readonly_function.phpt

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
--TEST--
2+
Can use readonly as a function name
3+
--FILE--
4+
<?php
5+
6+
function readonly() {
7+
echo "Hi!\n";
8+
}
9+
10+
readonly();
11+
readonly ();
12+
13+
?>
14+
--EXPECT--
15+
Hi!
16+
Hi!

Zend/zend_language_scanner.l

+6
Original file line numberDiff line numberDiff line change
@@ -1718,6 +1718,12 @@ NEWLINE ("\r"|"\n"|"\r\n")
17181718
RETURN_TOKEN_WITH_IDENT(T_READONLY);
17191719
}
17201720

1721+
/* Don't treat "readonly(" as a keyword, to allow using it as a function name. */
1722+
<ST_IN_SCRIPTING>"readonly"[ \n\r\t]*"(" {
1723+
yyless(strlen("readonly"));
1724+
RETURN_TOKEN_WITH_STR(T_STRING, 0);
1725+
}
1726+
17211727
<ST_IN_SCRIPTING>"unset" {
17221728
RETURN_TOKEN_WITH_IDENT(T_UNSET);
17231729
}

0 commit comments

Comments
 (0)