Navigation: Resolve typealiased SAM-references to type alias declaration

#KT-15302 Fixed
This commit is contained in:
Alexey Sedunov
2018-02-26 15:02:45 +03:00
parent 5bff4b9f39
commit 4609b2ae37
9 changed files with 45 additions and 3 deletions
@@ -17,17 +17,22 @@
package org.jetbrains.kotlin.load.java.sam
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithNavigationSubstitute
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl
import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor
interface SamTypeAliasConstructorDescriptor : SamConstructorDescriptor {
interface SamTypeAliasConstructorDescriptor : SamConstructorDescriptor, DeclarationDescriptorWithNavigationSubstitute {
val typeAliasDescriptor: TypeAliasDescriptor
override val substitute: DeclarationDescriptor
get() = typeAliasDescriptor
}
class SamTypeAliasConstructorDescriptorImpl(
override val typeAliasDescriptor: TypeAliasDescriptor,
private val samInterfaceConstructorDescriptor: SamConstructorDescriptor
override val typeAliasDescriptor: TypeAliasDescriptor,
private val samInterfaceConstructorDescriptor: SamConstructorDescriptor
) : SimpleFunctionDescriptorImpl(
typeAliasDescriptor.containingDeclaration,
null,