Always use class file as inline fun source

Original commit: 8cc2e0f68d
This commit is contained in:
Alexey Tsvetkov
2015-08-13 16:30:46 +03:00
parent 34fe09dac1
commit 53ed47ade2
@@ -184,27 +184,25 @@ public class IncrementalCacheImpl(
val result = THashSet(FileUtil.PATH_HASHING_STRATEGY) val result = THashSet(FileUtil.PATH_HASHING_STRATEGY)
for ((className, functions) in dirtyInlineFunctionsMap.getEntries()) { for ((className, functions) in dirtyInlineFunctionsMap.getEntries()) {
val sourceFiles = classToSourcesMap[className] val internalName =
if (packagePartMap.isPackagePart(className)) {
for (sourceFile in sourceFiles) { val packageInternalName = PackageClassUtils.getPackageClassInternalName(className.packageFqName)
val targetFiles = functions.flatMap { hasInlineTo[sourceFile, it] } val packageJvmName = JvmClassName.byInternalName(packageInternalName)
result.addAll(targetFiles) packageJvmName.internalName
} }
else {
var internalName = className.internalName className.internalName
}
if (packagePartMap.isPackagePart(className)) {
val packageInternalName = PackageClassUtils.getPackageClassInternalName(className.packageFqName)
val packageJvmName = JvmClassName.byInternalName(packageInternalName)
internalName = packageJvmName.internalName
}
val classFilePath = getClassFilePath(internalName) val classFilePath = getClassFilePath(internalName)
for (dependent in dependents) { fun addFilesAffectedByChangedInlineFuns(cache: IncrementalCacheImpl) {
val targetFiles = functions.flatMap { dependent.hasInlineTo[classFilePath, it] } val targetFiles = functions.flatMap { cache.hasInlineTo[classFilePath, it] }
result.addAll(targetFiles) result.addAll(targetFiles)
} }
addFilesAffectedByChangedInlineFuns(this)
dependents.forEach(::addFilesAffectedByChangedInlineFuns)
} }
dirtyInlineFunctionsMap.clean() dirtyInlineFunctionsMap.clean()