5f2de9dbff
This change is required to fix stdlib compilation with enabled linking via signature. All primitive iterators are considered to be builtins and are created during compile time as deserialized declarations (at least in K1). But if we meet the definition of some primitive iterator in code, for example, during stdlib compilation, we will end up with two different descriptors (deserialized and lazy) that describe the same entity. Because of that we have conflicts in symbol table: * For descriptors, we will end up with multiple IR declarations that describe the same class, but with different descriptors. With some magic compilation still works. * For signatures, we will end up with only one IR declaration in the table, but it will have wrong deserialized (instead of lazy) descriptor. In the end, this change allows us to initialize iterators in advance with correct descriptor. #KT-56230