From a29faf3f2d7a7d7f029b1a98542dbfe1124af3ad Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 7 Sep 2016 16:13:42 +0300 Subject: [PATCH] Minor. Rename MemberIndex -> DeclaredMemberIndex Also replace super-calls with explicit calls to declaredMemberIndex().getMethods --- ...{MemberIndex.kt => DeclaredMemberIndex.kt} | 24 +++++++++---------- .../descriptors/LazyJavaClassMemberScope.kt | 10 ++++---- .../lazy/descriptors/LazyJavaPackageScope.kt | 2 +- .../java/lazy/descriptors/LazyJavaScope.kt | 12 +++++----- .../descriptors/LazyJavaStaticClassScope.kt | 6 ++--- 5 files changed, 27 insertions(+), 27 deletions(-) rename core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/{MemberIndex.kt => DeclaredMemberIndex.kt} (74%) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/DeclaredMemberIndex.kt similarity index 74% rename from core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt rename to core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/DeclaredMemberIndex.kt index 3f079632132..398ef86e1df 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/MemberIndex.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/DeclaredMemberIndex.kt @@ -23,23 +23,23 @@ import org.jetbrains.kotlin.load.java.structure.JavaMember import org.jetbrains.kotlin.load.java.structure.JavaMethod import org.jetbrains.kotlin.name.Name -interface MemberIndex { +interface DeclaredMemberIndex { fun findMethodsByName(name: Name): Collection fun getMethodNames(): Set fun findFieldByName(name: Name): JavaField? - fun getAllFieldNames(): Set + fun getFieldNames(): Set + + object Empty : DeclaredMemberIndex { + override fun findMethodsByName(name: Name) = listOf() + override fun getMethodNames() = emptySet() + + override fun findFieldByName(name: Name): JavaField? = null + override fun getFieldNames() = emptySet() + } } -object EMPTY_MEMBER_INDEX : MemberIndex { - override fun findMethodsByName(name: Name) = listOf() - override fun getMethodNames() = emptySet() - - override fun findFieldByName(name: Name): JavaField? = null - override fun getAllFieldNames() = emptySet() -} - -open class ClassMemberIndex(val jClass: JavaClass, val memberFilter: (JavaMember) -> Boolean) : MemberIndex { +open class ClassDeclaredMemberIndex(val jClass: JavaClass, val memberFilter: (JavaMember) -> Boolean) : DeclaredMemberIndex { private val methodFilter = { m: JavaMethod -> memberFilter(m) && !DescriptorResolverUtils.isObjectMethodInInterface(m) @@ -52,6 +52,6 @@ open class ClassMemberIndex(val jClass: JavaClass, val memberFilter: (JavaMember override fun getMethodNames(): Set = jClass.methods.asSequence().filter(methodFilter).mapTo(mutableSetOf(), JavaMethod::name) override fun findFieldByName(name: Name): JavaField? = fields[name] - override fun getAllFieldNames(): Set = jClass.fields.asSequence().filter(memberFilter).mapTo(mutableSetOf(), JavaField::name) + override fun getFieldNames(): Set = jClass.fields.asSequence().filter(memberFilter).mapTo(mutableSetOf(), JavaField::name) } 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 16988e44e01..d759ac8dfdd 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 @@ -67,13 +67,13 @@ class LazyJavaClassMemberScope( private val jClass: JavaClass ) : LazyJavaScope(c) { - override fun computeMemberIndex() = ClassMemberIndex(jClass, { !it.isStatic }) + override fun computeMemberIndex() = ClassDeclaredMemberIndex(jClass, { !it.isStatic }) override fun computeFunctionNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?) = ownerDescriptor.typeConstructor.supertypes.flatMapTo(HashSet()) { it.memberScope.getFunctionNames() }.apply { - addAll(super.computeFunctionNames(kindFilter, null)) + addAll(declaredMemberIndex().getMethodNames()) addAll(computeClassNames(kindFilter, nameFilter)) } @@ -138,7 +138,7 @@ class LazyJavaClassMemberScope( } private fun searchMethodsByNameWithoutBuiltinMagic(name: Name): Collection = - memberIndex().findMethodsByName(name).map { resolveMethodToFunctionDescriptor(it) } + declaredMemberIndex().findMethodsByName(name).map { resolveMethodToFunctionDescriptor(it) } private fun searchMethodsInSupertypesWithoutBuiltinMagic(name: Name): Collection = getFunctionsFromSupertypes(name).filterNot { @@ -408,7 +408,7 @@ class LazyJavaClassMemberScope( } private fun computeAnnotationProperties(name: Name, result: MutableCollection) { - val method = memberIndex().findMethodsByName(name).singleOrNull() ?: return + val method = declaredMemberIndex().findMethodsByName(name).singleOrNull() ?: return result.add(createPropertyDescriptorWithDefaultGetter(method, modality = Modality.FINAL)) } @@ -667,7 +667,7 @@ class LazyJavaClassMemberScope( override fun computePropertyNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?): Set { if (jClass.isAnnotationType) return getFunctionNames() - val result = LinkedHashSet(memberIndex().getAllFieldNames()) + val result = LinkedHashSet(declaredMemberIndex().getFieldNames()) return ownerDescriptor.typeConstructor.supertypes.flatMapTo(result) { supertype -> supertype.memberScope.getVariableNames() } 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 ae45b189840..46a64d2ad3e 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 @@ -143,7 +143,7 @@ class LazyJavaPackageScope( override fun getContributedVariables(name: Name, location: LookupLocation): Collection = emptyList() - override fun computeMemberIndex(): MemberIndex = EMPTY_MEMBER_INDEX + override fun computeMemberIndex(): DeclaredMemberIndex = DeclaredMemberIndex.Empty override fun computeClassNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?): Set { // neither objects nor enum members can be in java package 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 046b0e34310..9401f64c289 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 @@ -63,9 +63,9 @@ abstract class LazyJavaScope(protected val c: LazyJavaResolverContext) : MemberS listOf() ) - protected val memberIndex: NotNullLazyValue = c.storageManager.createLazyValue { computeMemberIndex() } + protected val declaredMemberIndex: NotNullLazyValue = c.storageManager.createLazyValue { computeMemberIndex() } - protected abstract fun computeMemberIndex(): MemberIndex + protected abstract fun computeMemberIndex(): DeclaredMemberIndex // Fake overrides, SAM constructors/adapters, values()/valueOf(), etc. protected abstract fun computeNonDeclaredFunctions(result: MutableCollection, name: Name) @@ -76,7 +76,7 @@ abstract class LazyJavaScope(protected val c: LazyJavaResolverContext) : MemberS name -> val result = LinkedHashSet() - for (method in memberIndex().findMethodsByName(name)) { + for (method in declaredMemberIndex().findMethodsByName(name)) { val descriptor = resolveMethodToFunctionDescriptor(method) if (!descriptor.isVisibleAsFunction()) continue @@ -227,18 +227,18 @@ abstract class LazyJavaScope(protected val c: LazyJavaResolverContext) : MemberS } protected open fun computeFunctionNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?): Set = - memberIndex().getMethodNames() + declaredMemberIndex().getMethodNames() protected abstract fun computeNonDeclaredProperties(name: Name, result: MutableCollection) protected open fun computePropertyNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?): Set = - memberIndex().getAllFieldNames() + declaredMemberIndex().getFieldNames() private val properties = c.storageManager.createMemoizedFunction { name: Name -> val properties = ArrayList() - val field = memberIndex().findFieldByName(name) + val field = declaredMemberIndex().findFieldByName(name) if (field != null && !field.isEnumEntry) { properties.add(resolveProperty(field)) } 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 51d2eb268ea..4c7aa160c0f 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 @@ -40,10 +40,10 @@ class LazyJavaStaticClassScope( override val ownerDescriptor: LazyJavaClassDescriptor ) : LazyJavaStaticScope(c) { - override fun computeMemberIndex() = ClassMemberIndex(jClass) { it.isStatic } + override fun computeMemberIndex() = ClassDeclaredMemberIndex(jClass) { it.isStatic } override fun computeFunctionNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?) = - super.computeFunctionNames(kindFilter, nameFilter).toMutableSet().apply { + declaredMemberIndex().getMethodNames().toMutableSet().apply { addAll(ownerDescriptor.getParentJavaStaticClassScope()?.getFunctionNames().orEmpty()) if (jClass.isEnum) { addAll(listOf(DescriptorUtils.ENUM_VALUE_OF, DescriptorUtils.ENUM_VALUES)) @@ -52,7 +52,7 @@ class LazyJavaStaticClassScope( } override fun computePropertyNames(kindFilter: DescriptorKindFilter, nameFilter: ((Name) -> Boolean)?) = - super.computePropertyNames(kindFilter, nameFilter).toMutableSet().apply { + declaredMemberIndex().getFieldNames().toMutableSet().apply { flatMapJavaStaticSupertypesScopes(ownerDescriptor, this) { it.getVariableNames() } }