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 // Don't use on published descriptors
public <V> void putInUserDataMap(UserDataKey<V> key, Object value) { public <V> void putInUserDataMap(UserDataKey<V> key, Object value) {
if (userDataMap == null) {
userDataMap = new LinkedHashMap<UserDataKey<?>, Object>();
}
userDataMap.put(key, value); userDataMap.put(key, value);
} }
} }
@@ -79,7 +79,7 @@ public class SimpleFunctionDescriptorImpl extends FunctionDescriptorImpl impleme
super.initialize(receiverParameterType, dispatchReceiverParameter, typeParameters, unsubstitutedValueParameters, super.initialize(receiverParameterType, dispatchReceiverParameter, typeParameters, unsubstitutedValueParameters,
unsubstitutedReturnType, modality, visibility); unsubstitutedReturnType, modality, visibility);
if (userData != null) { if (userData != null && !userData.isEmpty()) {
userDataMap = new LinkedHashMap<UserDataKey<?>, Object>(userData); userDataMap = new LinkedHashMap<UserDataKey<?>, Object>(userData);
} }