Rust-like comment compilation for kotlin/java?

50 Views Asked by At

in short, rust compiler can compile certain code in comments, such as example code, against the actual code - resulting in always up to date commentary.

Anyone aware of any sort-of-equivalent for Kotlin or Java Code? Any suggestions?

Had a hard time googling for it.

What i long for is basically:

/**
 * some descriptive text
 * 
 * Example:
 * ```
 * val foo = bar();
 * assert(foo == "bar"); 
 * ```
 *
 * @return "bar" as String
**/
fun bar() = "bar";

the example, just like an automated test, should fail when bar changes its return value. otherwise become a part of the documentation as sample code.

1

There are 1 best solutions below

1
Marcus Ilgner On BEST ANSWER

One approach I just discovered would be to use the KDoc @sample tag to build associated sample code which would then be embedded in the Dokka-generated documentation.

I found this article which elaborates on that approach and also points out some drawbacks like sub-optimal rendering. But it's certainly a good start in that direction.