Android Extensions: Use lazy package fragment descriptors only in IDE

This commit is contained in:
Yan Zhulanow
2018-11-16 20:39:20 +09:00
parent 4f3f813b32
commit 5636227857
3 changed files with 19 additions and 10 deletions
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.android.synthetic.idea.res
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleServiceManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.ClearableLazyValue
import org.jetbrains.kotlin.analyzer.ModuleInfo
import org.jetbrains.kotlin.android.model.AndroidModuleInfoProvider
import org.jetbrains.kotlin.android.synthetic.idea.androidExtensionsIsEnabled
@@ -48,4 +49,8 @@ class IDEAndroidPackageFragmentProviderExtension(val project: Project) : Android
val infoProvider = AndroidModuleInfoProvider.getInstance(module) ?: return false
return infoProvider.isAndroidModule() && !infoProvider.isGradleModule()
}
override fun <T> createLazyValue(value: () -> T): () -> T {
return { ClearableLazyValue.create<T> { value() }.value }
}
}