Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I inherit KDoc documentation?

Tags:

In Java's Javadoc, there is a way to inherit a method's documentation in a subclass using {@inheritDoc} tag.

Is there a way to do the same in Kotlin's KDoc?

Basically, what I'd like to do is the following:

abstract class Base {     /**      * Some KDoc documentation here.      */     abstract fun foo() }  class Derived: Base() {     /**      * Here is all the documentation from Base#foo's KDoc inherited.      *      * And here goes something more in addition.      */     override fun foo() { /* ... */ } } 
like image 422
hotkey Avatar asked Mar 03 '16 15:03

hotkey


People also ask

What is inherit Doc?

The @inheritdoc tag indicates that a symbol should inherit its documentation from its parent class. Any other tags that you include in the JSDoc comment will be ignored. This tag is provided for compatibility with Closure Compiler.

How do I add documents to Kotlin?

Documenting Modules and Packages KDoc also supports documenting a package or a module using a custom markdown file. Open module.md in the app module. Replace the contents of the file (the TODO:4 line) with the following: # Module notktx-app ## Description This adds a custom module-level description for the app module.

What is KDoc in Kotlin?

The language used to document Kotlin code (the equivalent of Java's Javadoc) is called KDoc. In its essence, KDoc combines Javadoc's syntax for block tags (extended to support Kotlin's specific constructs) and Markdown for inline markup.


1 Answers

Dokka always copies the documentation from a base member to an inherited one if the inherited member does not have its own documentation. There is no way to combine the base member documentation with additional text provided in the inherited member.

(Dokka doesn't support the @inheritdoc Javadoc tag because this inevitably leads to the proliferation of comments consisting of only /** @inheritdoc */ which I find super useless and redundant.)

like image 107
yole Avatar answered Sep 28 '22 05:09

yole