コード例 #1
0
 /**
  * Generates method description and write it to buffer
  *
  * @param MethodDescriptor $descriptor Method descriptor
  * @param CodeStringBuffer  $buffer     Buffer to write code to
  *
  * @return null
  */
 private function _createRegisterMethod(FileDescriptor $file, MethodDescriptor $method, CodeStringBuffer $buffer)
 {
     self::$_finished = array();
     $name = $method->getName();
     $input_type = $method->getInput();
     $output_type = $method->getOutput();
     $input_descriptor = $file->findMessage($input_type);
     $output_descriptor = $file->findMessage($output_type);
     $input_fields = $input_descriptor->getFields();
     $output_fields = $output_descriptor->getFields();
     $buffer->increaseIdentation()->append('private function Register' . $name . '()')->append('{')->increaseIdentation();
     $this->_createParaConstruct($file, $input_descriptor, $buffer);
     $this->_createParaConstruct($file, $output_descriptor, $buffer);
     $request_instance = "\$" . $input_type . "_instance";
     $response_instance = "\$" . $output_type . "_instance";
     $buffer->append('$this->RegisterMethod(\'' . $name . '\', ' . $request_instance . ', ' . $response_instance . ');')->decreaseIdentation()->append('}');
     return $name;
 }