From a4ffb7c9d948ff17b5589161a5d317719dab0c11 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 26 Jun 2012 18:07:25 +0200 Subject: [PATCH] Fix processing of primary constructor parameters to match existing test data --- ...ractLazyResolveDescriptorRendererTest.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java index 0c18ecb93f3..42ed4a2e5cd 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java @@ -81,17 +81,27 @@ public class AbstractLazyResolveDescriptorRendererTest extends AbstractLazyResol if (declaringElement instanceof JetNamedFunction) { JetNamedFunction jetNamedFunction = (JetNamedFunction) declaringElement; FunctionDescriptor functionDescriptor = (FunctionDescriptor) resolveSession.resolveToDescriptor(jetNamedFunction); - for (ValueParameterDescriptor valueParameterDescriptor : functionDescriptor.getValueParameters()) { - if (valueParameterDescriptor.getName().equals(parameter.getNameAsName())) { - descriptors.add(valueParameterDescriptor); - } - } + addCorrespondingParameterDescriptor(functionDescriptor, parameter); + } + else if (declaringElement instanceof JetClass) { + // Primary constructor parameter + JetClass jetClass = (JetClass) declaringElement; + ClassDescriptor classDescriptor = resolveSession.getClassDescriptor(jetClass); + addCorrespondingParameterDescriptor(classDescriptor.getConstructors().iterator().next(), parameter); } else { super.visitParameter(parameter); } } + private void addCorrespondingParameterDescriptor(FunctionDescriptor functionDescriptor, JetParameter parameter) { + for (ValueParameterDescriptor valueParameterDescriptor : functionDescriptor.getValueParameters()) { + if (valueParameterDescriptor.getName().equals(parameter.getNameAsName())) { + descriptors.add(valueParameterDescriptor); + } + } + } + @Override public void visitPropertyAccessor(JetPropertyAccessor accessor) { JetProperty parent = (JetProperty) accessor.getParent();