Do not initialize SimpleFunctionDescriptorImpl::userDataMap if it's empty

This commit is contained in:
Denis Zharkov
2018-07-20 17:51:49 +03:00
parent e6850bf007
commit 2fd9b3ee35
2 changed files with 4 additions and 1 deletions
@@ -824,6 +824,9 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo
// Don't use on published descriptors
public <V> void putInUserDataMap(UserDataKey<V> key, Object value) {
if (userDataMap == null) {
userDataMap = new LinkedHashMap<UserDataKey<?>, Object>();
}
userDataMap.put(key, value);
}
}
@@ -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<UserDataKey<?>, Object>(userData);
}