Tests: Introduce LightClassComputationControl to track when stubs for light classes are built

Use it to track when light classes are built in KotlinSourceInJavaCompletionTest
This commit is contained in:
Pavel V. Talanov
2015-11-05 18:14:17 +03:00
parent ec48b54032
commit 085d95a5b8
23 changed files with 109 additions and 17 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.asJava
import com.google.common.collect.Lists
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.progress.ProcessCanceledException
import com.intellij.openapi.project.Project
@@ -107,6 +108,8 @@ abstract class LightClassDataProvider<T : WithFileStubAndExtraDiagnostics>(
if (pop !== javaFileStub) {
LOG.error("Unbalanced stack operations: " + pop)
}
ServiceManager.getService(project, StubComputationTracker::class.java)?.onStubComputed(javaFileStub)
}
catch (e: ProcessCanceledException) {
throw e
@@ -354,3 +357,8 @@ class LightClassDataProviderForFileFacade(
return this.javaClass.name + " for $facadeFqName"
}
}
interface StubComputationTracker {
fun onStubComputed(javaFileStub: PsiJavaFileStub)
}