Move some static fields from JavaDescriptorResolver
This commit is contained in:
+3
@@ -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.PsiClassWrapper;
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMemberWrapper;
|
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMemberWrapper;
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
|
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.resolve.name.Name;
|
||||||
import org.jetbrains.jet.lang.types.JetType;
|
import org.jetbrains.jet.lang.types.JetType;
|
||||||
|
|
||||||
@@ -37,6 +38,8 @@ import java.util.List;
|
|||||||
* @author Pavel Talanov
|
* @author Pavel Talanov
|
||||||
*/
|
*/
|
||||||
public final class DescriptorResolverUtils {
|
public final class DescriptorResolverUtils {
|
||||||
|
public static final FqName OBJECT_FQ_NAME = new FqName("java.lang.Object");
|
||||||
|
|
||||||
private DescriptorResolverUtils() {
|
private DescriptorResolverUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-4
@@ -48,12 +48,8 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
public class JavaDescriptorResolver implements DependencyClassByQualifiedNameResolver {
|
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 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) {
|
public static Visibility PACKAGE_VISIBILITY = new Visibility("package", false) {
|
||||||
@Override
|
@Override
|
||||||
protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
|
protected boolean isVisible(@NotNull DeclarationDescriptorWithVisibility what, @NotNull DeclarationDescriptor from) {
|
||||||
|
|||||||
+1
-1
@@ -58,7 +58,7 @@ public class JavaDescriptorSignatureResolver {
|
|||||||
private static boolean isJavaLangObject(@NotNull JetType type) {
|
private static boolean isJavaLangObject(@NotNull JetType type) {
|
||||||
ClassifierDescriptor classifierDescriptor = type.getConstructor().getDeclarationDescriptor();
|
ClassifierDescriptor classifierDescriptor = type.getConstructor().getDeclarationDescriptor();
|
||||||
return classifierDescriptor instanceof ClassDescriptor &&
|
return classifierDescriptor instanceof ClassDescriptor &&
|
||||||
DescriptorUtils.getFQName(classifierDescriptor).equalsTo(JavaDescriptorResolver.OBJECT_FQ_NAME);
|
DescriptorUtils.getFQName(classifierDescriptor).equalsTo(DescriptorResolverUtils.OBJECT_FQ_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum TypeParameterDescriptorOrigin {
|
private enum TypeParameterDescriptorOrigin {
|
||||||
|
|||||||
+2
-2
@@ -371,7 +371,7 @@ public final class ClassResolver {
|
|||||||
|
|
||||||
if (result.isEmpty()) {
|
if (result.isEmpty()) {
|
||||||
if (classData.isKotlin()
|
if (classData.isKotlin()
|
||||||
|| JavaDescriptorResolver.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName())
|
|| DescriptorResolverUtils.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName())
|
||||||
// TODO: annotations
|
// TODO: annotations
|
||||||
|| classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) {
|
|| classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) {
|
||||||
result.add(JetStandardClasses.getAnyType());
|
result.add(JetStandardClasses.getAnyType());
|
||||||
@@ -449,7 +449,7 @@ public final class ClassResolver {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private ClassDescriptor resolveJavaLangObject() {
|
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) {
|
if (clazz == null) {
|
||||||
// TODO: warning
|
// TODO: warning
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -71,7 +71,7 @@ public final class FunctionResolver {
|
|||||||
// TODO: unless maybe class explicitly extends Object
|
// TODO: unless maybe class explicitly extends Object
|
||||||
assert containingClass != null;
|
assert containingClass != null;
|
||||||
String ownerClassName = containingClass.getQualifiedName();
|
String ownerClassName = containingClass.getQualifiedName();
|
||||||
if (JavaDescriptorResolver.OBJECT_FQ_NAME.getFqName().equals(ownerClassName)) {
|
if (DescriptorResolverUtils.OBJECT_FQ_NAME.getFqName().equals(ownerClassName)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -21,6 +21,7 @@ import com.intellij.psi.PsiClass;
|
|||||||
import com.intellij.psi.PsiPackage;
|
import com.intellij.psi.PsiPackage;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
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.NamespaceDescriptor;
|
||||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorParent;
|
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptorParent;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
||||||
@@ -36,6 +37,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
public final class NamespaceResolver {
|
public final class NamespaceResolver {
|
||||||
|
|
||||||
|
public static final ModuleDescriptor FAKE_ROOT_MODULE = new ModuleDescriptor(JavaDescriptorResolver.JAVA_ROOT);
|
||||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||||
private final Map<FqName, JavaDescriptorResolveData.ResolverNamespaceData> namespaceDescriptorCacheByFqn = Maps.newHashMap();
|
private final Map<FqName, JavaDescriptorResolveData.ResolverNamespaceData> namespaceDescriptorCacheByFqn = Maps.newHashMap();
|
||||||
|
|
||||||
@@ -98,7 +100,7 @@ public final class NamespaceResolver {
|
|||||||
|
|
||||||
private NamespaceDescriptorParent resolveParentNamespace(FqName fqName) {
|
private NamespaceDescriptorParent resolveParentNamespace(FqName fqName) {
|
||||||
if (fqName.isRoot()) {
|
if (fqName.isRoot()) {
|
||||||
return JavaDescriptorResolver.FAKE_ROOT_MODULE;
|
return FAKE_ROOT_MODULE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return resolveNamespace(fqName.parent(), DescriptorSearchRule.INCLUDE_KOTLIN);
|
return resolveNamespace(fqName.parent(), DescriptorSearchRule.INCLUDE_KOTLIN);
|
||||||
|
|||||||
Reference in New Issue
Block a user