Choose Java field during overload resolution with a pure Kotlin property

^KT-31244 Fixed
This commit is contained in:
Denis Zharkov
2019-12-17 17:58:49 +03:00
parent aa8578b675
commit e8131d6e30
20 changed files with 326 additions and 3 deletions
@@ -54,11 +54,13 @@ fun <RC : ResolvedCall<*>> RC.createFlatSignature(): FlatSignature<RC> {
fun createOverloadingConflictResolver(
builtIns: KotlinBuiltIns,
module: ModuleDescriptor,
specificityComparator: TypeSpecificityComparator
specificityComparator: TypeSpecificityComparator,
platformOverloadsSpecificityComparator: PlatformOverloadsSpecificityComparator
) = OverloadingConflictResolver(
builtIns,
module,
specificityComparator,
platformOverloadsSpecificityComparator,
MutableResolvedCall<*>::getResultingDescriptor,
ConstraintSystemBuilderImpl.Companion::forSpecificity,
MutableResolvedCall<*>::createFlatSignature,
@@ -41,10 +41,11 @@ public class ResolutionResultsHandler {
public ResolutionResultsHandler(
@NotNull KotlinBuiltIns builtIns,
@NotNull ModuleDescriptor module,
@NotNull TypeSpecificityComparator specificityComparator
@NotNull TypeSpecificityComparator specificityComparator,
@NotNull PlatformOverloadsSpecificityComparator platformOverloadsSpecificityComparator
) {
overloadingConflictResolver = FlatSignatureForResolvedCallKt.createOverloadingConflictResolver(
builtIns, module, specificityComparator
builtIns, module, specificityComparator, platformOverloadsSpecificityComparator
);
}