KT-13780 No completion and assertion error in log
#KT-13780 Fixed
This commit is contained in:
@@ -27,12 +27,10 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.resolve.DescriptorFactory
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.PropertyImportedFromObject
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.getSuperClassNotAny
|
||||
import org.jetbrains.kotlin.resolve.jvm.AsmTypes.*
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin
|
||||
@@ -224,7 +222,7 @@ class PropertyReferenceCodegen(
|
||||
@JvmStatic
|
||||
fun createFakeOpenDescriptor(getFunction: FunctionDescriptor, classDescriptor: ClassDescriptor): FunctionDescriptor {
|
||||
val copy = getFunction.original.copy(classDescriptor, Modality.OPEN, getFunction.visibility, getFunction.kind, false)
|
||||
return copy.substitute(ANY_SUBSTITUTOR)
|
||||
return copy.substitute(ANY_SUBSTITUTOR)!!
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
|
||||
+1
-1
@@ -364,7 +364,7 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l
|
||||
}
|
||||
val classParametersSubstitutor = TypeSubstitutor.create(substitutionMap)
|
||||
|
||||
descriptor.getMethod = getMethod.substitute(classParametersSubstitutor)
|
||||
descriptor.getMethod = getMethod.substitute(classParametersSubstitutor) ?: return null
|
||||
descriptor.setMethod = setMethod?.substitute(classParametersSubstitutor)
|
||||
return descriptor
|
||||
}
|
||||
|
||||
+1
-1
@@ -181,7 +181,7 @@ class SamAdapterFunctionsScope(
|
||||
TypeConstructorSubstitution.createByConstructorsMap(
|
||||
substitutionMap, configuration.substitution.approximateCapturedTypes()).buildSubstitutor()
|
||||
|
||||
descriptor.baseDescriptorForSynthetic = original.baseDescriptorForSynthetic.substitute(sourceFunctionSubstitutor)
|
||||
descriptor.baseDescriptorForSynthetic = original.baseDescriptorForSynthetic.substitute(sourceFunctionSubstitutor) ?: return null
|
||||
|
||||
return descriptor
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ class FunctionImportedFromObject(functionFromObject: FunctionDescriptor) :
|
||||
ImportedFromObjectCallableDescriptor<FunctionDescriptor>(functionFromObject) {
|
||||
override fun getDispatchReceiverParameter(): ReceiverParameterDescriptor? = null
|
||||
|
||||
override fun substitute(substitutor: TypeSubstitutor) = callableFromObject.substitute(substitutor).wrap()
|
||||
override fun substitute(substitutor: TypeSubstitutor) = callableFromObject.substitute(substitutor)?.wrap()
|
||||
|
||||
private val _original by lazy {
|
||||
functionFromObject.original.wrap()
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ fun createSynthesizedInvokes(functions: Collection<FunctionDescriptor>): Collect
|
||||
fakeOverride
|
||||
}
|
||||
|
||||
result.add(synthesized.substitute(TypeSubstitutor.create(invoke.getDispatchReceiverParameter()!!.type)))
|
||||
result.add(synthesized.substitute(TypeSubstitutor.create(invoke.getDispatchReceiverParameter()!!.type)) ?: continue)
|
||||
}
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user