Move some static fields from JavaDescriptorResolver

This commit is contained in:
Pavel V. Talanov
2012-10-08 13:28:58 +04:00
parent 0b474af1f5
commit ca4ac25819
6 changed files with 10 additions and 9 deletions
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.resolve.java.kt.PsiAnnotationWithFlags;
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiClassWrapper;
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMemberWrapper;
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.Name;
import org.jetbrains.jet.lang.types.JetType;
@@ -37,6 +38,8 @@ import java.util.List;
* @author Pavel Talanov
*/
public final class DescriptorResolverUtils {
public static final FqName OBJECT_FQ_NAME = new FqName("java.lang.Object");
private DescriptorResolverUtils() {
}
@@ -48,12 +48,8 @@ import java.util.Set;
*/
public class JavaDescriptorResolver implements DependencyClassByQualifiedNameResolver {
public static final FqName OBJECT_FQ_NAME = new FqName("java.lang.Object");
public static final Name JAVA_ROOT = Name.special("<java_root>");
public static final ModuleDescriptor FAKE_ROOT_MODULE = new ModuleDescriptor(JAVA_ROOT);
public static Visibility PACKAGE_VISIBILITY = new Visibility("package", false) {
@Override
protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
@@ -58,7 +58,7 @@ public class JavaDescriptorSignatureResolver {
private static boolean isJavaLangObject(@NotNull JetType type) {
ClassifierDescriptor classifierDescriptor = type.getConstructor().getDeclarationDescriptor();
return classifierDescriptor instanceof ClassDescriptor &&
DescriptorUtils.getFQName(classifierDescriptor).equalsTo(JavaDescriptorResolver.OBJECT_FQ_NAME);
DescriptorUtils.getFQName(classifierDescriptor).equalsTo(DescriptorResolverUtils.OBJECT_FQ_NAME);
}
private enum TypeParameterDescriptorOrigin {
@@ -371,7 +371,7 @@ public final class ClassResolver {
if (result.isEmpty()) {
if (classData.isKotlin()
|| JavaDescriptorResolver.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName())
|| DescriptorResolverUtils.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName())
// TODO: annotations
|| classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) {
result.add(JetStandardClasses.getAnyType());
@@ -449,7 +449,7 @@ public final class ClassResolver {
@Nullable
private ClassDescriptor resolveJavaLangObject() {
ClassDescriptor clazz = resolveClass(JavaDescriptorResolver.OBJECT_FQ_NAME, DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
ClassDescriptor clazz = resolveClass(DescriptorResolverUtils.OBJECT_FQ_NAME, DescriptorSearchRule.IGNORE_IF_FOUND_IN_KOTLIN);
if (clazz == null) {
// TODO: warning
}
@@ -71,7 +71,7 @@ public final class FunctionResolver {
// TODO: unless maybe class explicitly extends Object
assert containingClass != null;
String ownerClassName = containingClass.getQualifiedName();
if (JavaDescriptorResolver.OBJECT_FQ_NAME.getFqName().equals(ownerClassName)) {
if (DescriptorResolverUtils.OBJECT_FQ_NAME.getFqName().equals(ownerClassName)) {
return null;
}
}
@@ -21,6 +21,7 @@ import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiPackage;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorParent;
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
@@ -36,6 +37,7 @@ import java.util.Map;
public final class NamespaceResolver {
public static final ModuleDescriptor FAKE_ROOT_MODULE = new ModuleDescriptor(JavaDescriptorResolver.JAVA_ROOT);
private final JavaDescriptorResolver javaDescriptorResolver;
private final Map<FqName, JavaDescriptorResolveData.ResolverNamespaceData> namespaceDescriptorCacheByFqn = Maps.newHashMap();
@@ -98,7 +100,7 @@ public final class NamespaceResolver {
private NamespaceDescriptorParent resolveParentNamespace(FqName fqName) {
if (fqName.isRoot()) {
return JavaDescriptorResolver.FAKE_ROOT_MODULE;
return FAKE_ROOT_MODULE;
}
else {
return resolveNamespace(fqName.parent(), DescriptorSearchRule.INCLUDE_KOTLIN);