Support hasStableParameterNames in KotlinSignature and propagation

#KT-1924 In Progress
 #KT-2830 Fixed
This commit is contained in:
Alexander Udalov
2014-03-19 05:54:00 +04:00
parent 7fcd42f40c
commit 5fa1774cc1
90 changed files with 369 additions and 186 deletions
@@ -3,12 +3,12 @@ package test
public trait ChangeProjectionKind1: Object {
public trait Super: Object {
public fun foo(p0: MutableList<in String>)
public fun foo(p: MutableList<in String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: MutableList<in String>)
override fun foo(p: MutableList<in String>)
}
}
@@ -4,11 +4,11 @@ public trait ChangeProjectionKind1 : java.lang.Object {
public trait Sub : test.ChangeProjectionKind1.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.MutableList<in kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.MutableList<in kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.MutableList<in kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.MutableList<in kotlin.String>): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait ChangeProjectionKind2: Object {
public trait Super: Object {
public fun foo(p0: MutableList<String>)
public fun foo(p: MutableList<String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: MutableList<String>)
override fun foo(p: MutableList<String>)
}
}
@@ -4,11 +4,11 @@ public trait ChangeProjectionKind2 : java.lang.Object {
public trait Sub : test.ChangeProjectionKind2.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.MutableList<kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.MutableList<kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.MutableList<kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.MutableList<kotlin.String>): kotlin.Unit
}
}
@@ -3,16 +3,16 @@ package test
public trait DeeplySubstitutedClassParameter: Object {
public trait Super<T>: Object {
public fun foo(p0: T)
public fun foo(t: T)
public fun dummy() // to avoid loading as SAM interface
}
public trait Middle<E>: Super<E> {
override fun foo(p0: E)
override fun foo(t: E)
}
public trait Sub: Middle<String> {
override fun foo(p0: String)
override fun foo(t: String)
}
}
@@ -4,16 +4,16 @@ public trait DeeplySubstitutedClassParameter : java.lang.Object {
public trait Middle</*0*/ E> : test.DeeplySubstitutedClassParameter.Super<E> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: E): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ t: E): kotlin.Unit
}
public trait Sub : test.DeeplySubstitutedClassParameter.Middle<kotlin.String> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String): kotlin.Unit
}
public trait Super</*0*/ T> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T): kotlin.Unit
public abstract fun foo(/*0*/ t: T): kotlin.Unit
}
}
@@ -3,7 +3,7 @@ package test
public trait DeeplySubstitutedClassParameter2: Object {
public trait Super<T>: Object {
public fun foo(p0: T)
public fun foo(t: T)
public fun dummy() // to avoid loading as SAM interface
}
@@ -12,6 +12,6 @@ public trait DeeplySubstitutedClassParameter2: Object {
}
public trait Sub: Middle<String> {
override fun foo(p0: String)
override fun foo(t: String)
}
}
@@ -4,16 +4,16 @@ public trait DeeplySubstitutedClassParameter2 : java.lang.Object {
public trait Middle</*0*/ E> : test.DeeplySubstitutedClassParameter2.Super<E> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: E): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ t: E): kotlin.Unit
}
public trait Sub : test.DeeplySubstitutedClassParameter2.Middle<kotlin.String> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String): kotlin.Unit
}
public trait Super</*0*/ T> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T): kotlin.Unit
public abstract fun foo(/*0*/ t: T): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait InheritMutability: Object {
public trait Super: Object {
public fun foo(p0: MutableList<String>)
public fun foo(p: MutableList<String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: MutableList<String>)
override fun foo(p: MutableList<String>)
}
}
@@ -4,11 +4,11 @@ public trait InheritMutability : java.lang.Object {
public trait Sub : test.InheritMutability.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.MutableList<kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.MutableList<kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.MutableList<kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.MutableList<kotlin.String>): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait InheritNotVarargNotNull: Object {
public trait Super: Object {
public fun foo(p0: Array<out String>)
public fun foo(p: Array<out String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: Array<out String>)
override fun foo(p: Array<out String>)
}
}
@@ -4,11 +4,11 @@ public trait InheritNotVarargNotNull : java.lang.Object {
public trait Sub : test.InheritNotVarargNotNull.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.Array<out kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.Array<out kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.Array<out kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.Array<out kotlin.String>): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait InheritProjectionKind: Object {
public trait Super: Object {
public fun foo(p0: MutableList<in String>)
public fun foo(p: MutableList<in String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: MutableList<in String>)
override fun foo(p: MutableList<in String>)
}
}
@@ -4,11 +4,11 @@ public trait InheritProjectionKind : java.lang.Object {
public trait Sub : test.InheritProjectionKind.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.MutableList<in kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.MutableList<in kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.MutableList<in kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.MutableList<in kotlin.String>): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait InheritReadOnliness: Object {
public trait Super: Object {
public fun foo(p0: List<String>)
public fun foo(p: List<String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: List<String>)
override fun foo(p: List<String>)
}
}
@@ -4,11 +4,11 @@ public trait InheritReadOnliness : java.lang.Object {
public trait Sub : test.InheritReadOnliness.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.List<kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.List<kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.List<kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.List<kotlin.String>): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait InheritVarargNotNull: Object {
public trait Super: Object {
public fun foo(vararg p0: String)
public fun foo(vararg p: String)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(vararg p0: String)
override fun foo(vararg p: String)
}
}
@@ -4,11 +4,11 @@ public trait InheritVarargNotNull : java.lang.Object {
public trait Sub : test.InheritVarargNotNull.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ vararg p0: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ vararg p: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ vararg p0: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
public abstract fun foo(/*0*/ vararg p: kotlin.String /*kotlin.Array<kotlin.String>*/): kotlin.Unit
}
}
@@ -9,12 +9,12 @@ public trait Kt3302: Object {
}
public trait LinkedHashMap<K, V> : Object {
public fun put(p0: K, p1: V): V?
public fun put(key: K, value: V): V?
public fun dummy() // to avoid loading as SAM interface
}
public trait BasicBSONObject : LinkedHashMap<String, Any>, BSONObject {
override fun put(p0: String, p1: Any): Any?
override fun put(key: String, value: Any): Any?
}
}
@@ -9,11 +9,11 @@ public trait Kt3302 : java.lang.Object {
public trait BasicBSONObject : test.Kt3302.LinkedHashMap<kotlin.String, kotlin.Any>, test.Kt3302.BSONObject {
public abstract override /*2*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*2*/ fun put(/*0*/ p0: kotlin.String, /*1*/ p1: kotlin.Any): kotlin.Any?
public abstract override /*2*/ fun put(/*0*/ key: kotlin.String, /*1*/ value: kotlin.Any): kotlin.Any?
}
public trait LinkedHashMap</*0*/ K, /*1*/ V> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun put(/*0*/ p0: K, /*1*/ p1: V): V?
public abstract fun put(/*0*/ key: K, /*1*/ value: V): V?
}
}
@@ -3,12 +3,12 @@ package test
public trait MutableToReadOnly: Object {
public trait Super: Object {
public fun foo(p0: MutableList<String>)
public fun foo(p: MutableList<String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: MutableList<String>)
override fun foo(p: MutableList<String>)
}
}
@@ -4,11 +4,11 @@ public trait MutableToReadOnly : java.lang.Object {
public trait Sub : test.MutableToReadOnly.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.MutableList<kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.MutableList<kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.MutableList<kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.MutableList<kotlin.String>): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait NullableToNotNullKotlinSignature: Object {
public trait Super: Object {
public fun foo(p0: String?)
public fun foo(p: String?)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: String?)
override fun foo(p: String?)
}
}
@@ -4,11 +4,11 @@ public trait NullableToNotNullKotlinSignature : java.lang.Object {
public trait Sub : test.NullableToNotNullKotlinSignature.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String?): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.String?): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.String?): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.String?): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait ReadOnlyToMutable: Object {
public trait Super: Object {
public fun foo(p0: List<String>)
public fun foo(p: List<String>)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super {
override fun foo(p0: List<String>)
override fun foo(p: List<String>)
}
}
@@ -4,11 +4,11 @@ public trait ReadOnlyToMutable : java.lang.Object {
public trait Sub : test.ReadOnlyToMutable.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.List<kotlin.String>): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p: kotlin.List<kotlin.String>): kotlin.Unit
}
public trait Super : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.List<kotlin.String>): kotlin.Unit
public abstract fun foo(/*0*/ p: kotlin.List<kotlin.String>): kotlin.Unit
}
}
@@ -10,12 +10,12 @@ public trait SubclassFromGenericAndNot: Object {
}
public trait Generic<T> : Object {
public fun foo(p0: T)
public fun foo(key: T)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub : NonGeneric, Generic<String> {
override fun foo(p0: String)
override fun foo(key: String)
}
}
@@ -4,7 +4,7 @@ public trait SubclassFromGenericAndNot : java.lang.Object {
public trait Generic</*0*/ T> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T): kotlin.Unit
public abstract fun foo(/*0*/ key: T): kotlin.Unit
}
public trait NonGeneric : java.lang.Object {
@@ -14,6 +14,6 @@ public trait SubclassFromGenericAndNot : java.lang.Object {
public trait Sub : test.SubclassFromGenericAndNot.NonGeneric, test.SubclassFromGenericAndNot.Generic<kotlin.String> {
public abstract override /*2*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*2*/ fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract override /*2*/ fun foo(/*0*/ key: kotlin.String): kotlin.Unit
}
}
@@ -3,12 +3,12 @@ package test
public trait SubstitutedClassParameter: Object {
public trait Super<T>: Object {
public fun foo(p0: T)
public fun foo(t: T)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super<String> {
override fun foo(p0: String)
override fun foo(t: String)
}
}
@@ -4,11 +4,11 @@ public trait SubstitutedClassParameter : java.lang.Object {
public trait Sub : test.SubstitutedClassParameter.Super<kotlin.String> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String): kotlin.Unit
}
public trait Super</*0*/ T> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T): kotlin.Unit
public abstract fun foo(/*0*/ t: T): kotlin.Unit
}
}
@@ -3,18 +3,18 @@ package test
public trait SubstitutedClassParameters: Object {
public trait Super1<T>: Object {
public fun foo(p0: T)
public fun foo(t: T)
public fun dummy() // to avoid loading as SAM interface
}
public trait Super2<E>: Object {
public fun foo(p0: E)
public fun foo(t: E)
public fun dummy() // to avoid loading as SAM interface
}
public trait Sub: Super1<String>, Super2<String> {
override fun foo(p0: String)
override fun foo(t: String)
}
}
@@ -4,16 +4,16 @@ public trait SubstitutedClassParameters : java.lang.Object {
public trait Sub : test.SubstitutedClassParameters.Super1<kotlin.String>, test.SubstitutedClassParameters.Super2<kotlin.String> {
public abstract override /*2*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*2*/ fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract override /*2*/ fun foo(/*0*/ t: kotlin.String): kotlin.Unit
}
public trait Super1</*0*/ T> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T): kotlin.Unit
public abstract fun foo(/*0*/ t: T): kotlin.Unit
}
public trait Super2</*0*/ E> : java.lang.Object {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: E): kotlin.Unit
public abstract fun foo(/*0*/ t: E): kotlin.Unit
}
}