K2: don't make T = Type! substitutions for constructors, including SAM
Without this commit we get some ABI changes and it looks bad. Related to KT-65596
This commit is contained in:
committed by
Space Team
parent
81414d758d
commit
78b6432ced
+1
-1
@@ -7,7 +7,7 @@ FILE: main.kt
|
||||
public abstract interface PsiClass : R|kotlin/Any| {
|
||||
}
|
||||
public final fun test(): R|kotlin/Unit| {
|
||||
lval processor: R|AdapterProcessor<PsiMethod!, PsiClass!>| = R|/AdapterProcessor.AdapterProcessor|<R|PsiMethod!|, R|PsiClass!|>(R|/Function|<R|PsiMethod!|, R|PsiClass?|>(<L> = Function@fun <anonymous>(method: R|PsiMethod?|): R|PsiClass?| <inline=NoInline> {
|
||||
lval processor: R|AdapterProcessor<PsiMethod, PsiClass>| = R|/AdapterProcessor.AdapterProcessor|<R|PsiMethod|, R|PsiClass|>(R|/Function|<R|PsiMethod!|, R|PsiClass?|>(<L> = Function@fun <anonymous>(method: R|PsiMethod?|): R|PsiClass?| <inline=NoInline> {
|
||||
^ R|<local>/method|?.{ $subj$.R|/PsiMethod.containingClass| }
|
||||
}
|
||||
))
|
||||
|
||||
+2
-2
@@ -26,13 +26,13 @@ FILE: main.kt
|
||||
|
||||
}
|
||||
public final fun test_1(): R|kotlin/Unit| {
|
||||
lval map: R|util/HashMap<kotlin/Int!, kotlin/Int!>| = R|util/HashMap.HashMap|<R|kotlin/Int!|, R|kotlin/Int!|>()
|
||||
lval map: R|util/HashMap<kotlin/Int, kotlin/Int>| = R|util/HashMap.HashMap|<R|kotlin/Int|, R|kotlin/Int|>()
|
||||
}
|
||||
public final fun test_2(): R|kotlin/Unit| {
|
||||
lval set: R|util/HashSet<kotlin/Int>| = R|util/HashSet.HashSet|<R|kotlin/Int|>()
|
||||
}
|
||||
public final fun test_3(): R|kotlin/Unit| {
|
||||
lval list: R|foo/ArrayList<kotlin/Int!>| = R|foo/ArrayList.ArrayList|<R|kotlin/Int!|>()
|
||||
lval list: R|foo/ArrayList<kotlin/Int>| = R|foo/ArrayList.ArrayList|<R|kotlin/Int|>()
|
||||
}
|
||||
public final fun test_4(): R|kotlin/Unit| {
|
||||
lval list: R|foo/LinkedList<kotlin/Int>| = R|foo/LinkedList.LinkedList|<R|kotlin/Int|>()
|
||||
|
||||
+2
-2
@@ -13,8 +13,8 @@ FILE: test.kt
|
||||
lval element: R|DE| = R|<local>/d|.R|/Diagnostic.element|
|
||||
R|/Fix.Fix|(R|<local>/element|)
|
||||
}
|
||||
private final val DERIVED_FACTORY: R|DiagnosticFactory0<DerivedElement!>| = R|/DiagnosticFactory0.DiagnosticFactory0|<R|DerivedElement!|>()
|
||||
private get(): R|DiagnosticFactory0<DerivedElement!>|
|
||||
private final val DERIVED_FACTORY: R|DiagnosticFactory0<DerivedElement>| = R|/DiagnosticFactory0.DiagnosticFactory0|<R|DerivedElement|>()
|
||||
private get(): R|DiagnosticFactory0<DerivedElement>|
|
||||
public final fun createViaFactory(d: R|EmptyDiagnostic|): R|kotlin/Unit| {
|
||||
lval casted: R|Diagnostic<DerivedElement!>| = R|/DERIVED_FACTORY|.R|SubstitutionOverride</DiagnosticFactory0.cast: R|@EnhancedNullability Diagnostic<DerivedElement!>|>|(R|<local>/d|)
|
||||
lval element: R|DerivedElement| = R|<local>/casted|.R|/Diagnostic.element|
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
FILE: main.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
R|/JavaClass.JavaClass|<R|kotlin/String!|>(Null(null)).R|SubstitutionOverride</JavaClass.foo: R|kotlin/String!|>|().R|kotlin/String.length|
|
||||
R|/JavaClass.JavaClass|<R|kotlin/String|>(Null(null)).R|SubstitutionOverride</JavaClass.foo: R|kotlin/String!|>|().R|kotlin/String.length|
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
FILE: main.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
R|/MyFunction|<R|kotlin/Int!|, R|kotlin/String!|>(<L> = MyFunction@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
|
||||
R|/MyFunction|<R|kotlin/Int|, R|kotlin/String|>(<L> = MyFunction@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
|
||||
^ R|<local>/x|.R|kotlin/Int.toInt|().R|kotlin/Int.toString|()
|
||||
}
|
||||
)
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
FILE: main.kt
|
||||
private final val anyProperty: R|Property<kotlin/Any!>| = R|/Property.Property|<R|kotlin/Any!|>()
|
||||
private get(): R|Property<kotlin/Any!>|
|
||||
private final val boundedProperty: R|Property<kotlin/String!>| = R|/Property.Property|<R|kotlin/String!|>()
|
||||
private get(): R|Property<kotlin/String!>|
|
||||
private final val anyProperty: R|Property<kotlin/Any>| = R|/Property.Property|<R|kotlin/Any|>()
|
||||
private get(): R|Property<kotlin/Any>|
|
||||
private final val boundedProperty: R|Property<kotlin/String>| = R|/Property.Property|<R|kotlin/String|>()
|
||||
private get(): R|Property<kotlin/String>|
|
||||
public final fun test_1(x: R|Property<kotlin/Any>|): R|kotlin/Unit| {
|
||||
when () {
|
||||
(R|<local>/x| is R|Reference|) -> {
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@ FILE: concurrentMapOfAliases.kt
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
private final val foo: R|java/util/concurrent/ConcurrentHashMap<kotlin/String!, kotlin/CharSequence!>| = Q|java/util/concurrent|.R|java/util/concurrent/ConcurrentHashMap.ConcurrentHashMap|<R|kotlin/String!|, R|kotlin/CharSequence!|>()
|
||||
private get(): R|java/util/concurrent/ConcurrentHashMap<kotlin/String!, kotlin/CharSequence!>|
|
||||
private final val foo: R|java/util/concurrent/ConcurrentHashMap<kotlin/String, kotlin/CharSequence>| = Q|java/util/concurrent|.R|java/util/concurrent/ConcurrentHashMap.ConcurrentHashMap|<R|kotlin/String|, R|kotlin/CharSequence|>()
|
||||
private get(): R|java/util/concurrent/ConcurrentHashMap<kotlin/String, kotlin/CharSequence>|
|
||||
|
||||
private final fun bar(): R|kotlin/Unit| {
|
||||
this@R|/A|.R|/A.foo|.R|SubstitutionOverride<java/util/concurrent/ConcurrentHashMap.get: R|@EnhancedNullability kotlin/CharSequence?|>|(String(dd))?.{ (this@R|/A|, $subj$).R|/A.baz|() }
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
FILE: javaLangComparator.kt
|
||||
public final fun test_2(list: R|kotlin/collections/List<kotlin/Int>|): R|kotlin/Unit| {
|
||||
lval comp: R|java/util/Comparator<kotlin/Int!>| = Q|java/util|.R|java/util/Comparator|<R|kotlin/Int!|>(<L> = Comparator@fun <anonymous>(x: R|kotlin/Int!|, y: R|kotlin/Int!|): R|kotlin/Int| <inline=NoInline> {
|
||||
lval comp: R|java/util/Comparator<kotlin/Int>| = Q|java/util|.R|java/util/Comparator|<R|kotlin/Int|>(<L> = Comparator@fun <anonymous>(x: R|kotlin/Int!|, y: R|kotlin/Int!|): R|kotlin/Int| <inline=NoInline> {
|
||||
^ Int(1)
|
||||
}
|
||||
)
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
FILE: NamedParameterInConcurrentMap.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
lval map: R|java/util/concurrent/ConcurrentHashMap<kotlin/String!, kotlin/String!>| = R|java/util/concurrent/ConcurrentHashMap.ConcurrentHashMap|<R|kotlin/String!|, R|kotlin/String!|>()
|
||||
lval map: R|java/util/concurrent/ConcurrentHashMap<kotlin/String, kotlin/String>| = R|java/util/concurrent/ConcurrentHashMap.ConcurrentHashMap|<R|kotlin/String|, R|kotlin/String|>()
|
||||
R|<local>/map|.R|SubstitutionOverride<java/util/concurrent/ConcurrentHashMap.put: R|@EnhancedNullability kotlin/String?|>|(key = String(key), value = String(value))
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@ FILE: Main.kt
|
||||
public final fun main(): R|kotlin/Unit| {
|
||||
lvar generic: R|ft<Raw type Generic<kotlin/Any!>, Generic<*>?>| = Q|Generic|.R|/Generic.raw*s|
|
||||
lvar inner1: R|ft<Raw type Generic.Inner<kotlin/Any!>, Generic.Inner<*>?>| = R|<local>/generic|.R|SubstitutionOverride</Generic.inner>|
|
||||
R|<local>/inner1| = R|/Generic.Generic|<R|kotlin/String!|>().R|SubstitutionOverride</Generic.Inner.Inner>|()
|
||||
R|<local>/inner1| = R|/Generic.Generic|<R|kotlin/String|>().R|SubstitutionOverride</Generic.Inner.Inner>|()
|
||||
lvar inner2: R|ft<Raw type Generic.Inner<kotlin/Any!>, Generic.Inner<*>?>| = R|<local>/generic|.R|SubstitutionOverride</Generic.rawInner>|
|
||||
R|<local>/inner2| = R|/Generic.Generic|<R|kotlin/String!|>().R|SubstitutionOverride</Generic.Inner.Inner>|()
|
||||
R|<local>/inner2| = R|/Generic.Generic|<R|kotlin/String|>().R|SubstitutionOverride</Generic.Inner.Inner>|()
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
FILE: weakHashMap.kt
|
||||
public final val someMap: R|java/util/WeakHashMap<kotlin/Any!, kotlin/Any!>| = R|java/util/WeakHashMap.WeakHashMap|<R|kotlin/Any!|, R|kotlin/Any!|>()
|
||||
public get(): R|java/util/WeakHashMap<kotlin/Any!, kotlin/Any!>|
|
||||
public final val someMap: R|java/util/WeakHashMap<kotlin/Any?, kotlin/Any?>| = R|java/util/WeakHashMap.WeakHashMap|<R|kotlin/Any?|, R|kotlin/Any?|>()
|
||||
public get(): R|java/util/WeakHashMap<kotlin/Any?, kotlin/Any?>|
|
||||
public final fun foo(): R|kotlin/Unit| {
|
||||
R|/someMap|.R|SubstitutionOverride<java/util/WeakHashMap.get: R|@EnhancedNullability kotlin/Any?|>|(String())
|
||||
}
|
||||
|
||||
+2
-2
@@ -9,9 +9,9 @@ FILE: typeAliasWithForEach.kt
|
||||
}
|
||||
public final typealias Arguments = R|kotlin/collections/Map<kotlin/String, ArgsInfo>|
|
||||
public final fun R|Arguments|.deepCopy(): R|Arguments| {
|
||||
lval result: R|java/util/HashMap<kotlin/String!, ArgsInfo!>| = R|java/util/HashMap.HashMap|<R|kotlin/String!|, R|ArgsInfo!|>()
|
||||
lval result: R|java/util/HashMap<kotlin/String, ArgsInfo>| = R|java/util/HashMap.HashMap|<R|kotlin/String|, R|ArgsInfo|>()
|
||||
this@R|/deepCopy|.R|SubstitutionOverride<kotlin/collections/Map.forEach: R|kotlin/Unit|>|(<L> = SAM(forEach@fun <anonymous>(key: R|@EnhancedNullability kotlin/String|, value: R|@EnhancedNullability ArgsInfo|): R|kotlin/Unit| <inline=NoInline> {
|
||||
R|<local>/result|.R|kotlin/collections/set|<R|kotlin/String!|, R|ArgsInfo!|>(R|<local>/key|, R|/ArgsInfoImpl.ArgsInfoImpl|(R|<local>/value|))
|
||||
R|<local>/result|.R|kotlin/collections/set|<R|kotlin/String|, R|ArgsInfo|>(R|<local>/key|, R|/ArgsInfoImpl.ArgsInfoImpl|(R|<local>/value|))
|
||||
Unit
|
||||
}
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user