And a quirk in `@Metadata` with properties: ``` va...
# compiler
m
And a quirk in
@Metadata
with properties:
Copy code
var test = ""
	get
	private set
Both, getter and setter, are reported as
Flag.IS_NOT_DEFAULT
in this case but clearly have default and no custom implementation. Bug? 🤔
u
I think this was the original intent of this flag in the metadata -- whether or not a property accessor is written out explicitly. But I agree that "whether the accessor has body" condition makes more sense. I'll need to investigate if it can change compiler's behavior in some way, but right now it seems that it would be safe. (The only place that I can think of where the compiler uses the "is accessor default" condition is related to the stability of smart casts of class properties but only within the same module, so unrelated to the metadata use-case.)
m
Thank you for the background! FYI my use-case is to to serialize properties to JSON automatically only if they don't have a custom getter implementation. The library user must opt-in for each property with custom getter manually. The currently confusing name of the flag tripped me a bit 🙂 Looking forward to see improvements here 🙏
👍 1