From d4c2a542eb477b1417bdda1b194a7032eaced09a Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Wed, 25 Dec 2013 17:37:42 +0400 Subject: [PATCH] fixed 'getSliceContents' do not throw an exception when some slices were overwritten --- .../jet/lang/resolve/DelegatingBindingTrace.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DelegatingBindingTrace.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DelegatingBindingTrace.java index 98dd107e8ee..4a12dbd5f72 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DelegatingBindingTrace.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DelegatingBindingTrace.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; @@ -62,9 +63,10 @@ public class DelegatingBindingTrace implements BindingTrace { @TestOnly @Override public ImmutableMap getSliceContents(@NotNull ReadOnlySlice slice) { - ImmutableMap parentContents = parentContext.getSliceContents(slice); - ImmutableMap currentContents = map.getSliceContents(slice); - return ImmutableMap.builder().putAll(parentContents).putAll(currentContents).build(); + Map result = Maps.newHashMap(); + result.putAll(parentContext.getSliceContents(slice)); + result.putAll(map.getSliceContents(slice)); + return ImmutableMap.copyOf(result); } };