00e8dc1c39
Normally during metadata compilation we use `K2MetadataCompiler` and it serializes metadata to klibs without generating IR. Native shared compilation uses the K2Native compiler, which generates klibs based on both the fir and fir2ir information. It would be nice to reuse `K2MetadataCompiler` for native shared, but currently it has no support for the commonizer, and also reads the stdlib metadata from a jar instead of a klib, and there's no simple idiomatic way to pass the `distribution.klib` value down to `KLibResolverHelper` (native compilation has some commonized dependencies, and they explicitly depend on `stdlib`, so we must resolve it this way or strip it away to be able to use the metadata jar instead). There may be other issues, I only digged a bit. Instead, this change modifies the K2Native in such a way that it can generate klibs with metadata without fir2ir info. Note that this change does not fix KT-58139, because KT-58139 fails due to performing the constants evaluation directly during the metadata serialization when the needed info does (and, as I was told, should) not exist (namely, valid property initializers). ^KT-58444 Fixed