JDR: Remove some usages of JavaClassResolver#resolveClassByFqName in LazyJavaAnnotationDescriptor

This commit is contained in:
Pavel V. Talanov
2014-06-02 19:53:03 +04:00
parent 2d72b5afc7
commit ccae693ed2
3 changed files with 20 additions and 6 deletions
@@ -64,7 +64,7 @@ class LazyJavaAnnotationDescriptor(
val fqName = _fqName()
if (fqName == null) return@createLazyValue ErrorUtils.createErrorType("No fqName: $javaAnnotation")
val annotationClass = JavaToKotlinClassMap.getInstance().mapKotlinClass(fqName, TypeUsage.MEMBER_SIGNATURE_INVARIANT)
?: c.javaClassResolver.resolveClassByFqName(fqName)
?: javaAnnotation.resolve()?.let { javaClass -> c.javaClassResolver.resolveClass(javaClass) }
annotationClass?.getDefaultType() ?: ErrorUtils.createErrorType(fqName.asString())
}
@@ -145,10 +145,9 @@ class LazyJavaAnnotationDescriptor(
if (!element.isEnumEntry()) return null
val fqName = element.getContainingClass().getFqName()
if (fqName == null) return null
val containingJavaClass = element.getContainingClass()
val enumClass = c.javaClassResolver.resolveClassByFqName(fqName)
val enumClass = c.javaClassResolver.resolveClass(containingJavaClass)
if (enumClass == null) return null
val classifier = enumClass.getUnsubstitutedInnerClassesScope().getClassifier(element.getName())
@@ -32,4 +32,7 @@ public interface JavaAnnotation extends JavaElement {
@Nullable
FqName getFqName();
@Nullable
JavaClass resolve();
}