Fix ambiguity between Java and Kotlin SAM candidates

Because of incorrect flag we generated synthetic SAM candidates and got ambiguity when feature `SamConversionPerArgument` was enabled (Gradle case) because candidates for Java were duplicated

 #KT-35579 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2019-12-23 10:06:27 +03:00
parent 99e02665b5
commit e078282767
7 changed files with 100 additions and 2 deletions
@@ -0,0 +1,32 @@
package
public fun test(/*0*/ c: C): kotlin.Unit
public interface Action</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun execute(/*0*/ t: T!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface B {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun pluginManagement(/*0*/ block: kotlin.Number.() -> kotlin.Unit): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface C : B, Other {
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract override /*1*/ /*fake_override*/ fun pluginManagement(/*0*/ pluginManagementSpec: Action<in kotlin.Number!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun pluginManagement(/*0*/ block: kotlin.Number.() -> kotlin.Unit): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface Other {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract fun pluginManagement(/*0*/ pluginManagementSpec: Action<in kotlin.Number!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}