@@ -1390,7 +1390,13 @@ public function getFunctionEntry(): string {
1390
1390
$ name = "zim_ " . $ this ->name ->getDeclarationClassName () . "_ " . $ this ->name ->methodName ;
1391
1391
1392
1392
if ($ isVanillaEntry ) {
1393
- $ functionEntryCode = "\tZEND_ME( " . $ this ->name ->getDeclarationClassName () . ", " . $ this ->name ->methodName . ", $ argInfoName, " . implode ("| " , reset ($ flagsByPhpVersions )) . ") " ;
1393
+ $ template = "\tZEND_ME( " . $ this ->name ->getDeclarationClassName () . ", " . $ this ->name ->methodName . ", $ argInfoName, %s) \n" ;
1394
+ $ flagsCode = generateVersionDependentFlagCode (
1395
+ $ template ,
1396
+ $ flagsByPhpVersions ,
1397
+ $ this ->minimumPhpVersionIdCompatibility
1398
+ );
1399
+ $ functionEntryCode = rtrim ( implode ("" , $ flagsCode ) );
1394
1400
}
1395
1401
}
1396
1402
}
@@ -1523,9 +1529,6 @@ private function getArginfoFlagsByPhpVersions(): array
1523
1529
case "Deprecated " :
1524
1530
$ flags [] = "ZEND_ACC_DEPRECATED " ;
1525
1531
break ;
1526
- case "NoDiscard " :
1527
- $ flags [] = "ZEND_ACC_NODISCARD " ;
1528
- break ;
1529
1532
}
1530
1533
}
1531
1534
@@ -1534,12 +1537,24 @@ private function getArginfoFlagsByPhpVersions(): array
1534
1537
$ php82AndAboveFlags [] = "ZEND_ACC_COMPILE_TIME_EVAL " ;
1535
1538
}
1536
1539
1540
+ $ php85AndAboveFlags = $ php82AndAboveFlags ;
1541
+ foreach ($ this ->attributes as $ attr ) {
1542
+ switch ($ attr ->class ) {
1543
+ case "NoDiscard " :
1544
+ $ php85AndAboveFlags [] = "ZEND_ACC_NODISCARD " ;
1545
+ break ;
1546
+ }
1547
+ }
1548
+
1537
1549
if (empty ($ flags )) {
1538
1550
$ flags [] = "0 " ;
1539
1551
}
1540
1552
if (empty ($ php82AndAboveFlags )) {
1541
1553
$ php82AndAboveFlags [] = "0 " ;
1542
1554
}
1555
+ if (empty ($ php85AndAboveFlags )) {
1556
+ $ php85AndAboveFlags [] = "0 " ;
1557
+ }
1543
1558
1544
1559
return [
1545
1560
PHP_70_VERSION_ID => $ flags ,
@@ -1548,7 +1563,7 @@ private function getArginfoFlagsByPhpVersions(): array
1548
1563
PHP_82_VERSION_ID => $ php82AndAboveFlags ,
1549
1564
PHP_83_VERSION_ID => $ php82AndAboveFlags ,
1550
1565
PHP_84_VERSION_ID => $ php82AndAboveFlags ,
1551
- PHP_85_VERSION_ID => $ php82AndAboveFlags ,
1566
+ PHP_85_VERSION_ID => $ php85AndAboveFlags ,
1552
1567
];
1553
1568
}
1554
1569
0 commit comments