From 1cc7f19d109bb8fa561880abc32e8d9230c1f736 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Fri, 16 Sep 2016 18:43:56 +0300 Subject: [PATCH] Fix AnnotationDescriptorResolver tests Do not run annotation resolver tests on lambda parameters, mostly because it's impossible to annotate them by now (see KT-13900 and `val functionLiteral` in compiler/testData/resolveAnnotations/testFile.kt) It was working before only because lambda parameter hadn't been parsed at all, while after introduction of destructuring in lambda parameters it gets parsed normally #KT-13900 Submitted --- .../AbstractAnnotationDescriptorResolveTest.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/tests-common/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java b/compiler/tests-common/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java index 1c9e41b1245..d3d18c52928 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java +++ b/compiler/tests-common/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget; import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget; import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor; +import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl; import org.jetbrains.kotlin.incremental.components.NoLookupLocation; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.Name; @@ -103,7 +104,11 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinTest SimpleFunctionDescriptor anonymousFun = getAnonymousFunDescriptor(); if (anonymousFun instanceof AnonymousFunctionDescriptor) { for (ValueParameterDescriptor descriptor : anonymousFun.getValueParameters()) { - checkDescriptor(expectedAnnotation, descriptor); + List destructuringVariables = ValueParameterDescriptorImpl.getDestructuringVariablesOrNull(descriptor); + if (destructuringVariables == null) continue; + for (VariableDescriptor entry : destructuringVariables) { + checkDescriptor(expectedAnnotation, entry); + } } }