Skip to content

Commit 848a833

Browse files
committed
Merge pull request #2742 from b4n/php/php72-use-trailing-comma
php: Fix support for PHP 7.2+ trailing comma in grouped use statements
2 parents 1973be4 + 2312126 commit 848a833

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

Units/parser-php.r/php-use.d/expected.tags

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ NS30 input.php /^ use NS2\\{NS30, NS31\\Cls4};$/;" a typeref:unknown:NS2\\NS30
2424
NSCls input.php /^ use NS\\Iface as NSIface, NS\\Cls as NSCls;$/;" a namespace:NS2 typeref:unknown:NS\\Cls
2525
NSIface input.php /^ use NS\\Iface as NSIface, NS\\Cls as NSCls;$/;" a namespace:NS2 typeref:unknown:NS\\Iface
2626
NameSpaceTreePointO input.php /^ use NS2\\{NS30 as NameSpaceTreePointO, NS31\\Cls4 as ClassFour};$/;" a typeref:unknown:NS2\\NS30
27+
NameSpaceTreePointZero input.php /^ use NS2\\{NS30 as NameSpaceTreePointZero,};$/;" a typeref:unknown:NS2\\NS30
2728
SomeAliasedNS input.php /^ use NS as SomeAliasedNS;$/;" a typeref:unknown:NS
2829
cls input.php /^ $cls = new Cls2;$/;" v
2930
cls input.php /^ $cls = new Cls;$/;" v

Units/parser-php.r/php-use.d/input.php

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ class Cls4 {}
5757
use NS2\{Cls as NS2Cls, Iface};
5858
use NS2\{NS30, NS31\Cls4};
5959
use NS2\{NS30 as NameSpaceTreePointO, NS31\Cls4 as ClassFour};
60+
use NS2\{NS30 as NameSpaceTreePointZero,};
6061

6162
$cls = new Cls;
6263
echo $cls::CONST, "\n";

parsers/php.c

+3
Original file line numberDiff line numberDiff line change
@@ -1557,6 +1557,9 @@ static bool parseUse (tokenInfo *const token)
15571557
if (readNext)
15581558
{
15591559
readToken (token);
1560+
/* in case of a trailing comma (or an empty group) */
1561+
if (token->type == TOKEN_CLOSE_CURLY)
1562+
break;
15601563
readQualifiedName (token, refName, nameToken);
15611564
}
15621565

0 commit comments

Comments
 (0)