original_string: protected function _buildSignature(Zend_Server_Reflection_Function_Abstract $reflection, $class = null)
      {
          $ns         = $reflection->getNamespace();
          $name       = $reflection->getName();
          $method     = empty($ns) ? $name : $ns . '.' . $name;
  
          if (!$this->_overwriteExistingMethods && $this->_table->hasMethod($method)) {
              require_once 'Zend/Server/Exception.php';
              throw new Zend_Server_Exception('Duplicate method registered: ' . $method);
          }
  
          $definition = new Zend_Server_Method_Definition();
          $definition->setName($method)
                     ->setCallback($this->_buildCallback($reflection))
                     ->setMethodHelp($reflection->getDescription())
                     ->setInvokeArguments($reflection->getInvokeArguments());
  
          foreach ($reflection->getPrototypes() as $proto) {
              $prototype = new Zend_Server_Method_Prototype();
              $prototype->setReturnType($this->_fixType($proto->getReturnType()));
              foreach ($proto->getParameters() as $parameter) {
                  $param = new Zend_Server_Method_Parameter(array(
                      'type'     => $this->_fixType($parameter->getType()),
                      'name'     => $parameter->getName(),
                      'optional' => $parameter->isOptional(),
                  ));
                  if ($parameter->isDefaultValueAvailable()) {
                      $param->setDefaultValue($parameter->getDefaultValue());
                  }
                  $prototype->addParameter($param);
              }
              $definition->addPrototype($prototype);
          }
          if (is_object($class)) {
              $definition->setObject($class);
          }
          $this->_table->addMethod($definition);
          return $definition;
      }
code: protected function _buildSignature(Zend_Server_Reflection_Function_Abstract $reflection, $class = null)
      {
          $ns         = $reflection->getNamespace();
          $name       = $reflection->getName();
          $method     = empty($ns) ? $name : $ns . '.' . $name;
  
          if (!$this->_overwriteExistingMethods && $this->_table->hasMethod($method)) {
              require_once 'Zend/Server/Exception.php';
              throw new Zend_Server_Exception('Duplicate method registered: ' . $method);
          }
  
          $definition = new Zend_Server_Method_Definition();
          $definition->setName($method)
                     ->setCallback($this->_buildCallback($reflection))
                     ->setMethodHelp($reflection->getDescription())
                     ->setInvokeArguments($reflection->getInvokeArguments());
  
          foreach ($reflection->getPrototypes() as $proto) {
              $prototype = new Zend_Server_Method_Prototype();
              $prototype->setReturnType($this->_fixType($proto->getReturnType()));
              foreach ($proto->getParameters() as $parameter) {
                  $param = new Zend_Server_Method_Parameter(array(
                      'type'     => $this->_fixType($parameter->getType()),
                      'name'     => $parameter->getName(),
                      'optional' => $parameter->isOptional(),
                  ));
                  if ($parameter->isDefaultValueAvailable()) {
                      $param->setDefaultValue($parameter->getDefaultValue());
                  }
                  $prototype->addParameter($param);
              }
              $definition->addPrototype($prototype);
          }
          if (is_object($class)) {
              $definition->setObject($class);
          }
          $this->_table->addMethod($definition);
          return $definition;
      }
code_tokens: protected function _buildSignature ( Zend_Server_Reflection_Function_Abstract $ reflection , $ class = null ) { $ ns = $ reflection -> getNamespace ( ) ; $ name = $ reflection -> getName ( ) ; $ method = empty ( $ ns ) ? $ name : $ ns . '.' . $ name ; if ( ! $ this -> _overwriteExistingMethods && $ this -> _table -> hasMethod ( $ method ) ) { require_once 'Zend/Server/Exception.php' ; throw new Zend_Server_Exception ( 'Duplicate method registered: ' . $ method ) ; } $ definition = new Zend_Server_Method_Definition ( ) ; $ definition -> setName ( $ method ) -> setCallback ( $ this -> _buildCallback ( $ reflection ) ) -> setMethodHelp ( $ reflection -> getDescription ( ) ) -> setInvokeArguments ( $ reflection -> getInvokeArguments ( ) ) ; foreach ( $ reflection -> getPrototypes ( ) as $ proto ) { $ prototype = new Zend_Server_Method_Prototype ( ) ; $ prototype -> setReturnType ( $ this -> _fixType ( $ proto -> getReturnType ( ) ) ) ; foreach ( $ proto -> getParameters ( ) as $ parameter ) { $ param = new Zend_Server_Method_Parameter ( array ( 'type' => $ this -> _fixType ( $ parameter -> getType ( ) ) , 'name' => $ parameter -> getName ( ) , 'optional' => $ parameter -> isOptional ( ) , ) ) ; if ( $ parameter -> isDefaultValueAvailable ( ) ) { $ param -> setDefaultValue ( $ parameter -> getDefaultValue ( ) ) ; } $ prototype -> addParameter ( $ param ) ; } $ definition -> addPrototype ( $ prototype ) ; } if ( is_object ( $ class ) ) { $ definition -> setObject ( $ class ) ; } $ this -> _table -> addMethod ( $ definition ) ; return $ definition ; }
docstring: Build a method signature
  
  @param  Zend_Server_Reflection_Function_Abstract $reflection
  @param  null|string|object $class
  @return Zend_Server_Method_Definition
  @throws Zend_Server_Exception on duplicate entry
docstring_tokens: Build a method signature