private static function getParameterList(SimpleXMLElement $element) { $list = new ParameterMetaDataList(); foreach ($element->AST_formal_parameter_list as $key => $parameterList) { if (strcasecmp($key, ParameterMetaDataList::NODE_NAME) !== 0) { continue; } $parameters = $parameterList->children(); foreach ($parameters as $k => $parameterDef) { if (strcasecmp($k, ParameterMetaData::NODE_NAME) !== 0) { continue; } $parameterMeta = new ParameterMetaData(); $parameterMeta->setToken(new VariableTokenMetaData(self::getTokenValue($parameterDef->Token_variable_name))); if (strcasecmp($k, ParameterMetaData::NODE_NAME) === 0) { $astType = $parameterDef->AST_type; $type = new TypeMetaData(); $type->setToken(new ClassTokenMetaData(self::getTokenValue($astType->Token_class_name))); $parameterMeta->setType($type); } $list->add($parameterMeta); } } return $list; }