Always go through JavaDescriptorResolver when resolving classes/packages
This commit is contained in:
+5
-4
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user