Simplified interface of IncrementalCache (depending on JDK only).

This commit is contained in:
Evgeny Gerashchenko
2014-06-06 19:43:31 +04:00
parent 07365dca1d
commit 04f7ad450f
3 changed files with 32 additions and 22 deletions
@@ -19,11 +19,28 @@ package org.jetbrains.jet.lang.resolve.kotlin.incremental
import org.jetbrains.jet.lang.resolve.name.FqName
import org.jetbrains.jet.lang.resolve.java.JvmClassName
import org.jetbrains.jet.lang.psi.JetFile
import java.util.HashMap
import java.io.File
public trait IncrementalCache {
public fun getPackagesWithRemovedFiles(moduleId: String, compiledSourceFiles: Collection<JetFile>): Collection<FqName>
public fun getRemovedPackageParts(moduleId: String, compiledSourceFilesToFqName: Map<File, String>): Collection<String>
public fun getRemovedPackageParts(moduleId: String, compiledSourceFiles: Collection<JetFile>): Collection<JvmClassName>
public fun getPackageData(moduleId: String, fqName: FqName): ByteArray?
public fun getPackageData(moduleId: String, fqName: String): ByteArray?
}
public fun IncrementalCache.getPackagesWithRemovedFiles(moduleId: String, compiledSourceFiles: Collection<JetFile>): Collection<FqName> {
return getRemovedPackageParts(moduleId, compiledSourceFiles).map { it.getFqNameForClassNameWithoutDollars().parent() }
}
public fun IncrementalCache.getRemovedPackageParts(moduleId: String, compiledSourceFiles: Collection<JetFile>): Collection<JvmClassName> {
val compiledSourceFilesToFqName = HashMap<File, String>()
for (sourceFile in compiledSourceFiles) {
compiledSourceFilesToFqName[File(sourceFile.getVirtualFile()!!.getPath())] = sourceFile.getPackageFqName().asString()
}
return getRemovedPackageParts(moduleId, compiledSourceFilesToFqName).map { JvmClassName.byInternalName(it) }
}
public fun IncrementalCache.getPackageData(moduleId: String, fqName: FqName): ByteArray? {
return getPackageData(moduleId, fqName.asString())
}