diff --git a/td/generate/DotnetTlDocumentationGenerator.php b/td/generate/DotnetTlDocumentationGenerator.php
index 9772fb45..04a34ed5 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 d8f25c30..5951334a 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 = '';