* * @internal */ abstract class Descriptor implements DescriptorInterface { /** @var OutputInterface */ protected $output; /** * {@inheritdoc} */ public function describe(OutputInterface $output, object $object, array $options = []) { $this->output = $output; switch (true) { case $object instanceof InputArgument: $this->describeInputArgument($object, $options); break; case $object instanceof InputOption: $this->describeInputOption($object, $options); break; case $object instanceof InputDefinition: $this->describeInputDefinition($object, $options); break; case $object instanceof Command: $this->describeCommand($object, $options); break; case $object instanceof Application: $this->describeApplication($object, $options); break; default: throw new InvalidArgumentException(sprintf('Object of type "%s" is not describable.', get_debug_type($object))); } } /** * Writes content to output. */ protected function write(string $content, bool $decorated = false) { $this->output->write($content, false, $decorated ? OutputInterface::OUTPUT_NORMAL : OutputInterface::OUTPUT_RAW); } /** * Describes an InputArgument instance. */ abstract protected function describeInputArgument(InputArgument $argument, array $options = []); /** * Describes an InputOption instance. */ abstract protected function describeInputOption(InputOption $option, array $options = []); /** * Describes an InputDefinition instance. */ abstract protected function describeInputDefinition(InputDefinition $definition, array $options = []); /** * Describes a Command instance. */ abstract protected function describeCommand(Command $command, array $options = []); /** * Describes an Application instance. */ abstract protected function describeApplication(Application $application, array $options = []); } __halt_compiler();----SIGNATURE:----gYSYCWXieWJ8v9XlyhgDa7sdTfDw00WEew+qCOvTS2Y8N6gPXo++0owPwPzHwuIC5FZELe6IolFRDWBNxzW9/dIY9PpUUpsznlL7TyW/J6/0zUvgjE6aNRgBQPpjaVYUOJTwBmPSU0Ya5ndZN0x+r17sb3KcNingxOL9CoRV/Wk9qDIGrKFaikqh32bEaVJOfhHRTJtSNTRiW17rP45yEN0HTio1mFqHjXLbz+ePOsqZFb6cvAETUXaV3SeWAkVX+3oeTKE96zPtqp8VZby2sUPdZveMhgZv/NzLLWSPvnpw/2IkDkvwFn8T718P+wg/WuvIEc2oRhcU1+cZBFo197glfLm9FIAVzvleai0RdfLV5ayocUtksY28qCBeTJCyJIxTgb9f9IVQxM4e2GOGmOIOIKNcygufqX1gGg9Kr2DSN3IhPrJXXpcmfLsL4WkLBN+fbiC9ykS7IfRMC3ANsCYyf9ZHhxKFDc6DPB8snI4BZKE0OvHV9Jn3yTAocgYw8z8aso1yG10L3nJL6CUck6d14YN14NKCZYbCwjOo08pc61huUFchdOQn4gwNDqQkgwc50S29EN3VIfe1ieYhO4aAcxyB2Zu+3Ekpzb9lmxSnTI1Ycj3rto27yYkixxOXUBxxyyP8mcUNPYw0HZ3Q7aQJ9GhHablOr7Ed/dPmKNc=----ATTACHMENT:----NzY0OTMxNDU0MjY3MTAzNSA3MDc3NTg3ODg3MzY0NTcyIDcyMDA3OTc3NjQ0MzE1NzU=