public function loadMetadataForClass(\ReflectionClass $class)
    {
        $classMetadata                  = new ClassMetadata($name = $class->name);
        $classMetadata->fileResources[] = $class->getFilename();
        foreach ($class->getMethods() as $method) {
            /**
             * @var \ReflectionMethod $method
             */
            if ($method->class !== $name) {
                continue;
            }

            $methodAnnotations = $this->reader->getMethodAnnotations($method);
            foreach ($methodAnnotations as $annotation) {
                if ($annotation instanceof ParamType) {
                    if(!$classMetadata->hasMethod($method->name)) {
                        $this->addMethod($classMetadata, $method);
                    }
                    $classMetadata->setParameterType($method->getName(), $annotation->name, $annotation->type);
                    $classMetadata->setParameterOptions($method->getName(), $annotation->name, $annotation->options);
                }

                if ($annotation instanceof ReturnType) {
                    $classMetadata->setReturnType($method->getName(), $annotation->type);
                }
            }
        }

        return $classMetadata;
    }
public function loadMetadataForClass(\ReflectionClass $class)
    {
        $classMetadata                  = new ClassMetadata($name = $class->name);
        $classMetadata->fileResources[] = $class->getFilename();
        foreach ($class->getMethods() as $method) {
            /**
             * @var \ReflectionMethod $method
             */
            if ($method->class !== $name) {
                continue;
            }

            $methodAnnotations = $this->reader->getMethodAnnotations($method);
            foreach ($methodAnnotations as $annotation) {
                if ($annotation instanceof ParamType) {
                    if(!$classMetadata->hasMethod($method->name)) {
                        $this->addMethod($classMetadata, $method);
                    }
                    $classMetadata->setParameterType($method->getName(), $annotation->name, $annotation->type);
                    $classMetadata->setParameterOptions($method->getName(), $annotation->name, $annotation->options);
                }

                if ($annotation instanceof ReturnType) {
                    $classMetadata->setReturnType($method->getName(), $annotation->type);
                }
            }
        }

        return $classMetadata;
    }
@param \ReflectionClass $class

@return \Metadata\ClassMetadata