如何为 Kotlin 扩展函数的接收者添加 KDoc 注释(Java 中的第一个参数,Kotlin 中的“this”)

Fre*_*uvn 4 java extension-methods kotlin kdoc

考虑这个非扩展函数:

fun checkArguments(expression: Boolean) {
    if (!expression) {
        throw IllegalArgumentException()
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在kotlin和java中使用这个函数时,我可以看到它的参数名称:expression

我还可以将相同的功能编写为扩展函数:

fun Boolean.checkArguments() {
    if (!this) {
        throw IllegalArgumentException()
    }
}
Run Code Online (Sandbox Code Playgroud)

当我以这种方式将其编写为扩展函数时,调用它的布尔值的参数名称(this函数内的变量,又称接收器)显示为$this$checkArguments。如何为此参数添加 KDoc 文档注释?使用@param $this$checkArguments似乎没有记录它。

Rya*_*ley 5

您可以使用@receiver记录扩展功能的接收者。这是相关文档

例如:

/**
 * @receiver A String that is at least four characters long
 */
fun String.firstFour() = this.substring(0, 4)
Run Code Online (Sandbox Code Playgroud)