Say I have an example data class called Vec2f that looks like this:
data class Vec2f(var x: Float, var y: Float) {
inline var r: Float get() = x; set(value) { x = value }
inline var g: Float get() = y; set(value) { y = value }
}
In the decompiled bytecode for this class it creates methods called getR(), getS() and the relevant setters, which just call the getX() and Y respectively, as well for the setters. However whenever I use the properties r and g in normal code (e.g. vec.r) instead of showing as getR() it will call getX(), this is to do with how it inlines the property I assume, however this means there are redundant methods defined in the Vec2f that coverage tests will always mark as missed, as well as it adds unnecessary bytecode and methods. I couldn’t find much about this so if this is by design then fair enough but I thought it was interesting enough to inquire.