From cbb24a7d4ef8fe82a34e9c136c6dbac0483dd2e5 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 21 Mar 2014 15:40:33 +0400 Subject: [PATCH] Multiple rewrites to the same key in a map replaced by one write --- .../org/jetbrains/jet/lang/resolve/AnnotationResolver.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/AnnotationResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/AnnotationResolver.java index 61cf6289dbb..bc9869c5ef3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/AnnotationResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/AnnotationResolver.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve; import com.google.common.collect.Lists; import com.intellij.openapi.util.Pair; +import kotlin.KotlinPackage; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; @@ -234,8 +235,9 @@ public class AnnotationResolver { annotationDescriptor.setValueArgument(parameterDescriptor, new ArrayValue(constants, arrayType, true)); } else { - for (CompileTimeConstant constant : constants) { - annotationDescriptor.setValueArgument(parameterDescriptor, constant); + // we should actually get only one element, but just in case of getting many, we take the last one + if (!constants.isEmpty()) { + annotationDescriptor.setValueArgument(parameterDescriptor, KotlinPackage.last(constants)); } } }