diff --git a/td/generate/DotnetTlDocumentationGenerator.php b/td/generate/DotnetTlDocumentationGenerator.php index 9772fb450..04a34ed55 100644 --- a/td/generate/DotnetTlDocumentationGenerator.php +++ b/td/generate/DotnetTlDocumentationGenerator.php @@ -158,9 +158,10 @@ EOT ); } - protected function getFunctionReturnTypeDescription($return_type) + protected function getFunctionReturnTypeDescription($return_type, $for_constructor) { - return "\r\n/// Returns .'; + $shift = $for_constructor ? ' ' : ''; + return "\r\n$shift/// Returns .'; } protected function addClassDocumentation($class_name, $base_class_name, $description) @@ -189,17 +190,17 @@ EOT ); } - protected function addDefaultConstructorDocumentation($class_name) + protected function addDefaultConstructorDocumentation($class_name, $class_description) { $this->addDocumentation(" $class_name();", << - /// Default constructor. + /// $class_description /// EOT ); } - protected function addFullConstructorDocumentation($class_name, $known_fields, $info) + protected function addFullConstructorDocumentation($class_name, $class_description, $known_fields, $info) { $full_constructor = " $class_name("; $colon = ''; @@ -216,7 +217,7 @@ EOT $full_doc = << - /// Constructor for initialization of all fields. + /// $class_description /// EOT; foreach ($known_fields as $name => $type) { diff --git a/td/generate/DoxygenTlDocumentationGenerator.php b/td/generate/DoxygenTlDocumentationGenerator.php index d8f25c302..5951334a5 100644 --- a/td/generate/DoxygenTlDocumentationGenerator.php +++ b/td/generate/DoxygenTlDocumentationGenerator.php @@ -196,7 +196,7 @@ EOT $this->addDocumentation('object_ptr move_object_as(FromType &&from) {', << call_state = ...; @@ -321,9 +321,10 @@ EOT ); } - protected function getFunctionReturnTypeDescription($return_type) + protected function getFunctionReturnTypeDescription($return_type, $for_constructor) { - return PHP_EOL.' *'.PHP_EOL." * Returns $return_type."; + $shift = $for_constructor ? ' ' : ' '; + return PHP_EOL.$shift.'*'.PHP_EOL.$shift."* Returns $return_type."; } protected function addClassDocumentation($class_name, $base_class_name, $description) @@ -344,17 +345,17 @@ EOT ); } - protected function addDefaultConstructorDocumentation($class_name) + protected function addDefaultConstructorDocumentation($class_name, $class_description) { $this->addDocumentation(" $class_name();", << Returns {@link $return_type $return_type}

"; + $shift = $for_constructor ? ' ' : ' '; + return PHP_EOL.$shift.'*'.PHP_EOL.$shift."*

Returns {@link $return_type $return_type}

"; } protected function addClassDocumentation($class_name, $base_class_name, $description) @@ -219,17 +220,17 @@ EOT } } - protected function addDefaultConstructorDocumentation($class_name) + protected function addDefaultConstructorDocumentation($class_name, $class_description) { $this->addDocumentation(" public $class_name() {", <<getBaseClassName($is_function); $class_description = $info['description']; if ($is_function) { - $class_description .= $this->getFunctionReturnTypeDescription($this->getTypeName($type)); + $class_description .= $this->getFunctionReturnTypeDescription($this->getTypeName($type), false); } $this->addClassDocumentation($class_name, $base_class_name, $class_description); @@ -246,10 +246,19 @@ abstract class TlDocumentationGenerator $this->addFieldDocumentation($class_name, $this->getFieldName($name, $class_name), $this->getTypeName($type), $info[$name], $may_be_null); } - $this->addDefaultConstructorDocumentation($class_name); + if ($is_function) { + $default_constructor_prefix = 'Default constructor for a function, which '; + $full_constructor_prefix = 'Creates a function, which '; + $class_description = lcfirst($info['description']); + $class_description .= $this->getFunctionReturnTypeDescription($this->getTypeName($type), true); + } else { + $default_constructor_prefix = ''; + $full_constructor_prefix = ''; + } + $this->addDefaultConstructorDocumentation($class_name, $default_constructor_prefix.$class_description); if ($known_fields) { - $this->addFullConstructorDocumentation($class_name, $known_fields, $info); + $this->addFullConstructorDocumentation($class_name, $full_constructor_prefix.$class_description, $known_fields, $info); } $description = '';