K1:report warning on OptIn usages inside SAM constructor #KT-47708 Fixed
This commit is contained in:
@@ -13,7 +13,9 @@ import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl
|
||||
import org.jetbrains.kotlin.descriptors.synthetic.FunctionInterfaceConstructorDescriptor
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindExclude
|
||||
|
||||
interface SamConstructorDescriptor : SimpleFunctionDescriptor, FunctionInterfaceConstructorDescriptor
|
||||
interface SamConstructorDescriptor : SimpleFunctionDescriptor, FunctionInterfaceConstructorDescriptor {
|
||||
fun getSingleAbstractMethod(): CallableMemberDescriptor
|
||||
}
|
||||
|
||||
class SamConstructorDescriptorImpl(
|
||||
containingDeclaration: DeclarationDescriptor,
|
||||
@@ -28,6 +30,9 @@ class SamConstructorDescriptorImpl(
|
||||
), SamConstructorDescriptor {
|
||||
override val baseDescriptorForSynthetic: ClassDescriptor
|
||||
get() = samInterface
|
||||
|
||||
override fun getSingleAbstractMethod(): CallableMemberDescriptor =
|
||||
getAbstractMembers(samInterface).single()
|
||||
}
|
||||
|
||||
object SamConstructorDescriptorKindExclude : DescriptorKindExclude() {
|
||||
|
||||
+3
@@ -27,6 +27,9 @@ class SamTypeAliasConstructorDescriptorImpl(
|
||||
CallableMemberDescriptor.Kind.SYNTHESIZED,
|
||||
typeAliasDescriptor.source
|
||||
), SamTypeAliasConstructorDescriptor {
|
||||
override fun getSingleAbstractMethod(): CallableMemberDescriptor =
|
||||
expandedConstructorDescriptor.getSingleAbstractMethod()
|
||||
|
||||
override val baseDescriptorForSynthetic: ClassDescriptor
|
||||
get() = expandedConstructorDescriptor.baseDescriptorForSynthetic
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user