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