Giter Site home page Giter Site logo

Comments (18)

yole avatar yole commented on June 28, 2024

I'd need to see the source file which causes the problem

from dokka.

codeprogression avatar codeprogression commented on June 28, 2024

@yole, after further investigation, these are actually two separate error conditions. One is fatal to the javadoc generation, the other isn't.

The stack overflow error is caused if I apply an annotation to an interface:

package demo

/**
 * This class supports greeting people by name.
 *
 * @property name The name of the person to be greeted.
 */
class GreeterImpl(val name: String): Greeter {

    /**
     * Prints the greeting to the standard output.
     */

    override fun greet() {
        println("Hello $name!")
    }

}

/**
 * Implementers will greet people.
 */
@Beta
interface Greeter {
    fun greet()
}

fun main(args: Array<String>) {
    demo.GreeterImpl(args[0]).greet()
}

@Retention(AnnotationRetention.BINARY)
@Target(AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FIELD, AnnotationTarget.FUNCTION,
        AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CLASS, AnnotationTarget.FILE)
@MustBeDocumented
annotation class Beta

In this case, the documentation halts. Applying an annotation to the interface methods does not cause issues. (The stack overflow does not occur when the output format is "HTML," only "javadoc")


The "null tag" error occurs if a referenced class has the @suppress comment added:

package demo

/**
 * This class supports greeting people by name.
 * Inherits from [Greeter] which has a `suppress` doc comment
 *
 * @property name The name of the person to be greeted.
 */
class GreeterImpl(val name: String): Greeter {

    /**
     * Prints the greeting to the standard output.
     */

    override fun greet() {
        println("Hello $name!")
    }

}

/**
 * @suppress
 */
interface Greeter {
    fun greet()
}

fun main(args: Array<String>) {
    demo.GreeterImpl(args[0]).greet()
}

In this case, the documentation completes despite the null:-1:-1: Tag @see messages.


If I come up with additional cases, I will let you know. Hope that helps!

from dokka.

yole avatar yole commented on June 28, 2024

Thanks for your investigation, it definitely does help! I'll look into these issues soon.

from dokka.

codeprogression avatar codeprogression commented on June 28, 2024

@yole This is still happening in 0.9.10. Wondering if it will be worked on soon. Thanks.

from dokka.

codeprogression avatar codeprogression commented on June 28, 2024

@semoro @yole Thanks for working on this one!

from dokka.

xeruf avatar xeruf commented on June 28, 2024

I still get spammed to death by null:-1:-1: Tag @see cannot be used in inline documentation. It can only be used in the following types of documentation: overview, package, class/interface, constructor, field, method even though I have no @see tag ANYWHERE. And the error message isn't any help either...

from dokka.

mstachniuk avatar mstachniuk commented on June 28, 2024

Same to me (using version 0.9.17). You can check my project: https://github.com/mstachniuk/graphql-schema-from-introspection-generator
./gradlew clean build

> Task :graphql-schema-from-introspection-generator-core:dokka
null:-1:-1: Tag @see cannot be used in inline documentation.  It can only be used in the following types of documentation: overview, package, class/interface, constructor, field, method.

from dokka.

semoro avatar semoro commented on June 28, 2024

Problem with @see tags still reproduces, and should be fixed

from dokka.

AlexanderLS avatar AlexanderLS commented on June 28, 2024

Same to me (using version 0.9.17). You can check my project: https://github.com/Vorlonsoft/AndroidRate

from dokka.

xeruf avatar xeruf commented on June 28, 2024

Guys, this is super annoying! My build log contains over 20 lines of this useless message:
null:-1:-1: Tag @see cannot be used in inline documentation. It can only be used in the following types of documentation: overview, package, class/interface, constructor, field, method.
it isn't an actionable error, so please just remove it until is serves a purpose...

from dokka.

JWT007 avatar JWT007 commented on June 28, 2024

Any word on this? Since I tend to use @suppress on overridden hashCode/equals methods my build log if full of the null errors ... is it just a simple mixup confusing @suppress with @see???

from dokka.

JWT007 avatar JWT007 commented on June 28, 2024

So its not just the @suppress.

It is also caused by the documentation links A [FooBar] implementation. ... this gets resolved as a @see.

Removing the link references for a class/method eliminates the error.

from dokka.

mdashlw avatar mdashlw commented on June 28, 2024

Still relevant for me, I have no @see in my docs at all
Using dokka maven plugin, 0.9.18

from dokka.

AmrAfifiy avatar AmrAfifiy commented on June 28, 2024

Seeing the same problem, happens when an interface B implements an interface A, with A having an annotation.

from dokka.

pavelaizen avatar pavelaizen commented on June 28, 2024

Can we remove this logs from the console output?

from dokka.

kamildoleglo avatar kamildoleglo commented on June 28, 2024

This will be fixed in 0.11.0 hopefully

from dokka.

ccampo133 avatar ccampo133 commented on June 28, 2024

Running into this as well. Happens when you reference classes/functions using brackets, e.g.

/**
 * See [foo] and [bar]
 */

Output spams:
null:-1:-1: Tag @see cannot be used in inline documentation. It can only be used in the following types of documentation: overview, package, class/interface, constructor, field, method.

from dokka.

Kordyjan avatar Kordyjan commented on June 28, 2024

As far as I know, it is fixed in 1.4.0. If the problem is persisting it is ok to open a new issue as it will definitely have a different root cause that this problem.

from dokka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.