Always go through JavaDescriptorResolver when resolving classes/packages

This commit is contained in:
Andrey Breslav
2013-10-31 19:22:59 +04:00
parent d0c0ba83fc
commit 258db05af2
2 changed files with 10 additions and 9 deletions
@@ -30,6 +30,7 @@ import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
import org.jetbrains.jet.lang.resolve.constants.EnumValue; import org.jetbrains.jet.lang.resolve.constants.EnumValue;
import org.jetbrains.jet.lang.resolve.constants.ErrorValue; import org.jetbrains.jet.lang.resolve.constants.ErrorValue;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames; import org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames;
import org.jetbrains.jet.lang.resolve.java.JvmClassName; import org.jetbrains.jet.lang.resolve.java.JvmClassName;
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils; import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
@@ -51,7 +52,7 @@ import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.ko
import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.naiveKotlinFqName; import static org.jetbrains.jet.lang.resolve.kotlin.DeserializedResolverUtils.naiveKotlinFqName;
public class AnnotationDescriptorDeserializer implements AnnotationDeserializer { public class AnnotationDescriptorDeserializer implements AnnotationDeserializer {
private JavaClassResolver javaClassResolver; private JavaDescriptorResolver javaDescriptorResolver;
private KotlinClassFinder kotlinClassFinder; private KotlinClassFinder kotlinClassFinder;
private ErrorReporter errorReporter; private ErrorReporter errorReporter;
@@ -76,8 +77,8 @@ public class AnnotationDescriptorDeserializer implements AnnotationDeserializer
}); });
@Inject @Inject
public void setJavaClassResolver(JavaClassResolver javaClassResolver) { public void setJavaDescriptorResolver(JavaDescriptorResolver javaDescriptorResolver) {
this.javaClassResolver = javaClassResolver; this.javaDescriptorResolver = javaDescriptorResolver;
} }
@Inject @Inject
@@ -210,7 +211,7 @@ public class AnnotationDescriptorDeserializer implements AnnotationDeserializer
@NotNull @NotNull
private ClassDescriptor resolveClass(@NotNull JvmClassName className) { private ClassDescriptor resolveClass(@NotNull JvmClassName className) {
ClassDescriptor annotationClass = javaClassResolver.resolveClass(className.getFqNameForClassNameWithoutDollars(), ClassDescriptor annotationClass = javaDescriptorResolver.resolveClass(className.getFqNameForClassNameWithoutDollars(),
IGNORE_KOTLIN_SOURCES); IGNORE_KOTLIN_SOURCES);
return annotationClass != null ? annotationClass : ErrorUtils.getErrorClass(); return annotationClass != null ? annotationClass : ErrorUtils.getErrorClass();
} }
@@ -26,8 +26,8 @@ import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedClass
import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope; import org.jetbrains.jet.descriptors.serialization.descriptors.DeserializedPackageMemberScope;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor; import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter; import org.jetbrains.jet.lang.resolve.java.resolver.ErrorReporter;
import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider; import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader; import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
@@ -50,7 +50,7 @@ public final class DeserializedDescriptorResolver {
private JavaPackageFragmentProvider javaPackageFragmentProvider; private JavaPackageFragmentProvider javaPackageFragmentProvider;
private JavaClassResolver javaClassResolver; private JavaDescriptorResolver javaDescriptorResolver;
private ErrorReporter errorReporter; private ErrorReporter errorReporter;
@@ -59,7 +59,7 @@ public final class DeserializedDescriptorResolver {
@Nullable @Nullable
@Override @Override
public ClassDescriptor findClass(@NotNull ClassId classId) { public ClassDescriptor findClass(@NotNull ClassId classId) {
return javaClassResolver.resolveClass(kotlinFqNameToJavaFqName(classId.asSingleFqName()), INCLUDE_KOTLIN_SOURCES); return javaDescriptorResolver.resolveClass(kotlinFqNameToJavaFqName(classId.asSingleFqName()), INCLUDE_KOTLIN_SOURCES);
} }
@NotNull @NotNull
@@ -80,8 +80,8 @@ public final class DeserializedDescriptorResolver {
} }
@Inject @Inject
public void setJavaClassResolver(JavaClassResolver javaClassResolver) { public void setJavaDescriptorResolver(JavaDescriptorResolver javaDescriptorResolver) {
this.javaClassResolver = javaClassResolver; this.javaDescriptorResolver = javaDescriptorResolver;
} }
@Inject @Inject