diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index cb58d3df761..d11e2826d44 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -1085,7 +1085,7 @@ public class ExpressionCodegen extends KtVisitor impleme assert loopRangeType != null; Type asmLoopRangeType = asmType(loopRangeType); - Collection incrementProp = + Collection incrementProp = loopRangeType.getMemberScope().getProperties(Name.identifier("increment"), NoLookupLocation.FROM_BACKEND); assert incrementProp.size() == 1 : loopRangeType + " " + incrementProp.size(); incrementType = asmType(incrementProp.iterator().next().getType()); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt index ec3f3d210fc..dd4d3e00e62 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/dynamicCalls.kt @@ -78,7 +78,7 @@ class DynamicCallableDescriptors(private val builtIns: KotlinBuiltIns) { return false } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { return if (call.getValueArgumentList() == null && call.getValueArguments().isEmpty()) { listOf(createDynamicProperty(owner, name, call)) } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt index 1e2868d44fe..079a3eb48e5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/AbstractLazyMemberScope.kt @@ -17,10 +17,7 @@ package org.jetbrains.kotlin.resolve.lazy.descriptors import com.google.common.collect.Sets -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.descriptors.FunctionDescriptor -import org.jetbrains.kotlin.descriptors.VariableDescriptor +import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.incremental.record import org.jetbrains.kotlin.name.Name @@ -51,7 +48,7 @@ protected constructor( protected val storageManager: StorageManager = c.storageManager private val classDescriptors: MemoizedFunctionToNotNull> = storageManager.createMemoizedFunction { resolveClassDescriptor(it) } private val functionDescriptors: MemoizedFunctionToNotNull> = storageManager.createMemoizedFunction { doGetFunctions(it) } - private val propertyDescriptors: MemoizedFunctionToNotNull> = storageManager.createMemoizedFunction { doGetProperties(it) } + private val propertyDescriptors: MemoizedFunctionToNotNull> = storageManager.createMemoizedFunction { doGetProperties(it) } private fun resolveClassDescriptor(name: Name): List { return declarationProvider.getClassOrObjectDeclarations(name).map { @@ -97,13 +94,13 @@ protected constructor( protected abstract fun getNonDeclaredFunctions(name: Name, result: MutableSet) - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { recordLookup(name, location) return propertyDescriptors(name) } - public fun doGetProperties(name: Name): Collection { - val result = LinkedHashSet() + public fun doGetProperties(name: Name): Collection { + val result = LinkedHashSet() val declarations = declarationProvider.getPropertyDeclarations(name) for (propertyDeclaration in declarations) { @@ -122,7 +119,7 @@ protected constructor( return result.toReadOnlyList() } - protected abstract fun getNonDeclaredProperties(name: Name, result: MutableSet) + protected abstract fun getNonDeclaredProperties(name: Name, result: MutableSet) protected fun computeDescriptorsFromDeclaredElements( kindFilter: DescriptorKindFilter, diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt index 79908ea75dc..d938fa5053e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassMemberScope.kt @@ -152,7 +152,7 @@ public open class LazyClassMemberScope( val properties = getProperties(parameter.name, location) if (properties.isEmpty()) continue - val property = properties.iterator().next() as PropertyDescriptor + val property = properties.iterator().next() ++componentIndex @@ -175,7 +175,7 @@ public open class LazyClassMemberScope( } } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { // TODO: this should be handled by lazy property descriptors val properties = super.getProperties(name, location) resolveUnknownVisibilitiesForMembers(properties as Collection) @@ -191,20 +191,19 @@ public open class LazyClassMemberScope( } } - @Suppress("UNCHECKED_CAST") - protected override fun getNonDeclaredProperties(name: Name, result: MutableSet) { + protected override fun getNonDeclaredProperties(name: Name, result: MutableSet) { createPropertiesFromPrimaryConstructorParameters(name, result) // Members from supertypes val fromSupertypes = ArrayList() for (supertype in thisDescriptor.typeConstructor.supertypes) { - fromSupertypes.addAll(supertype.memberScope.getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED) as Collection) + fromSupertypes.addAll(supertype.memberScope.getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED)) } result.addAll(generateDelegatingDescriptors(name, EXTRACT_PROPERTIES, result)) - generateFakeOverrides(name, fromSupertypes, result as MutableCollection, javaClass()) + generateFakeOverrides(name, fromSupertypes, result, javaClass()) } - protected open fun createPropertiesFromPrimaryConstructorParameters(name: Name, result: MutableSet) { + protected open fun createPropertiesFromPrimaryConstructorParameters(name: Name, result: MutableSet) { val classInfo = declarationProvider.getOwnerInfo() // From primary constructor parameters @@ -322,8 +321,7 @@ public open class LazyClassMemberScope( private val EXTRACT_PROPERTIES: MemberExtractor = object : MemberExtractor { override fun extract(extractFrom: KotlinType, name: Name): Collection { - @Suppress("UNCHECKED_CAST") - return extractFrom.memberScope.getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED) as Collection + return extractFrom.memberScope.getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED) } } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt index 447a00617c7..83da6cda2eb 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyPackageMemberScope.kt @@ -43,7 +43,7 @@ public class LazyPackageMemberScope( // No extra functions } - override fun getNonDeclaredProperties(name: Name, result: MutableSet) { + override fun getNonDeclaredProperties(name: Name, result: MutableSet) { // No extra properties } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyScriptClassMemberScope.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyScriptClassMemberScope.kt index 89ae34ec6df..ec82c12e7c5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyScriptClassMemberScope.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyScriptClassMemberScope.kt @@ -50,7 +50,7 @@ public class LazyScriptClassMemberScope protected constructor( private fun getPropertiesForScriptParameters() = getPrimaryConstructor()!!.valueParameters.flatMap { getProperties(it.name, NoLookupLocation.FOR_SCRIPT) } - override fun getNonDeclaredProperties(name: Name, result: MutableSet) { + override fun getNonDeclaredProperties(name: Name, result: MutableSet) { super.getNonDeclaredProperties(name, result) if (name.asString() == ScriptDescriptor.LAST_EXPRESSION_VALUE_FIELD_NAME) { @@ -60,7 +60,7 @@ public class LazyScriptClassMemberScope protected constructor( public fun getScriptResultProperty(): PropertyDescriptor = scriptResultProperty() - override fun createPropertiesFromPrimaryConstructorParameters(name: Name, result: MutableSet) { + override fun createPropertiesFromPrimaryConstructorParameters(name: Name, result: MutableSet) { val scriptInfo = declarationProvider.getOwnerInfo() as JetScriptInfo // From primary constructor parameters diff --git a/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java b/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java index 7cc859a9724..501161f33bd 100644 --- a/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java +++ b/compiler/tests/org/jetbrains/kotlin/resolve/annotation/AbstractAnnotationDescriptorResolveTest.java @@ -186,11 +186,11 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite protected static PropertyDescriptor getPropertyDescriptor(@NotNull PackageFragmentDescriptor packageView, @NotNull String name, boolean failOnMissing) { Name propertyName = Name.identifier(name); KtScope memberScope = packageView.getMemberScope(); - Collection properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST); + Collection properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST); if (properties.isEmpty()) { for (DeclarationDescriptor descriptor : memberScope.getAllDescriptors()) { if (descriptor instanceof ClassDescriptor) { - Collection classProperties = + Collection classProperties = ((ClassDescriptor) descriptor).getMemberScope(Collections.emptyList()) .getProperties(propertyName, NoLookupLocation.FROM_TEST); if (!classProperties.isEmpty()) { @@ -206,16 +206,16 @@ public abstract class AbstractAnnotationDescriptorResolveTest extends KotlinLite else if (properties.size() != 1) { return null; } - return (PropertyDescriptor) properties.iterator().next(); + return properties.iterator().next(); } @NotNull private static PropertyDescriptor getPropertyDescriptor(@NotNull ClassDescriptor classDescriptor, @NotNull String name) { Name propertyName = Name.identifier(name); KtScope memberScope = classDescriptor.getMemberScope(Collections.emptyList()); - Collection properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST); + Collection properties = memberScope.getProperties(propertyName, NoLookupLocation.FROM_TEST); assert properties.size() == 1 : "Failed to find property " + propertyName + " in class " + classDescriptor.getName(); - return (PropertyDescriptor) properties.iterator().next(); + return properties.iterator().next(); } @NotNull diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt index 9cc3cfc0e74..968a33c8dba 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -414,7 +414,7 @@ public class LazyJavaClassMemberScope( private fun getPropertiesFromSupertypes(name: Name): Set { return getContainingDeclaration().typeConstructor.supertypes.flatMap { - it.memberScope.getProperties(name, NoLookupLocation.WHEN_GET_SUPER_MEMBERS).map { p -> p as PropertyDescriptor } + it.memberScope.getProperties(name, NoLookupLocation.WHEN_GET_SUPER_MEMBERS).map { p -> p } }.toSet() } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt index aac31bde1d5..0afb0fd0edb 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaPackageScope.kt @@ -106,10 +106,11 @@ public class LazyJavaPackageScope( return classes(name) } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { recordLookup(name, location) return deserializedPackageScope().getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED) } + override fun getFunctions(name: Name, location: LookupLocation): List { recordLookup(name, location) return deserializedPackageScope().getFunctions(name, NoLookupLocation.FOR_ALREADY_TRACKED) + super.getFunctions(name, NoLookupLocation.FOR_ALREADY_TRACKED) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaScope.kt index 6bfc2db4850..cb8fd2f0ec8 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaScope.kt @@ -298,7 +298,7 @@ public abstract class LazyJavaScope( return propertyType } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { recordLookup(name, location) return properties(name) } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt index bdc5a8c3d65..fbb788c3fd9 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaStaticClassScope.kt @@ -122,7 +122,7 @@ public class LazyJavaStaticClassScope( if (staticScope !is LazyJavaStaticClassScope) return getStaticPropertiesFromJavaSupertypes(name, superTypeDescriptor) - return staticScope.getProperties(name, NoLookupLocation.WHEN_GET_SUPER_MEMBERS).map { it as PropertyDescriptor } + return staticScope.getProperties(name, NoLookupLocation.WHEN_GET_SUPER_MEMBERS).map { it } } return descriptor.typeConstructor.supertypes.flatMap(::getStaticProperties).toSet() diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt index 00e82bf42ae..f7a70a41796 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/functions/FunctionClassScope.kt @@ -52,7 +52,7 @@ class FunctionClassScope( return allDescriptors().filterIsInstance().filter { it.getName() == name } } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { return allDescriptors().filterIsInstance().filter { it.getName() == name } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java index 58d2601d541..e976ffba259 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/EnumEntrySyntheticClassDescriptor.java @@ -201,9 +201,8 @@ public class EnumEntrySyntheticClassDescriptor extends ClassDescriptorBase { @NotNull @Override - @SuppressWarnings("unchecked") - public Collection getProperties(@NotNull Name name, @NotNull LookupLocation location) { - return (Collection) properties.invoke(name); + public Collection getProperties(@NotNull Name name, @NotNull LookupLocation location) { + return properties.invoke(name); } @NotNull diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt index c9c14a05b51..d861be2136f 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/AbstractScopeAdapter.kt @@ -45,7 +45,7 @@ public abstract class AbstractScopeAdapter : KtScope { return workerScope.getClassifier(name, location) } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { return workerScope.getProperties(name, location) } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt index 6c8e2f83ea5..0d7d8ab61d7 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/ChainedScope.kt @@ -36,7 +36,7 @@ public open class ChainedScope( override fun getPackage(name: Name): PackageViewDescriptor? = getFirstMatch(scopeChain) { it.getPackage(name) } - override fun getProperties(name: Name, location: LookupLocation): Collection + override fun getProperties(name: Name, location: LookupLocation): Collection = getFromAllScopes(scopeChain) { it.getProperties(name, location) } override fun getFunctions(name: Name, location: LookupLocation): Collection diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScope.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScope.kt index c67f88c5e50..9d917954074 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScope.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScope.kt @@ -30,7 +30,7 @@ public interface KtScope { @Deprecated("Should be removed soon") public fun getPackage(name: Name): PackageViewDescriptor? - public fun getProperties(name: Name, location: LookupLocation): Collection + public fun getProperties(name: Name, location: LookupLocation): Collection public fun getFunctions(name: Name, location: LookupLocation): Collection diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt index b8a366a50b1..4aaf7749b88 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/scopes/KtScopeImpl.kt @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.utils.Printer abstract class KtScopeImpl : KtScope { override fun getClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? = null - override fun getProperties(name: Name, location: LookupLocation): Collection = emptyList() + override fun getProperties(name: Name, location: LookupLocation): Collection = emptyList() override fun getPackage(name: Name): PackageViewDescriptor? = null diff --git a/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java index 9eda07eefd8..b5739b3a21e 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/types/ErrorUtils.java @@ -175,8 +175,8 @@ public class ErrorUtils { @NotNull @Override - public Set getProperties(@NotNull Name name, @NotNull LookupLocation location) { - return ERROR_VARIABLE_GROUP; + public Set getProperties(@NotNull Name name, @NotNull LookupLocation location) { + return ERROR_PROPERTY_GROUP; } @Override @@ -248,7 +248,7 @@ public class ErrorUtils { @NotNull @Override - public Collection getProperties(@NotNull Name name, @NotNull LookupLocation location) { + public Collection getProperties(@NotNull Name name, @NotNull LookupLocation location) { throw new IllegalStateException(); } @@ -361,7 +361,7 @@ public class ErrorUtils { private static final KotlinType ERROR_PROPERTY_TYPE = createErrorType(""); private static final PropertyDescriptor ERROR_PROPERTY = createErrorProperty(); - private static final Set ERROR_VARIABLE_GROUP = Collections.singleton(ERROR_PROPERTY); + private static final Set ERROR_PROPERTY_GROUP = Collections.singleton(ERROR_PROPERTY); @NotNull private static PropertyDescriptorImpl createErrorProperty() { diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt index b9bab399fd5..3537640c0c6 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt @@ -206,8 +206,7 @@ public class DeserializedClassDescriptor( override fun computeNonDeclaredProperties(name: Name, descriptors: MutableCollection) { val fromSupertypes = ArrayList() for (supertype in classDescriptor.getTypeConstructor().supertypes) { - @Suppress("UNCHECKED_CAST") - fromSupertypes.addAll(supertype.memberScope.getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED) as Collection) + fromSupertypes.addAll(supertype.memberScope.getProperties(name, NoLookupLocation.FOR_ALREADY_TRACKED)) } generateFakeOverrides(name, fromSupertypes, descriptors) } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt index 85fdf9568c0..54eebcc5447 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedMemberScope.kt @@ -50,7 +50,7 @@ public abstract class DeserializedMemberScope protected constructor( private val functions = c.storageManager.createMemoizedFunction> { computeFunctions(it) } private val properties = - c.storageManager.createMemoizedFunction> { computeProperties(it) } + c.storageManager.createMemoizedFunction> { computeProperties(it) } protected open fun filteredFunctionProtos(protos: Collection): Collection = protos @@ -87,7 +87,7 @@ public abstract class DeserializedMemberScope protected constructor( return functions(name) } - private fun computeProperties(name: Name): Collection { + private fun computeProperties(name: Name): Collection { val protos = propertyProtos()[ProtoKey(name, isExtension = false)].orEmpty() + propertyProtos()[ProtoKey(name, isExtension = true)].orEmpty() @@ -102,7 +102,7 @@ public abstract class DeserializedMemberScope protected constructor( protected open fun computeNonDeclaredProperties(name: Name, descriptors: MutableCollection) { } - override fun getProperties(name: Name, location: LookupLocation): Collection { + override fun getProperties(name: Name, location: LookupLocation): Collection { recordLookup(name, location) return properties.invoke(name) }