FIR: Preserve non-custom attributes after substitution

The test is being fixed since synthetic call for elvis has @Exact-attribute on return type
This commit is contained in:
Denis.Zharkov
2021-11-15 16:11:12 +03:00
committed by teamcityserver
parent e26abbbbb0
commit 883b18a0c6
27 changed files with 239 additions and 185 deletions
@@ -2,11 +2,11 @@ FILE: test.kt
public abstract interface UseIterable : R|MyIterable<kotlin/String>| {
public open fun test(): R|kotlin/Unit| {
lval it: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>>| = this@R|/UseIterable|.R|SubstitutionOverride</UseIterable.iterator: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>>|>|()
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>>| = this@R|/UseIterable|.R|SubstitutionOverride</UseIterable.spliterator: R|@EnhancedNullability java/util/Spliterator<ft<kotlin/String, kotlin/String?>>|>|()
lval split: R|java/util/Spliterator<ft<@EnhancedNullability kotlin/String, @EnhancedNullability kotlin/String?>>| = this@R|/UseIterable|.R|SubstitutionOverride</UseIterable.spliterator: R|@EnhancedNullability java/util/Spliterator<ft<@EnhancedNullability kotlin/String, @EnhancedNullability kotlin/String?>>|>|()
}
}
public final fun test(some: R|kotlin/collections/Iterable<kotlin/String>|): R|kotlin/Unit| {
lval it: R|kotlin/collections/Iterator<kotlin/String>| = R|<local>/some|.R|SubstitutionOverride<kotlin/collections/Iterable.iterator: R|kotlin/collections/Iterator<kotlin/String>|>|()
lval split: R|java/util/Spliterator<kotlin/String>| = R|<local>/some|.R|SubstitutionOverride<kotlin/collections/Iterable.spliterator: R|@EnhancedNullability java/util/Spliterator<kotlin/String>|>|()
lval split: R|java/util/Spliterator<@EnhancedNullability kotlin/String>| = R|<local>/some|.R|SubstitutionOverride<kotlin/collections/Iterable.spliterator: R|@EnhancedNullability java/util/Spliterator<@EnhancedNullability kotlin/String>|>|()
}