Potential fix for KT-16673
See also: http://stackoverflow.com/questions/42571812/unsupportedoperationexception-while-building-a-kotlin-project-in-idea 'original' for SamAdapterFunctionScope.MyFunctionDescriptor#doSubstitute should exactly match 'this.original', so we can just provide it by default in SamAdapterFunctionScope.MyFunctionDescriptor#newCopyBuilder.
This commit is contained in:
committed by
Mikhail Zarechenskiy
parent
268f7b715c
commit
18fb70b32f
+4
-1
@@ -167,10 +167,13 @@ class SamAdapterFunctionsScope(
|
||||
}
|
||||
}
|
||||
|
||||
override fun newCopyBuilder(substitutor: TypeSubstitutor): CopyConfiguration =
|
||||
super.newCopyBuilder(substitutor).setOriginal(this.original)
|
||||
|
||||
override fun doSubstitute(configuration: CopyConfiguration): FunctionDescriptor? {
|
||||
val descriptor = super.doSubstitute(configuration) as MyFunctionDescriptor? ?: return null
|
||||
val original = configuration.original
|
||||
?: throw UnsupportedOperationException("doSubstitute with no original should not be called for synthetic extension")
|
||||
?: throw UnsupportedOperationException("doSubstitute with no original should not be called for synthetic extension $this")
|
||||
|
||||
original as MyFunctionDescriptor
|
||||
assert(original.original == original) { "original in doSubstitute should have no other original" }
|
||||
|
||||
Reference in New Issue
Block a user