Open droidmatic34 opened 2 years ago
@droidmatic34 thank you for your report, we will investigate this issue in the nearest time
Hi @droidmatic34 , I am able to reproduce your error on diktat-demo in FIX
mode. Ditkat re-arranges declarations from the class body, and it places object
before fun
. However, it forgets to add an empty line between the object
and start of fun
's KDoc, hence the warning. If you move it manually, warnings should go away. We should improve this logic and warning text.
thanks for the update. when can we anticipate a fix for this?
I've looked into it more, and I think it's an inconvenience of integration into spotless. Usually, diktat (as well as ktlint) checks files twice: at first it fixes everything it can automatically (here, it would move object
before fun
) and then it lints errors, that are still present. Note, that source may have changed after step 1. If you run diktat via diktat-gradle-plugin, you'll see code blocks rearranged and then error message will clearly point to the KDoc of the function:
Here is a screenshot from https://ktlint-demo.herokuapp.com:
diktat spotless integration, however, works a little differently: if diktat finds unfixed errors, it fails build, and spotless doesn't save any intermediate changes in source files. But the errors, thrown by diktat, are pointing to lines in this intermediate text, which is completely discarded by spotless.
I'm not very familiar with spotless, but we should check whether this integration can be made more reliable. As a temporary workaround you can try diktat-gradle-plugin, as detailed in our readme
Describe the bug
[WRONG_NEWLINES_AROUND_KDOC] there should be a blank line above the kDoc and there should not be no blank lines after kDoc
if I remove
object Home : Screen(ROUTE_HOME)
this warning goes away. Exception is not clear.Expected behavior
Observed behavior
Steps to Reproduce
Environment information