Drop DependencyClassByQualifiedNameResolver and implementation
This commit is contained in:
-33
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-9
@@ -24,11 +24,9 @@ import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
|
|||||||
import org.jetbrains.jet.lang.descriptors.PackageFragmentProvider;
|
import org.jetbrains.jet.lang.descriptors.PackageFragmentProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.java.structure.JavaClass;
|
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.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("<java_root>");
|
public static final Name JAVA_ROOT = Name.special("<java_root>");
|
||||||
|
|
||||||
private final ModuleDescriptor module;
|
private final ModuleDescriptor module;
|
||||||
@@ -50,12 +48,6 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
|||||||
return lazyJavaPackageFragmentProvider;
|
return lazyJavaPackageFragmentProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public ClassDescriptor resolveClass(@NotNull FqName qualifiedName) {
|
|
||||||
return lazyJavaPackageFragmentProvider.getClass(qualifiedName);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public ClassDescriptor resolveClass(@NotNull JavaClass javaClass) {
|
public ClassDescriptor resolveClass(@NotNull JavaClass javaClass) {
|
||||||
return lazyJavaPackageFragmentProvider.getClass(javaClass);
|
return lazyJavaPackageFragmentProvider.getClass(javaClass);
|
||||||
|
|||||||
-16
@@ -104,22 +104,6 @@ public class LazyJavaPackageFragmentProvider(
|
|||||||
|
|
||||||
fun getClass(javaClass: JavaClass): ClassDescriptor? = c.javaClassResolver.resolveClass(javaClass)
|
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 {
|
private inner class FragmentClassResolver : LazyJavaClassResolver {
|
||||||
override fun resolveClass(javaClass: JavaClass): ClassDescriptor? {
|
override fun resolveClass(javaClass: JavaClass): ClassDescriptor? {
|
||||||
// TODO: there's no notion of module separation here. We must refuse to resolve classes from other modules
|
// TODO: there's no notion of module separation here. We must refuse to resolve classes from other modules
|
||||||
|
|||||||
-2
@@ -16,14 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.jet.lang.resolve.kotlin
|
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.ClassId
|
||||||
import org.jetbrains.jet.descriptors.serialization.DescriptorFinder
|
import org.jetbrains.jet.descriptors.serialization.DescriptorFinder
|
||||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
import org.jetbrains.jet.lang.descriptors.ClassDescriptor
|
||||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider
|
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName
|
import org.jetbrains.jet.lang.resolve.name.FqName
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name
|
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 org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.kotlinFqNameToJavaFqName
|
||||||
import java.util.Collections
|
import java.util.Collections
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver
|
||||||
|
|||||||
-27
@@ -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);
|
|
||||||
}
|
|
||||||
@@ -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.kotlin.VirtualFileFinder
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession
|
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession
|
||||||
import org.jetbrains.jet.lang.resolve.lazy.declarations.DeclarationProviderFactory
|
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.lang.types.expressions.ExpressionTypingServices
|
||||||
import org.jetbrains.jet.di.*
|
import org.jetbrains.jet.di.*
|
||||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents
|
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingComponents
|
||||||
@@ -81,15 +80,11 @@ private fun DependencyInjectorGenerator.commonForTopDownAnalyzer() {
|
|||||||
private fun generatorForTopDownAnalyzerBasic() =
|
private fun generatorForTopDownAnalyzerBasic() =
|
||||||
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") {
|
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") {
|
||||||
commonForTopDownAnalyzer()
|
commonForTopDownAnalyzer()
|
||||||
|
|
||||||
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generatorForTopDownAnalyzerForJs() =
|
private fun generatorForTopDownAnalyzerForJs() =
|
||||||
generator("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") {
|
generator("js/js.translator/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerForJs") {
|
||||||
commonForTopDownAnalyzer()
|
commonForTopDownAnalyzer()
|
||||||
|
|
||||||
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generatorForTopDownAnalyzerForJvm() =
|
private fun generatorForTopDownAnalyzerForJvm() =
|
||||||
@@ -216,8 +211,6 @@ private fun generatorForLazyResolve() =
|
|||||||
parameter(javaClass<BindingTrace>())
|
parameter(javaClass<BindingTrace>())
|
||||||
|
|
||||||
publicField(javaClass<ResolveSession>())
|
publicField(javaClass<ResolveSession>())
|
||||||
|
|
||||||
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generator(
|
private fun generator(
|
||||||
|
|||||||
Reference in New Issue
Block a user