Fix potential deadlock on lazy vs storage manager

This commit is contained in:
Alexander Udalov
2015-11-20 16:31:53 +03:00
parent caa6cdb3f7
commit fb61dc7e81
@@ -30,7 +30,9 @@ class LazyJavaPackageFragment(
private val c: LazyJavaResolverContext, private val c: LazyJavaResolverContext,
private val jPackage: JavaPackage private val jPackage: JavaPackage
) : PackageFragmentDescriptorImpl(c.module, jPackage.getFqName()) { ) : PackageFragmentDescriptorImpl(c.module, jPackage.getFqName()) {
private val scope by lazy { LazyJavaPackageScope(c, jPackage, this) } private val scope by c.storageManager.createLazyValue {
LazyJavaPackageScope(c, jPackage, this)
}
private val topLevelClasses = c.storageManager.createMemoizedFunctionWithNullableValues { private val topLevelClasses = c.storageManager.createMemoizedFunctionWithNullableValues {
javaClass: JavaClass -> javaClass: JavaClass ->