* @license MIT */ class EvaluatingGeneratorStrategy implements GeneratorStrategyInterface { /** * @var bool flag indicating whether {@see eval} can be used */ private $canEval = true; /** * Constructor */ public function __construct() { $this->canEval = ! ini_get('suhosin.executor.disable_eval'); } /** * Evaluates the generated code before returning it * * {@inheritDoc} */ public function generate(ClassGenerator $classGenerator) { $code = $classGenerator->generate(); if (! $this->canEval) { // @codeCoverageIgnoreStart $fileName = sys_get_temp_dir() . '/EvaluatingGeneratorStrategy.php.tmp.' . uniqid('', true); file_put_contents($fileName, "