From 55ae3cab19dc333149cde5b5580e01deeeb0a305 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 16 Jun 2014 15:00:57 +0400 Subject: [PATCH] Drop DependencyClassByQualifiedNameResolver and implementation --- ...ClassByQualifiedNameResolverDummyImpl.java | 33 ------------------- .../resolve/java/JavaDescriptorResolver.java | 10 +----- .../lazy/LazyJavaPackageFragmentProvider.kt | 16 --------- .../resolve/kotlin/JavaDescriptorFinder.kt | 2 -- ...ependencyClassByQualifiedNameResolver.java | 27 --------------- .../generators/injectors/GenerateInjectors.kt | 7 ---- 6 files changed, 1 insertion(+), 94 deletions(-) delete mode 100644 compiler/frontend/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolverDummyImpl.java delete mode 100644 core/descriptors/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolver.java diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolverDummyImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolverDummyImpl.java deleted file mode 100644 index 5191490a071..00000000000 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolverDummyImpl.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2013 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.jet.lang.types; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.descriptors.ClassDescriptor; -import org.jetbrains.jet.lang.resolve.name.FqName; -import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; - -public class DependencyClassByQualifiedNameResolverDummyImpl implements DependencyClassByQualifiedNameResolver { - @Override - public ClassDescriptor resolveClass(@NotNull FqName qualifiedName) { - if (qualifiedName.isRoot()) return null; - if (KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(qualifiedName.parent())) { - return KotlinBuiltIns.getInstance().getBuiltInClassByName(qualifiedName.shortName()); - } - return null; - } -} diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 3e46a9492be..c8b6f87f8fd 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -24,11 +24,9 @@ import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor; import org.jetbrains.jet.lang.descriptors.PackageFragmentProvider; import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider; import org.jetbrains.jet.lang.resolve.java.structure.JavaClass; -import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; -import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolver; -public class JavaDescriptorResolver implements DependencyClassByQualifiedNameResolver { +public class JavaDescriptorResolver { public static final Name JAVA_ROOT = Name.special(""); private final ModuleDescriptor module; @@ -50,12 +48,6 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes return lazyJavaPackageFragmentProvider; } - @Nullable - @Override - public ClassDescriptor resolveClass(@NotNull FqName qualifiedName) { - return lazyJavaPackageFragmentProvider.getClass(qualifiedName); - } - @Nullable public ClassDescriptor resolveClass(@NotNull JavaClass javaClass) { return lazyJavaPackageFragmentProvider.getClass(javaClass); diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt index 5a4a65fa7d6..833a691f6e4 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt @@ -104,22 +104,6 @@ public class LazyJavaPackageFragmentProvider( fun getClass(javaClass: JavaClass): ClassDescriptor? = c.javaClassResolver.resolveClass(javaClass) - fun getClass(fqName: FqName): ClassDescriptor? { - val builtinClass = DescriptorResolverUtils.getKotlinBuiltinClassDescriptor(fqName) - if (builtinClass != null) return builtinClass - - // TODO Here we prefer sources (something outside JDR subsystem) to binaries, which should actually be driven by module dependencies separation - // See DeserializedDescriptorResolver.javaDescriptorFinder - val classFromSources = c.javaResolverCache.getClassResolvedFromSource(fqName) - if (classFromSources != null) return classFromSources - - val (jClass, kClass) = c.findClassInJava(fqName) - if (jClass != null) return c.javaClassResolver.resolveClass(jClass) - if (kClass != null) return kClass - - return null - } - private inner class FragmentClassResolver : LazyJavaClassResolver { override fun resolveClass(javaClass: JavaClass): ClassDescriptor? { // TODO: there's no notion of module separation here. We must refuse to resolve classes from other modules diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/JavaDescriptorFinder.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/JavaDescriptorFinder.kt index 8d0b97028ff..fdf1129f1dc 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/JavaDescriptorFinder.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/kotlin/JavaDescriptorFinder.kt @@ -16,14 +16,12 @@ package org.jetbrains.jet.lang.resolve.kotlin -import org.jetbrains.annotations.Nullable import org.jetbrains.jet.descriptors.serialization.ClassId import org.jetbrains.jet.descriptors.serialization.DescriptorFinder import org.jetbrains.jet.lang.descriptors.ClassDescriptor import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider import org.jetbrains.jet.lang.resolve.name.FqName import org.jetbrains.jet.lang.resolve.name.Name -import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolver import org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.kotlinFqNameToJavaFqName import java.util.Collections import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolver.java b/core/descriptors/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolver.java deleted file mode 100644 index 55d021257e0..00000000000 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/DependencyClassByQualifiedNameResolver.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2010-2013 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.jet.lang.types; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.descriptors.ClassDescriptor; -import org.jetbrains.jet.lang.resolve.name.FqName; - -public interface DependencyClassByQualifiedNameResolver { - @Nullable - ClassDescriptor resolveClass(@NotNull FqName qualifiedName); -} diff --git a/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt b/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt index 490a8c28e08..695dcd3f4a9 100644 --- a/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt +++ b/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt @@ -28,7 +28,6 @@ import org.jetbrains.jet.lang.resolve.java.resolver.* import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder import org.jetbrains.jet.lang.resolve.lazy.ResolveSession import org.jetbrains.jet.lang.resolve.lazy.declarations.DeclarationProviderFactory -import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl import org.jetbrains.jet.lang.types.expressions.ExpressionTypingServices import org.jetbrains.jet.di.* import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents @@ -81,15 +80,11 @@ private fun DependencyInjectorGenerator.commonForTopDownAnalyzer() { private fun generatorForTopDownAnalyzerBasic() = generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") { commonForTopDownAnalyzer() - - field(javaClass()) } private fun generatorForTopDownAnalyzerForJs() = generator("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") { commonForTopDownAnalyzer() - - field(javaClass()) } private fun generatorForTopDownAnalyzerForJvm() = @@ -216,8 +211,6 @@ private fun generatorForLazyResolve() = parameter(javaClass()) publicField(javaClass()) - - field(javaClass()) } private fun generator(