Big refactoring continued. Migrating to package views and fragments.

This commit is contained in:
Evgeny Gerashchenko
2013-10-30 11:20:09 +04:00
parent 577fb25777
commit 19d8f1394b
24 changed files with 59 additions and 130 deletions
@@ -19,7 +19,6 @@ package org.jetbrains.jet.lang.resolve.java;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
import org.jetbrains.jet.lang.resolve.name.FqName;
@@ -56,13 +55,6 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
return classResolver.resolveClass(qualifiedName, IGNORE_KOTLIN_SOURCES);
}
@Deprecated
@Nullable
public NamespaceDescriptor resolveNamespace(@NotNull FqName qualifiedName, @NotNull DescriptorSearchRule searchRule) {
// TODO 1 remove this method
return null;
}
@NotNull
public JavaPackageFragmentProvider getPackageFragmentProvider() {
return packageFragmentProvider;
@@ -291,6 +291,16 @@ public final class JavaFunctionResolver {
return findClassInPackage(parentPackage, fragment.getFqName().shortName());
}
@Nullable
public static JavaPackageFragmentDescriptor getPackageForCorrespondingJavaClass(@NotNull JavaClassDescriptor javaClass) {
PackageFragmentDescriptor packageFragment = DescriptorUtils.getParentOfType(javaClass, PackageFragmentDescriptor.class);
assert packageFragment instanceof JavaPackageFragmentDescriptor :
"java class " + javaClass + " is under non-java fragment: " + packageFragment;
JavaPackageFragmentProvider provider = ((JavaPackageFragmentDescriptor) packageFragment).getProvider();
return provider.getOrCreatePackage(getFQName(javaClass).toSafe());
}
@Nullable
public static SamConstructorDescriptor resolveSamConstructor(@NotNull JavaPackageFragmentDescriptor owner, @NotNull NamedMembers namedMembers) {
if (namedMembers.getSamInterface() != null) {