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
@@ -16,12 +16,12 @@
package org.jetbrains.jet.lang.resolve.java.structure.impl;
import com.intellij.psi.PsiAnnotation;
import com.intellij.psi.PsiAnnotationMemberValue;
import com.intellij.psi.*;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.resolve.java.structure.JavaAnnotation;
import org.jetbrains.jet.lang.resolve.java.structure.JavaAnnotationArgument;
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;
@@ -53,4 +53,16 @@ public class JavaAnnotationImpl extends JavaElementImpl<PsiAnnotation> implement
String qualifiedName = getPsi().getQualifiedName();
return qualifiedName == null ? null : new FqName(qualifiedName);
}
@Nullable
@Override
public JavaClass resolve() {
PsiJavaCodeReferenceElement referenceElement = getPsi().getNameReferenceElement();
if (referenceElement == null) return null;
PsiElement resolved = referenceElement.resolve();
if (!(resolved instanceof PsiClass)) return null;
return new JavaClassImpl((PsiClass) resolved);
}
}