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:----BOhqtDfa5orNnRfgPdHS2+lxTNoy1hL38+iEZTelkKEbNGvTDd2285qTSqQ2T6HyKFzIR1E5peyq86gjxVvBURL/dxBbgp/ktp7xhUjLbEXIClX3daHz0s/oMhaHtlcfbJGQOxDOfvmqxLYet6TMwTlwPLs8h7ciKUQ1EgGT98KY6i36Smtyan7Ws+DiE4XfLU04a5uSQUIjIh1e2H+UiqebuK6nUosuCyr5jXGKaV0bjdOypaF/rK4Mon7bKYGTf7bCAWbXPV9Ixn/l9Z6K/ghKdsOg2BQ6VG9A7w2XkF3SxXwNuxJJWI5YEXoXM9Ns19LrLUoD/lwA8OzR/JU4Ce/1PjkU4z39wWz5G3J+IhqBYotPAqKzUy6msT+2k8bwxVGaqVQxYTwvfGTw1NA0ohU0zdKPVZoAeBaYr/7Y5Sia55bpCoxzBPLUeCwb7ACM8N+nQP7J8ad8FNL28pnf2oPDedEe4Qk/GVBlEma351NKSxjKpMgGaWQZ2RKt+K7NJl/u1cQVarfgEDVf+DIceo9iAyF3i/XBu4V9rYaPAkzjRO5QoDF9lrrP0kygLSHFbYccMlqzZBFd80jmYHwawbj4NBhRCsAnk8OIXex3hA97cOIhr9Ds5jQbiKC/io7rj9LAk6oyLTYskTpFH+tcjS5PldPLPyn89KSg7Y33UUU=----ATTACHMENT:----NzMxMDE2ODY2Mjc2Njc1MyAzMjIzMTcxNDcxNTUzNjY2IDIzNjU5NDA5OTQzMzcyNDc=