diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java index a5287ef8b71..8e90c347b86 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java @@ -34,7 +34,6 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer; import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.BindingTrace; import org.jetbrains.kotlin.resolve.DescriptorUtils; -import org.jetbrains.kotlin.resolve.ResolvePackage; import org.jetbrains.kotlin.resolve.jvm.kotlinSignature.TypeTransformingVisitor; import org.jetbrains.kotlin.resolve.scopes.JetScope; @@ -42,6 +41,8 @@ import java.io.IOException; import java.util.List; import java.util.Map; +import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.resolveTopLevelClass; + public abstract class AbstractSdkAnnotationsValidityTest extends UsefulTestCase { private static final int CLASSES_IN_CHUNK = 100; @@ -83,7 +84,7 @@ public abstract class AbstractSdkAnnotationsValidityTest extends UsefulTestCase int chunkStart = chunkIndex * CLASSES_IN_CHUNK; for (FqName javaClass : affectedClasses.subList(chunkStart, Math.min(chunkStart + CLASSES_IN_CHUNK, affectedClasses.size()))) { - ClassDescriptor topLevelClass = ResolvePackage.resolveTopLevelClass(injector.getModule(), javaClass); + ClassDescriptor topLevelClass = resolveTopLevelClass(injector.getModule(), javaClass); PackageViewDescriptor topLevelPackage = injector.getModule().getPackage(javaClass); if (topLevelClass == null) { continue; diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java index 0b0846777b4..8d41a96d2e7 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java @@ -35,7 +35,6 @@ import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolver; import org.jetbrains.kotlin.di.InjectorForJavaDescriptorResolverUtil; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.resolve.BindingTraceContext; -import org.jetbrains.kotlin.resolve.ResolvePackage; import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.JetTestUtils; import org.jetbrains.kotlin.test.TestJdkKind; @@ -47,6 +46,8 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; +import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.resolveTopLevelClass; + public class ResolveDescriptorsFromExternalLibraries { public static void main(String[] args) throws Exception { boolean hasErrors = run(); @@ -212,7 +213,7 @@ public class ResolveDescriptorsFromExternalLibraries { String className = entryName.substring(0, entryName.length() - ".class".length()).replace("/", "."); try { - ClassDescriptor clazz = ResolvePackage.resolveTopLevelClass(moduleDescriptor, new FqName(className)); + ClassDescriptor clazz = resolveTopLevelClass(moduleDescriptor, new FqName(className)); if (clazz == null) { throw new IllegalStateException("class not found by name " + className + " in " + libDescription); } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt index 7dcbb7ce200..d3f4f9b5f69 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaAnnotationDescriptor.kt @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.utils.keysToMapExceptNulls import org.jetbrains.kotlin.load.java.lazy.types.toAttributes import org.jetbrains.kotlin.renderer.DescriptorRenderer import org.jetbrains.kotlin.platform.JavaToKotlinClassMap -import org.jetbrains.kotlin.resolve.resolveTopLevelClass +import org.jetbrains.kotlin.resolve.descriptorUtil.resolveTopLevelClass import org.jetbrains.kotlin.load.kotlin.DeserializedResolverUtils.kotlinFqNameToJavaFqName import org.jetbrains.kotlin.resolve.jvm.PLATFORM_TYPES diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt index ad0688c4bd6..3c1bdb6b371 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.resolve.descriptorUtil import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.descriptors.ClassKind.* +import org.jetbrains.kotlin.name.FqName public fun ClassDescriptor.getClassObjectReferenceTarget(): ClassDescriptor { val classObjectDescriptor = getClassObjectDescriptor() @@ -35,3 +36,9 @@ public val DeclarationDescriptor.isExtension: Boolean public val DeclarationDescriptor.module: ModuleDescriptor get() = DescriptorUtils.getContainingModule(this) + +public fun ModuleDescriptor.resolveTopLevelClass(topLevelClassFqName: FqName): ClassDescriptor? { + assert(!topLevelClassFqName.isRoot()) + return getPackage(topLevelClassFqName.parent())?.getMemberScope() + ?.getClassifier(topLevelClassFqName.shortName()) as? ClassDescriptor +} \ No newline at end of file diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/resolveByModule.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/resolveByModule.kt deleted file mode 100644 index 5bccc4f093a..00000000000 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/resolveByModule.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2010-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.resolve - -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.descriptors.ClassDescriptor - -public fun ModuleDescriptor.resolveTopLevelClass(topLevelClassFqName: FqName): ClassDescriptor? { - assert(!topLevelClassFqName.isRoot()) - return getPackage(topLevelClassFqName.parent())?.getMemberScope() - ?.getClassifier(topLevelClassFqName.shortName()) as? ClassDescriptor -} diff --git a/idea/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt b/idea/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt index dc118d9ee18..67ce2c39b78 100644 --- a/idea/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt +++ b/idea/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt @@ -56,7 +56,7 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.jvm.types.KotlinToJavaTypesMap import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.resolve.resolveTopLevelClass +import org.jetbrains.kotlin.resolve.descriptorUtil.resolveTopLevelClass import org.jetbrains.kotlin.types.TypeProjectionImpl import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.psi.JetDeclaration diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt index 9031238a778..33fa2a0e3a4 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/textBuilder/DecompiledTextConsistencyTest.kt @@ -26,7 +26,7 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.resolve.resolveTopLevelClass +import org.jetbrains.kotlin.resolve.descriptorUtil.resolveTopLevelClass import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM