DependencyClassByFqNameResolver

This commit is contained in:
Stepan Koltsov
2012-05-28 17:34:44 +04:00
parent 84d60b8baa
commit a1714d99cf
5 changed files with 89 additions and 1 deletions
@@ -49,7 +49,7 @@ import java.util.*;
/**
* @author abreslav
*/
public class JavaDescriptorResolver {
public class JavaDescriptorResolver implements DependencyClassByQualifiedNameResolver {
public static final Name JAVA_ROOT = Name.special("<java_root>");
@@ -307,6 +307,11 @@ public class JavaDescriptorResolver {
return clazz;
}
@Override
public ClassDescriptor resolveClass(@NotNull FqName qualifiedName) {
return resolveClass(qualifiedName, DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
}
private ClassDescriptor resolveClass(@NotNull FqName qualifiedName, @NotNull DescriptorSearchRule searchRule, @NotNull List<Runnable> tasks) {
if (qualifiedName.getFqName().endsWith(JvmAbi.TRAIT_IMPL_SUFFIX)) {
// TODO: only if -$$TImpl class is created by Kotlin
@@ -947,6 +952,11 @@ public class JavaDescriptorResolver {
return scopeData.namespaceDescriptor;
}
@Override
public NamespaceDescriptor resolveNamespace(@NotNull FqName qualifiedName) {
return resolveNamespace(qualifiedName, DescriptorSearchRule.ERROR_IF_FOUND_IN_KOTLIN);
}
private NamespaceDescriptorParent resolveParentNamespace(FqName fqName) {
if (fqName.isRoot()) {
return FAKE_ROOT_MODULE;