From a3055edda9defc8fd19d8789747bb755f9ebbf10 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 27 Apr 2016 19:12:52 +0300 Subject: [PATCH] Minor, move SpecialNames.isSafeIdentifier check a little earlier --- .../load/java/lazy/descriptors/JvmPackageScope.kt | 3 +++ .../java/lazy/descriptors/LazyJavaPackageScope.kt | 13 +++++-------- .../descriptors/DeserializedPackageMemberScope.kt | 4 +--- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/JvmPackageScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/JvmPackageScope.kt index 9c1405f4998..9b7014fab38 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/JvmPackageScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/JvmPackageScope.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.incremental.record import org.jetbrains.kotlin.load.java.lazy.LazyJavaResolverContext import org.jetbrains.kotlin.load.java.structure.JavaPackage import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.MemberScope import org.jetbrains.kotlin.storage.getValue @@ -47,6 +48,8 @@ class JvmPackageScope( } override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? { + if (!SpecialNames.isSafeIdentifier(name)) return null + recordLookup(location, name) val javaClassifier = javaScope.getContributedClassifier(name, location) 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 33604b7254d..2dda9d0cbb7 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 @@ -30,7 +30,6 @@ import org.jetbrains.kotlin.load.kotlin.KotlinJvmBinaryClass import org.jetbrains.kotlin.load.kotlin.header.KotlinClassHeader import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.storage.NullableLazyValue @@ -103,19 +102,17 @@ class LazyJavaPackageScope( override fun hashCode() = name.hashCode() } - override fun getContributedClassifier(name: Name, location: LookupLocation) = findClassifier(name, null) - - private fun findClassifier(name: Name, javaClass: JavaClass?): ClassDescriptor? { - if (!SpecialNames.isSafeIdentifier(name)) return null - + override fun getContributedClassifier(name: Name, location: LookupLocation): ClassDescriptor? { val knownClassNamesInPackage = knownClassNamesInPackage() - if (javaClass == null && knownClassNamesInPackage != null && name.asString() !in knownClassNamesInPackage) { + if (knownClassNamesInPackage != null && name.asString() !in knownClassNamesInPackage) { return null } - return classes(FindClassRequest(name, javaClass)) + return findClassifier(name, null) } + private fun findClassifier(name: Name, javaClass: JavaClass?): ClassDescriptor? = classes(FindClassRequest(name, javaClass)) + internal fun findClassifierByJavaClass(javaClass: JavaClass) = findClassifier(javaClass.name, javaClass) override fun getContributedVariables(name: Name, location: LookupLocation): Collection = emptyList() diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedPackageMemberScope.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedPackageMemberScope.kt index 4862edee607..4de50db2e38 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedPackageMemberScope.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedPackageMemberScope.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.incremental.components.LookupLocation import org.jetbrains.kotlin.incremental.components.NoLookupLocation import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents @@ -49,8 +48,7 @@ open class DeserializedPackageMemberScope( = computeDescriptors(kindFilter, nameFilter, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS) override fun getContributedClassifier(name: Name, location: LookupLocation): ClassifierDescriptor? { - if (SpecialNames.isSafeIdentifier(name) && - (name in classNames || c.components.fictitiousClassDescriptorFactory.shouldCreateClass(packageFqName, name))) { + if (name in classNames || c.components.fictitiousClassDescriptorFactory.shouldCreateClass(packageFqName, name)) { return getClassDescriptor(name) } return null