'PHP_SAPI'])]);
}
/**
* @return array>
*/
public function getNodeTypes() : array
{
return [FuncCall::class];
}
/**
* @param FuncCall $node
*/
public function refactor(Node $node) : ?Node
{
$functionName = $this->getName($node);
if (!\is_string($functionName)) {
return null;
}
if (!\array_key_exists($functionName, $this->functionsToConstants)) {
return null;
}
return new ConstFetch(new Name($this->functionsToConstants[$functionName]));
}
/**
* @param mixed[] $configuration
*/
public function configure(array $configuration) : void
{
Assert::allString($configuration);
Assert::allString(\array_keys($configuration));
/** @var array $configuration */
$this->functionsToConstants = $configuration;
}
}