I have this Kotlin code:
…
var visibility = falseinline var isVisible
get() = visibility
set(value) {visibility = value}
…
And In Java generated code I have this:
private static boolean visibility;
public static final boolean getVisibility() { return visibility; }
public static final void setVisibility(boolean var0) { visibility = var0; }
public static final boolean isVisible() { return getVisibility(); } //getter
public static final void setVisible(boolean value) { setVisibility(value); } //setter
But when I remove the inline
from the var isVisible
declaration the Java code changes to:
private static boolean visibility;
public static final boolean getVisibility() { return visibility; }
public static final void setVisibility(boolean var0) { visibility = var0; }
public static final boolean isVisible() { return visibility; } //direct access
public static final void setVisible(boolean value) { visibility = value; } //direct access
Why inline
d properties call get/setVisibility
instead of accessing the field direclty?
Please, see the comments getter
, setter
, direct access
at the code samples above to spot what I am trying to explain.