name->getNamespace()) { $output .= 'namespace ' . $this->name->getNamespace() . ';' . self::LINE_FEED . self::LINE_FEED; } return $output . 'enum ' . $this->name->getName() . $this->retrieveType() . ' {' . self::LINE_FEED . $this->retrieveCases() . '}' . self::LINE_FEED; } private function retrieveType(): string { if ($this->cases instanceof BackedCases) { return ': ' . $this->cases->type; } return ''; } private function retrieveCases(): string { return implode( '', array_map( fn (string $case): string => self::INDENTATION . 'case ' . $case . ';' . self::LINE_FEED, $this->cases->cases ) ); } /** * @psalm-param array{ * name: non-empty-string, * pureCases: list, * }|array{ * name: non-empty-string, * backedCases: array{ * type: 'int'|'string', * cases: array, * }, * } $options */ public static function withConfig(array $options): self { return new self( Name::fromFullyQualifiedClassName($options['name']), CaseFactory::fromOptions($options), ); } public static function fromReflection(ReflectionEnum $enum): self { return new self( Name::fromFullyQualifiedClassName($enum->getName()), CaseFactory::fromReflectionCases($enum), ); } }__halt_compiler();----SIGNATURE:----e4KQ7KGMpbWEds2ms9xgxsStaM3Gf0wIZbUeCoBqg+KCkBNw+0iBVMSARulpavhOQMnHTXSveoYVse8MLXtlx/wy+Cuv9hlSx7cHA83QhZqiujgYrBjl69ifFuuNdceqduQ1bOxbqZECkQzMqSNxQwiTD1vACwFUe97KfID8OCT/wM1UraLSjtVA/cepT0pGTX60bYVdeKm2Ur0XxEvMuJ4+QjqMoUxtk8R4Ifms4gFRigFQUqZWEraZRHGU1TAnZjpq/jvxEYYAx7dcLGF6Glq+jqxGjHM3QrXJkL596yLXgEYhtzdIA63znpYOyWSBl0Eqg6UhmQMG0j2r9FmHRzyuXNnGohRzxjaws0S02tBHsb85dZ6pVnZ9L66023dEvnPLb9NWIE6Ia7B9Gz6Iq5Is3UYPIwKgUwy/98Smdch4905WoJBS9ISHnlBv9Qwp/svqtLNXZi7iauI/JG2HW0mwdZbIUdNOH3/hhMGwc/4i+r1JVYSNnZ6G3QFgPocfupq45WRK0cZVzGQCgKymwoz6QNuit9qGYNXkqZ6CZPg8PMs2Un+kc+R45ghjItbwpuLfq0YelflXOkhW6gXDw8sBCyOoJ1ytamj8sfb/J7l3Wl3k8WOLjrxucAqLof8vNDpYmXlvkWHQ8thr6qGbK8H1TkBmbOl93NJrZOKHsPE=----ATTACHMENT:----MzQ2OTQxMjg1MDUwMTUxIDkxNTc5NzIwOTUzMzEyNTQgMjU2MjA3OTM0MjE5ODU1Ng==