in src/main/kotlin/org/arend/typechecking/BackgroundTypechecker.kt [48:85]
override fun run(indicator: ProgressIndicator) {
indicator.isIndeterminate = false
indicator.fraction = 0.0
val check2 = !collector2.isEmpty && !settings.typecheckOnlyLast || lastModified == null || lastModified.typechecked?.status()?.isOK == true
val total = collector1.elements.size + if (check2) collector2.elements.size else 0
var i = 0
val tcService = project.service<TypeCheckingService>()
val typechecking = ArendTypechecking(tcService, instanceProviderSet, concreteProvider, errorService, tcService.dependencyListener, LibraryArendExtensionProvider(tcService.libraryManager))
if (!collector1.isEmpty) {
for (element in collector1.elements) {
if (!typecheckDefinition(typechecking, element)) {
indicator.fraction = 1.0
return
}
indicator.fraction = (++i).toDouble() / total
}
}
if (check2) {
for (element in collector2.elements) {
if (!typecheckDefinition(typechecking, element)) {
indicator.fraction = 1.0
return
}
indicator.fraction = (++i).toDouble() / total
}
}
if (runAnalyzer) {
project.afterTypechecking(listOf(file))
}
modificationTracker.incModificationCount()
file.lastDefinitionModification.updateAndGet { maxOf(it, modificationTracker.modificationCount) }
return
}