From 989079e4fc54de36469f5d449c62acdb0d3b8a6e Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 1 Apr 2014 19:54:35 +0400 Subject: [PATCH] Properties from primary constructors added to getAllDescriptors() --- .../LazyScriptClassMemberScope.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptClassMemberScope.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptClassMemberScope.java index 5c6266e4c42..84401132d01 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptClassMemberScope.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyScriptClassMemberScope.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.lang.resolve.lazy.descriptors; +import kotlin.Function1; import kotlin.KotlinPackage; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -46,7 +47,22 @@ public class LazyScriptClassMemberScope extends LazyClassMemberScope { protected Collection computeExtraDescriptors() { return KotlinPackage.plus( super.computeExtraDescriptors(), - getProperties(Name.identifier(ScriptDescriptor.LAST_EXPRESSION_VALUE_FIELD_NAME)) + KotlinPackage.plus( + getProperties(Name.identifier(ScriptDescriptor.LAST_EXPRESSION_VALUE_FIELD_NAME)), + getPropertiesForScriptParameters() + ) + ); + } + + private Collection getPropertiesForScriptParameters() { + return KotlinPackage.flatMap( + getPrimaryConstructor().getValueParameters(), + new Function1>() { + @Override + public Iterable invoke(ValueParameterDescriptor descriptor) { + return getProperties(descriptor.getName()); + } + } ); }