You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When epilogue is used with kotlin, it generates two NT entries for every field. One is called field and one is called getField. For some reason even when kotlin gets compiled to bytecode with simple getters (just a function with return this.whatever) it still gets logged. I've been told that's not supposed to happen. For fields with no custom getter you can annotate @JvmField to fix this issue, but you can't utilize a custom getter, and epilogue, without duplicates.
To Reproduce
Set up a kotlin FRC project
Register epilogue with Kapt (to allow java annotation processors to process kotlin code)
Additional context
I understand if this issue gets closed nearly instantly, as kotlin is not officially supported. However I would really like to explore the use of epilogue in kotlin, and fixing this would be huge.
The text was updated successfully, but these errors were encountered:
I think the easiest way to solve this would be: If a class has @Metadata (automatically part of all kotlin class files, unique to kotlin unless manually added to a java filed) then ignore fields, log the getter methods, and drop the get prefix
In general there seems to be tons of issues with detecting and logging things in kotlin. Tagging with @JvmSynthetic causes the duplicates to no longer appear, but it also makes some (but for some reason not all?) of the logged variables no longer update. Also, variables from an abstract parent class only get logged if they're overriden, even when both classes are tagged @Logged (might be intentional?)
Describe the bug
When epilogue is used with kotlin, it generates two NT entries for every field. One is called
field
and one is calledgetField
. For some reason even when kotlin gets compiled to bytecode with simple getters (just a function withreturn this.whatever
) it still gets logged. I've been told that's not supposed to happen. For fields with no custom getter you can annotate@JvmField
to fix this issue, but you can't utilize a custom getter, and epilogue, without duplicates.To Reproduce
Expected behavior
I expected epilogue to not generate duplicate entries in NT when logging.
Desktop (please complete the following information):
Additional context
I understand if this issue gets closed nearly instantly, as kotlin is not officially supported. However I would really like to explore the use of epilogue in kotlin, and fixing this would be huge.
The text was updated successfully, but these errors were encountered: