@@ -2088,6 +2088,16 @@ public function getMethodSynopsisElement(array $funcMap, array $aliasMap, DOMDoc
20882088 return $methodSynopsis;
20892089 }
20902090
2091+ /** @param FuncInfo[] $generatedFuncInfos */
2092+ public function findEquivalent(array $generatedFuncInfos): ?FuncInfo {
2093+ foreach ($generatedFuncInfos as $generatedFuncInfo) {
2094+ if ($generatedFuncInfo->equalsApartFromNameAndRefcount($this)) {
2095+ return $generatedFuncInfo;
2096+ }
2097+ }
2098+ return null;
2099+ }
2100+
20912101 public function __clone()
20922102 {
20932103 foreach ($this->args as $key => $argInfo) {
@@ -5053,16 +5063,6 @@ function funcInfoToCode(FileInfo $fileInfo, FuncInfo $funcInfo): string {
50535063 return $code . "\n";
50545064}
50555065
5056- /** @param FuncInfo[] $generatedFuncInfos */
5057- function findEquivalentFuncInfo(array $generatedFuncInfos, FuncInfo $funcInfo): ?FuncInfo {
5058- foreach ($generatedFuncInfos as $generatedFuncInfo) {
5059- if ($generatedFuncInfo->equalsApartFromNameAndRefcount($funcInfo)) {
5060- return $generatedFuncInfo;
5061- }
5062- }
5063- return null;
5064- }
5065-
50665066/**
50675067 * @template T
50685068 * @param iterable<T> $infos
@@ -5136,7 +5136,7 @@ function generateArgInfoCode(
51365136 $fileInfo->getAllFuncInfos(), "\n",
51375137 static function (FuncInfo $funcInfo) use (&$generatedFuncInfos, $fileInfo) {
51385138 /* If there already is an equivalent arginfo structure, only emit a #define */
5139- if ($generatedFuncInfo = findEquivalentFuncInfo ($generatedFuncInfos, $funcInfo )) {
5139+ if ($generatedFuncInfo = $funcInfo->findEquivalent ($generatedFuncInfos)) {
51405140 $code = sprintf(
51415141 "#define %s %s\n",
51425142 $funcInfo->getArgInfoName(), $generatedFuncInfo->getArgInfoName()
0 commit comments