#!/usr/bin/env php * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ $functions = require __DIR__ . '/FunctionSignatureMap.php'; $resourceFunctions = []; foreach ($functions as $function => $arguments) { foreach ($arguments as $argument) { if (strpos($argument, '?') === 0) { $argument = substr($argument, 1); } if ($argument === 'resource') { $resourceFunctions[] = explode('\'', $function)[0]; } } } $resourceFunctions = array_unique($resourceFunctions); sort($resourceFunctions); $buffer = << * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianBergmann\ResourceOperations; final class ResourceOperations { /** * @return string[] */ public static function getFunctions(): array { return [ EOT; foreach ($resourceFunctions as $function) { $buffer .= sprintf(" '%s',\n", $function); } $buffer .= <<< EOT ]; } } EOT; file_put_contents(__DIR__ . '/../src/ResourceOperations.php', $buffer);