[Misc] Provide meaningful debugName for StorageManager everywhere
This commit is contained in:
+1
-1
@@ -308,7 +308,7 @@ internal object IDELightClassContexts {
|
||||
val container = createContainer("LightClassStub", JvmPlatformCompilerServices) {
|
||||
val jvmTarget = IDELanguageSettingsProvider.getTargetPlatform(moduleInfo, project) as? JvmTarget ?: JvmTarget.DEFAULT
|
||||
configureModule(
|
||||
ModuleContext(moduleDescriptor, project), JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget),
|
||||
ModuleContext(moduleDescriptor, project, "ad hoc resolve"), JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget),
|
||||
JvmPlatformCompilerServices, trace,
|
||||
IDELanguageSettingsProvider.getLanguageVersionSettings(moduleInfo, project)
|
||||
)
|
||||
|
||||
+12
-10
@@ -119,7 +119,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
getOrBuildGlobalFacade(settings).facadeForSdk
|
||||
}
|
||||
|
||||
val globalContext = globalFacade.globalContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
val globalContext = globalFacade.globalContext.contextWithNewLockAndCompositeExceptionTracker("facadeForScriptDependencies")
|
||||
return ProjectResolutionFacade(
|
||||
"facadeForScriptDependencies",
|
||||
resolverForScriptDependenciesName,
|
||||
@@ -136,7 +136,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
|
||||
|
||||
private inner class GlobalFacade(settings: PlatformAnalysisSettings) {
|
||||
private val sdkContext = GlobalContext()
|
||||
private val sdkContext = GlobalContext(resolverForSdkName)
|
||||
val facadeForSdk = ProjectResolutionFacade(
|
||||
"facadeForSdk", "$resolverForSdkName ${settings.sdk}",
|
||||
project, sdkContext, settings,
|
||||
@@ -149,7 +149,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
reuseDataFrom = null
|
||||
)
|
||||
|
||||
private val librariesContext = sdkContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
private val librariesContext = sdkContext.contextWithNewLockAndCompositeExceptionTracker(resolverForLibrariesName)
|
||||
val facadeForLibraries = ProjectResolutionFacade(
|
||||
"facadeForLibraries", "$resolverForLibrariesName for platform ${settings.sdk}",
|
||||
project, librariesContext, settings,
|
||||
@@ -162,7 +162,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
)
|
||||
)
|
||||
|
||||
private val modulesContext = librariesContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
private val modulesContext = librariesContext.contextWithNewLockAndCompositeExceptionTracker(resolverForModulesName)
|
||||
val facadeForModules = ProjectResolutionFacade(
|
||||
"facadeForModules", "$resolverForModulesName for platform ${settings.platform}",
|
||||
project, modulesContext, settings,
|
||||
@@ -259,7 +259,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
specialModuleInfo is ModuleSourceInfo -> {
|
||||
val dependentModules = specialModuleInfo.getDependentModules()
|
||||
val modulesFacade = globalFacade(settings)
|
||||
val globalContext = modulesFacade.globalContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
val globalContext = modulesFacade.globalContext.contextWithNewLockAndCompositeExceptionTracker("facadeForSpecialModuleInfo (ModuleSourceInfo)")
|
||||
makeProjectResolutionFacade(
|
||||
"facadeForSpecialModuleInfo (ModuleSourceInfo)",
|
||||
globalContext,
|
||||
@@ -272,7 +272,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
val facadeForScriptDependencies = createFacadeForScriptDependencies(
|
||||
ScriptDependenciesInfo.ForFile(project, specialModuleInfo.scriptFile, specialModuleInfo.scriptDefinition)
|
||||
)
|
||||
val globalContext = facadeForScriptDependencies.globalContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
val globalContext = facadeForScriptDependencies.globalContext.contextWithNewLockAndCompositeExceptionTracker("facadeForSpecialModuleInfo (ScriptModuleInfo)")
|
||||
makeProjectResolutionFacade(
|
||||
"facadeForSpecialModuleInfo (ScriptModuleInfo)",
|
||||
globalContext,
|
||||
@@ -283,7 +283,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
}
|
||||
specialModuleInfo is ScriptDependenciesInfo -> facadeForScriptDependenciesForProject
|
||||
specialModuleInfo is ScriptDependenciesSourceInfo -> {
|
||||
val globalContext = facadeForScriptDependenciesForProject.globalContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
val globalContext = facadeForScriptDependenciesForProject.globalContext.contextWithNewLockAndCompositeExceptionTracker("facadeForSpecialModuleInfo (ScriptDependenciesSourceInfo)")
|
||||
makeProjectResolutionFacade(
|
||||
"facadeForSpecialModuleInfo (ScriptDependenciesSourceInfo)",
|
||||
globalContext,
|
||||
@@ -295,9 +295,11 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
|
||||
specialModuleInfo is LibrarySourceInfo || specialModuleInfo === NotUnderContentRootModuleInfo -> {
|
||||
val librariesFacade = librariesFacade(settings)
|
||||
val globalContext = librariesFacade.globalContext.contextWithNewLockAndCompositeExceptionTracker()
|
||||
val debugName = "facadeForSpecialModuleInfo (LibrarySourceInfo or NotUnderContentRootModuleInfo)"
|
||||
val globalContext = librariesFacade.globalContext.contextWithNewLockAndCompositeExceptionTracker(debugName)
|
||||
|
||||
makeProjectResolutionFacade(
|
||||
"facadeForSpecialModuleInfo (LibrarySourceInfo or NotUnderContentRootModuleInfo)",
|
||||
debugName,
|
||||
globalContext,
|
||||
reuseDataFrom = librariesFacade,
|
||||
moduleFilter = { it == specialModuleInfo }
|
||||
@@ -309,7 +311,7 @@ class KotlinCacheServiceImpl(val project: Project) : KotlinCacheService {
|
||||
// currently the only known scenario is when we cannot determine that file is a library source
|
||||
// (file under both classes and sources root)
|
||||
LOG.warn("Creating cache with synthetic files ($files) in classes of library $specialModuleInfo")
|
||||
val globalContext = GlobalContext()
|
||||
val globalContext = GlobalContext("facadeForSpecialModuleInfo for file under both classes and root")
|
||||
makeProjectResolutionFacade(
|
||||
"facadeForSpecialModuleInfo for file under both classes and root",
|
||||
globalContext
|
||||
|
||||
+2
-2
@@ -9,10 +9,10 @@ import org.jetbrains.kotlin.context.GlobalContextImpl
|
||||
import org.jetbrains.kotlin.storage.ExceptionTracker
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
|
||||
internal fun GlobalContextImpl.contextWithNewLockAndCompositeExceptionTracker(): GlobalContextImpl {
|
||||
internal fun GlobalContextImpl.contextWithNewLockAndCompositeExceptionTracker(debugName: String): GlobalContextImpl {
|
||||
val newExceptionTracker = CompositeExceptionTracker(this.exceptionTracker)
|
||||
return GlobalContextImpl(
|
||||
LockBasedStorageManager.createWithExceptionHandling("GlobalContextUtils", newExceptionTracker),
|
||||
LockBasedStorageManager.createWithExceptionHandling(debugName, newExceptionTracker),
|
||||
newExceptionTracker
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user