public function generate(array $ast) : string
    {
        $code = parent::generate($ast);

        if (! $this->canEval) {
            $fileName = sys_get_temp_dir() . '/EvaluatingGeneratorStrategy.php.tmp.' . uniqid('', true);

            file_put_contents($fileName, "<?php\n" . $code);
            require $fileName;
            unlink($fileName);

            return $code;
        }

        eval($code);

        return $code;
    }