value = $value->value; $this->type = $value->type; $this->arrayDepth = $value->arrayDepth; $this->outputMode = $value->outputMode; $this->allowedTypes = $value->allowedTypes; $this->constants = $value->constants; $this->isSourceDirty = $value->isSourceDirty; $this->indentation = $value->indentation; $this->sourceContent = $value->sourceContent; } else { parent::__construct($value, parent::TYPE_AUTO, parent::OUTPUT_SINGLE_LINE); } $this->reflection = $reflection; } public function generate(): string { try { return parent::generate(); } catch (RuntimeException $e) { if ($this->reflection) { $value = self::exportDefault($this->reflection); } else { $value = var_export($this->value, true); if (\PHP_VERSION_ID < 80200) { return self::fixVarExport($value); } } return $value; } } private static function fixVarExport(string $value): string { $parts = preg_split('{(\'(?:[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\')}', $value, -1, PREG_SPLIT_DELIM_CAPTURE); foreach ($parts as $i => &$part) { if ($part === '' || $i % 2 !== 0) { continue; } $part = preg_replace('/(?(DEFINE)(?[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+))(?name.' = ', (string) $param, 2)[1] ?? '', 0, -2)); if (in_array($default, ['', 'NULL'], true)) { return 'null'; } if (str_ends_with($default, "...'") && preg_match("/^'(?:[^'\\\\]*+(?:\\\\.)*+)*+'$/", $default)) { return var_export($param->getDefaultValue(), true); } $regexp = "/(\"(?:[^\"\\\\]*+(?:\\\\.)*+)*+\"|'(?:[^'\\\\]*+(?:\\\\.)*+)*+')/"; $parts = preg_split($regexp, $default, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); $regexp = '/([\[\( ]|^)([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+(?:\\\\[a-zA-Z0-9_\x7f-\xff]++)*+)(?!: )/'; $callback = (false !== strpbrk($default, "\\:('") && $class = $param->getDeclaringClass()) ? function ($m) use ($class) { switch ($m[2]) { case 'new': case 'false': case 'true': case 'null': return $m[1].$m[2]; case 'NULL': return $m[1].'null'; case 'self': return $m[1].'\\'.$class->name; case 'namespace\\parent': case 'parent': $m[1].(($parent = $class->getParentClass()) ? '\\'.$parent->name : 'parent'); default: return $m[1].'\\'.$m[2]; } } : function ($m) { switch ($m[2]) { case 'new': case 'false': case 'true': case 'null': return $m[1].$m[2]; case 'NULL': return $m[1].'null'; default: return $m[1].'\\'.$m[2]; } }; return implode('', array_map(function ($part) use ($regexp, $callback) { switch ($part[0]) { case '"': return $part; // for internal classes only case "'": return false !== strpbrk($part, "\\\0\r\n") ? '"'.substr(str_replace(['$', "\0", "\r", "\n"], ['\$', '\0', '\r', '\n'], $part), 1, -1).'"' : $part; default: return preg_replace_callback($regexp, $callback, $part); } }, $parts)); } } __halt_compiler();----SIGNATURE:----Uwop4QT8uXKWy1LDUw8Jzf1Zdv06AZwVsI2nk7aOokFS/nHrQ7lYh/MzHHiIhRU5XoefECFN1BjGP+dNnQHexlN+taQRAd/jyM9EvoVLPSKNQ+Hact5W/RHG4IJLEs3EVbOuVIx23rLM/g0LEDY01mvnTcNMYuyuoLK77JvbkLJ8ZuFZUjqTxZ1yt96MO/MfdHzugKSv+pcawboUEBrAlPWd9lcP4QPG+YZ5OaPWTQ/pnAY6GqWAhg3kVx5hVMTstzwJSkWnE3VMm0wrjTha01K1CvP7ZZMiNpAgf2eIn3jQjU53MF5iSTZ5kf999vJbIC1HiGafTZQsJvEd6sfbUuo266J+KfEbIUiDlIotI6Y2wxJ50gPgyPd/F0SlFIyeJx/POEnSh0GTE31zcAwYdXtMBBjpAn3HrkixKMX+5UMVKPoW7cmR5wlyMrEjo/y36UHev1JFqOnfOhHC2o696IStRV9jz6SDeRmGTsWfMfAaSr2/TdWaWQSJYKlZs6ryxFNJXxxlAVjnfNeGQAH80x64vlaDPl/9GFylcpwXGm4EExhK1S0cZKdYsHGD3S9wCYNI7YPk9lPxB/RkZLBYqwx8/R1f/6KSS29MZLXsQ6QrcrOxMLd+vl34La7HXeVxqbGu/UMV5HosBBn6SCFFThn/qlAbYwKPAsMvqrf0KcU=----ATTACHMENT:----NjQ3NTI2NzM2NDI5NzUzNiA3MzU4NDk3NDY1NTU1MDQyIDU1NzMyNDI3ODExMzE3Nzg=