diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java index c0218396d0f..99ca42928dc 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java @@ -824,6 +824,9 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo // Don't use on published descriptors public void putInUserDataMap(UserDataKey key, Object value) { + if (userDataMap == null) { + userDataMap = new LinkedHashMap, Object>(); + } userDataMap.put(key, value); } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SimpleFunctionDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SimpleFunctionDescriptorImpl.java index 481c93b6390..0a572e7cf8a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SimpleFunctionDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/SimpleFunctionDescriptorImpl.java @@ -79,7 +79,7 @@ public class SimpleFunctionDescriptorImpl extends FunctionDescriptorImpl impleme super.initialize(receiverParameterType, dispatchReceiverParameter, typeParameters, unsubstitutedValueParameters, unsubstitutedReturnType, modality, visibility); - if (userData != null) { + if (userData != null && !userData.isEmpty()) { userDataMap = new LinkedHashMap, Object>(userData); }