Exemple #1
0
 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;
 }