Kotlin: Log to the right TRAP file

Diagnostics for external classes were ending up in the source file's
TRAP file, and then breaking because `#compilation` isn't defined.
This commit is contained in:
Ian Lynagh
2022-03-18 13:10:12 +00:00
parent 91b7de42ad
commit b4d04f62b2

View File

@@ -120,7 +120,8 @@ open class KotlinUsesExtractor(
if (isExternalDeclaration(cls) || clsFile == null) {
val filePath = getIrClassBinaryPath(cls)
val newTrapWriter = tw.makeFileTrapWriter(filePath, false)
val newLogger = FileLogger(logger.loggerBase, newTrapWriter)
val newLoggerTrapWriter = logger.tw.makeFileTrapWriter(filePath, false)
val newLogger = FileLogger(logger.loggerBase, newLoggerTrapWriter)
return KotlinFileExtractor(newLogger, newTrapWriter, filePath, dependencyCollector, externalClassExtractor, primitiveTypeMapping, pluginContext, globalExtensionState)
}
@@ -129,6 +130,7 @@ open class KotlinUsesExtractor(
}
val newTrapWriter = tw.makeSourceFileTrapWriter(clsFile, false)
val newLoggerTrapWriter = logger.tw.makeSourceFileTrapWriter(clsFile, false)
val newLogger = FileLogger(logger.loggerBase, newTrapWriter)
return KotlinFileExtractor(newLogger, newTrapWriter, clsFile.path, dependencyCollector, externalClassExtractor, primitiveTypeMapping, pluginContext, globalExtensionState)
}