Get rid of getCompileConstResolver and getAnnotationResolver methods in JavaDescriptorResolver

This commit is contained in:
Pavel V. Talanov
2012-10-08 13:11:11 +04:00
parent fb6fbdfaad
commit 753247ae3e
3 changed files with 13 additions and 11 deletions
@@ -19,6 +19,7 @@ package org.jetbrains.jet.lang.resolve.java;
import com.google.common.collect.Maps;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiAnnotation;
import com.intellij.psi.PsiAnnotationMemberValue;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiModifierListOwner;
import gnu.trove.THashMap;
@@ -29,6 +30,7 @@ import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolveData.ResolverClassData;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolveData.ResolverNamespaceData;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolveData.ResolverScopeData;
@@ -173,14 +175,6 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
return constructorResolver.resolveConstructors(classData);
}
public CompileTimeConstResolver getCompileTimeConstResolver() {
return compileTimeConstResolver;
}
public AnnotationResolver getAnnotationResolver() {
return annotationResolver;
}
public Map<FqName, ResolverNamespaceData> getNamespaceDescriptorCacheByFqn() {
return namespaceDescriptorCacheByFqn;
}
@@ -212,6 +206,15 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
return classResolver.resolveClass(name, searchRule, list);
}
public CompileTimeConstant getCompileTimeConstFromExpression(
FqName annotationName,
Name parameterName,
PsiAnnotationMemberValue value,
List<Runnable> taskList
) {
return compileTimeConstResolver.getCompileTimeConstFromExpression(annotationName, parameterName, value, taskList);
}
public static class ValueParameterDescriptors {
private final JetType receiverType;
private final List<ValueParameterDescriptor> descriptors;
@@ -100,8 +100,7 @@ public final class AnnotationResolver {
Name identifier = Name.identifier(name);
CompileTimeConstant compileTimeConst =
javaDescriptorResolver.getCompileTimeConstResolver()
.getCompileTimeConstFromExpression(annotationFqName, identifier, value, taskList);
javaDescriptorResolver.getCompileTimeConstFromExpression(annotationFqName, identifier, value, taskList);
if (compileTimeConst != null) {
ValueParameterDescriptor valueParameterDescriptor =
DescriptorResolverUtils.getValueParameterDescriptorForAnnotationParameter(identifier, clazz);
@@ -82,7 +82,7 @@ public final class FunctionResolver {
SimpleFunctionDescriptorImpl functionDescriptorImpl = new SimpleFunctionDescriptorImpl(
scopeData.getClassOrNamespaceDescriptor(),
javaDescriptorResolver.getAnnotationResolver().resolveAnnotations(psiMethod),
javaDescriptorResolver.resolveAnnotations(psiMethod),
Name.identifier(method.getName()),
DescriptorKindUtils.flagsToKind(method.getJetMethod().kind())
);