private function parseMethod(\SimpleXMLElement $doc) { list($className, $methodName) = explode("::", (string) $doc->refnamediv->refname); $class = $this->getOrCreateClass($className); $class->setMethod($method = new PhpMethod($methodName)); $method->setAttribute('purpose', (string) $doc->refnamediv->refpurpose); foreach ($doc->refsect1 as $refsect) { if (isset($refsect->methodsynopsis)) { foreach ($doc->refsect1->methodsynopsis as $methodElem) { $method->setAttribute('return_type', (string) $methodElem->type); foreach ($methodElem->methodparam as $paramElem) { $method->addParameter($this->createParamForElem($paramElem)); if ('...' === (string) $paramElem->parameter) { $method->setAttribute('variable_parameters', true); } } } continue; } $this->parseRefsect($refsect, $method); } $this->typeRefiner->refineMethodTypes($class, $method); }