/**
  * Creates a new Descriptor from the given Reflector.
  *
  * @param ReturnTag $data
  *
  * @return ReturnDescriptor
  */
 public function create($data)
 {
     $descriptor = new ReturnDescriptor($data->getName());
     $descriptor->setDescription($data->getDescription());
     $descriptor->setTypes($this->builder->buildDescriptor(new Collection($data->getTypes())));
     return $descriptor;
 }
 /**
  * Creates a new Descriptor from the given Reflector.
  *
  * @param ReturnTag $data
  *
  * @return ReturnDescriptor
  */
 public function create($data)
 {
     $descriptor = new ReturnDescriptor($data->getName());
     $descriptor->setDescription($data->getDescription());
     $descriptor->setTypes($data->getTypes());
     return $descriptor;
 }
 /**
  * Creates a new Descriptor from the given Reflector.
  *
  * @param MethodTag $data
  *
  * @return MethodDescriptor
  */
 public function create($data)
 {
     $descriptor = new MethodDescriptor($data->getName());
     $descriptor->setDescription($data->getDescription());
     $descriptor->setMethodName($data->getMethodName());
     $response = new ReturnDescriptor('return');
     $response->setTypes($this->builder->buildDescriptor(new Collection($data->getTypes())));
     $descriptor->setResponse($response);
     foreach ($data->getArguments() as $argument) {
         $argumentDescriptor = $this->createArgumentDescriptorForMagicMethod($argument);
         $descriptor->getArguments()->set($argumentDescriptor->getName(), $argumentDescriptor);
     }
     return $descriptor;
 }
 /**
  * Creates a new Descriptor from the given Reflector.
  *
  * @param MethodTag $data
  *
  * @return MethodDescriptor
  */
 public function create($data)
 {
     $descriptor = new MethodDescriptor($data->getName());
     $descriptor->setDescription($data->getDescription());
     $descriptor->setMethodName($data->getMethodName());
     $response = new ReturnDescriptor('return');
     $response->setTypes($data->getTypes());
     $descriptor->setResponse($response);
     foreach ($data->getArguments() as $argument) {
         if (count($argument) > 1) {
             list($argumentType, $argumentName) = $argument;
         } else {
             $argumentName = current($argument);
             $argumentType = 'mixed';
         }
         $argumentDescriptor = new ArgumentDescriptor();
         $argumentDescriptor->setTypes(array($argumentType));
         $argumentDescriptor->setName($argumentName);
         $descriptor->getArguments()->set($argumentName, $argumentDescriptor);
     }
     return $descriptor;
 }