/** * @param RuntimeConfiguration $configuration * @param ClassDefinition $classDefinition * @param MethodDefinition $methodDefinition * * @return ParameterList */ protected function parameterList(RuntimeConfiguration $configuration, ClassDefinition $classDefinition, MethodDefinition $methodDefinition) { $this->typeCheck->parameterList(func_get_args()); $methodReflector = $methodDefinition->createReflector(); $blockComment = $methodReflector->getDocComment(); if (false === $blockComment) { $parameterList = new ParameterList(); } else { $parameterList = $this->parser()->parseBlockComment($classDefinition->className(), $methodDefinition->name(), $blockComment); } return $this->mergeTool()->merge($configuration, $classDefinition, $methodDefinition, $parameterList->accept($this->classNameResolver($classDefinition)), $this->parser()->parseReflector($methodReflector)); }