Batch recording lookups in daemon

Original commit: 89791dc85c
This commit is contained in:
Zalim Bashorov
2015-11-13 22:35:10 +03:00
parent 60200f2a65
commit b06a5fb5e2
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.jps.build
import com.intellij.openapi.util.io.FileUtil
import org.jetbrains.kotlin.incremental.components.LookupInfo
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.components.Position
import org.jetbrains.kotlin.incremental.components.ScopeKind
@@ -37,7 +38,7 @@ abstract class AbstractLookupTrackerTest : AbstractIncrementalJpsTest(
override fun checkLookups(lookupTracker: LookupTracker, compiledFiles: Set<File>) {
if (lookupTracker !is TestLookupTracker) throw AssertionError("Expected TestLookupTracker, but: ${lookupTracker.javaClass}")
val fileToLookups = lookupTracker.lookups.groupBy { it.lookupContainingFile }
val fileToLookups = lookupTracker.lookups.groupBy { it.filePath }
fun checkLookupsInFile(expectedFile: File, actualFile: File) {
@@ -53,8 +54,8 @@ abstract class AbstractLookupTrackerTest : AbstractIncrementalJpsTest(
val lines = text.lines().toArrayList()
for ((line, lookupsFromLine) in lookupsFromFile.groupBy { it.lookupLine }) {
val columnToLookups = lookupsFromLine.groupBy { it.lookupColumn }.toList().sortedBy { it.first }
for ((line, lookupsFromLine) in lookupsFromFile.groupBy { it.position.line }) {
val columnToLookups = lookupsFromLine.groupBy { it.position.column }.toList().sortedBy { it.first }
val lineContent = lines[line - 1]
val parts = ArrayList<CharSequence>(columnToLookups.size * 2)
@@ -123,18 +124,8 @@ class TestLookupTracker : LookupTracker {
get() = true
override fun record(filePath: String, position: Position, scopeFqName: String, scopeKind: ScopeKind, name: String) {
val (line, column) = position
lookups.add(LookupInfo(filePath, line, column, scopeFqName, scopeKind, name))
lookups.add(LookupInfo(filePath, position, scopeFqName, scopeKind, name))
}
data class LookupInfo(
val lookupContainingFile: String,
val lookupLine: Int,
val lookupColumn: Int,
val scopeFqName: String,
val scopeKind: ScopeKind,
val name: String
)
}