Add 'rv' property to getAllDescriptors() in script classes

This commit is contained in:
Andrey Breslav
2014-04-01 19:49:51 +04:00
parent 363fdf4045
commit 9f70364aff
@@ -16,6 +16,7 @@
package org.jetbrains.jet.lang.resolve.lazy.descriptors;
import kotlin.KotlinPackage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.*;
@@ -26,6 +27,7 @@ import org.jetbrains.jet.lang.resolve.lazy.data.JetScriptInfo;
import org.jetbrains.jet.lang.resolve.lazy.declarations.ClassMemberDeclarationProvider;
import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.Collection;
import java.util.Set;
// SCRIPT: Members of a script class
@@ -39,6 +41,15 @@ public class LazyScriptClassMemberScope extends LazyClassMemberScope {
super(resolveSession, declarationProvider, thisClass, trace);
}
@NotNull
@Override
protected Collection<DeclarationDescriptor> computeExtraDescriptors() {
return KotlinPackage.plus(
super.computeExtraDescriptors(),
getProperties(Name.identifier(ScriptDescriptor.LAST_EXPRESSION_VALUE_FIELD_NAME))
);
}
@Override
protected void getNonDeclaredProperties(@NotNull Name name, @NotNull Set<VariableDescriptor> result) {
super.getNonDeclaredProperties(name, result);