From 935fae70eacbf29a894ba33bb7b131b1e32ae469 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Fri, 10 Jan 2014 18:06:29 +0400 Subject: [PATCH] Prefer sources to binaries in JDR --- .../resolve/java/lazy/LazyJavaPackageFragmentProvider.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt index 1d285d88ae9..3fe2a528269 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/jet/lang/resolve/java/lazy/LazyJavaPackageFragmentProvider.kt @@ -100,10 +100,16 @@ public open class LazyJavaPackageFragmentProvider( val builtinClass = JavaClassResolver.getKotlinBuiltinClassDescriptor(fqName) if (builtinClass != null) return builtinClass + // TODO Here we prefer sources (something outside JDR subsystem) to binaries, which should actually be driven by module dependencies separation + // See DeserializedDescriptorResolver.javaDescriptorFinder + val classFromSources = outerContext.javaClassResolver.resolveClassByFqName(fqName) + if (classFromSources != null) return classFromSources + val (jClass, kClass) = c.findClassInJava(fqName) if (jClass != null) return resolveClass(jClass) if (kClass != null) return kClass - return outerContext.javaClassResolver.resolveClassByFqName(fqName) + + return null } } } \ No newline at end of file