Add import tracker

This tracker reports import directives to IJ's JPS to track changes and detectwehen it is needed to adjust compilation scope.

#KT-44835 Fixed
This commit is contained in:
Aleksei.Cherepanov
2023-08-11 15:17:50 +02:00
committed by Space Team
parent b27aef2c61
commit 68af705664
25 changed files with 175 additions and 45 deletions
@@ -0,0 +1,21 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.incremental
import org.jetbrains.kotlin.incremental.components.ImportTracker
import java.util.concurrent.ConcurrentHashMap
@Suppress("unused")
class ImportTrackerImpl: ImportTracker {
private val filePathToImportedFqNames = ConcurrentHashMap<String, MutableSet<String>>()
val filePathToImportedFqNamesMap: Map<String, Collection<String>>
get() = filePathToImportedFqNames
override fun report(filePath: String, importedFqName: String) {
filePathToImportedFqNames.getOrPut(filePath) { hashSetOf() }.add(importedFqName)
}
}