Minor. Pull user-data related things to CallableDescriptor

Currently, we assume user data for all non-FunctionDescriptor
declarations is empty
This commit is contained in:
Denis Zharkov
2018-08-30 12:47:42 +03:00
parent c1cc722ac4
commit 9cb8a35275
19 changed files with 52 additions and 25 deletions
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.contracts
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.contracts.description.*
import org.jetbrains.kotlin.contracts.description.expressions.*
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.metadata.ProtoBuf
import org.jetbrains.kotlin.metadata.deserialization.Flags
@@ -36,7 +37,7 @@ class ContractDeserializerImpl(private val configuration: DeserializationConfigu
ownerFunction: FunctionDescriptor,
typeTable: TypeTable,
typeDeserializer: TypeDeserializer
): Pair<FunctionDescriptor.UserDataKey<*>, LazyContractProvider>? {
): Pair<CallableDescriptor.UserDataKey<*>, LazyContractProvider>? {
if (!proto.hasContract()) return null
if (!configuration.readDeserializedContracts) return null
@@ -204,7 +204,7 @@ class FunctionDescriptorResolver(
)
val contractProvider = getContractProvider(functionDescriptor, trace, scope, dataFlowInfo, function)
val userData = mutableMapOf<FunctionDescriptor.UserDataKey<*>, Any>().apply {
val userData = mutableMapOf<CallableDescriptor.UserDataKey<*>, Any>().apply {
if (contractProvider != null) {
put(ContractProviderKey, contractProvider)
}
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.resolve.calls
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.safeAs
object DslMarkerUtils {
object FunctionTypeAnnotationsKey : FunctionDescriptor.UserDataKey<Annotations>
object FunctionTypeAnnotationsKey : CallableDescriptor.UserDataKey<Annotations>
data class DslMarkersFromReceiver(
val common: Set<FqName>,