From e2c127b85f0a2c255e53752b4453006de799a563 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Mon, 9 Sep 2024 16:46:32 +0100 Subject: [PATCH] KE2: Pull out a LoggerState --- .../src/main/kotlin/KotlinFileExtractor.kt | 2 +- .../src/main/kotlin/utils/Logger.kt | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt index ad59f303699..7c952ad88dd 100644 --- a/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor2/src/main/kotlin/KotlinFileExtractor.kt @@ -120,7 +120,7 @@ OLD: KE1 else -> "" } val loc = tw.getLocationString(element) - val context = logger.extractorContextStack + val context = logger.loggerState.extractorContextStack context.push(ExtractorContext(kind, element, name, loc)) try { val depth = context.size diff --git a/java/kotlin-extractor2/src/main/kotlin/utils/Logger.kt b/java/kotlin-extractor2/src/main/kotlin/utils/Logger.kt index 3ec4f09c334..52454d614b8 100644 --- a/java/kotlin-extractor2/src/main/kotlin/utils/Logger.kt +++ b/java/kotlin-extractor2/src/main/kotlin/utils/Logger.kt @@ -165,7 +165,7 @@ OLD: KE1 severity: Severity, msg: String, extraInfo: String?, - extractorContextStack: Stack?, + loggerState: LoggerState?, locationString: String? = null, mkLocationId: () -> Label = { dtw.unknownLocation } ) { @@ -193,7 +193,8 @@ OLD: KE1 fullMsgBuilder.append(extraInfo) } - if (extractorContextStack != null) { + if (loggerState != null) { + val extractorContextStack = loggerState.extractorContextStack val iter = extractorContextStack.listIterator(extractorContextStack.size) while (iter.hasPrevious()) { val x = iter.previous() @@ -272,9 +273,9 @@ OLD: KE1 warn(dtw, msg, extraInfo, null) } - fun warn(dtw: DiagnosticTrapWriter, msg: String, extraInfo: String?, extractorContextStack: Stack?) { + fun warn(dtw: DiagnosticTrapWriter, msg: String, extraInfo: String?, loggerState: LoggerState?) { if (verbosity >= 2) { - diagnostic(dtw, Severity.Warn, msg, extraInfo, extractorContextStack) + diagnostic(dtw, Severity.Warn, msg, extraInfo, loggerState) } } @@ -282,9 +283,9 @@ OLD: KE1 error(dtw, msg, extraInfo, null) } - fun error(dtw: DiagnosticTrapWriter, msg: String, extraInfo: String?, extractorContextStack: Stack?) { + fun error(dtw: DiagnosticTrapWriter, msg: String, extraInfo: String?, loggerState: LoggerState?) { if (verbosity >= 1) { - diagnostic(dtw, Severity.Error, msg, extraInfo, extractorContextStack) + diagnostic(dtw, Severity.Error, msg, extraInfo, loggerState) } } @@ -314,11 +315,15 @@ OLD: KE1 } } +data class LoggerState ( + val extractorContextStack: Stack +) + /** * Logger is the high-level interface for writint log messages. */ open class Logger(val loggerBase: LoggerBase, val dtw: DiagnosticTrapWriter): BasicLogger { - val extractorContextStack = Stack() + val loggerState = LoggerState(Stack()) override fun flush() { dtw.flush() @@ -354,7 +359,7 @@ open class Logger(val loggerBase: LoggerBase, val dtw: DiagnosticTrapWriter): Ba } override fun warn(dtw: DiagnosticTrapWriter, msg: String, extraInfo: String?) { - loggerBase.warn(dtw, msg, extraInfo, extractorContextStack) + loggerBase.warn(dtw, msg, extraInfo, loggerState) } private fun warn(msg: String, extraInfo: String?) { @@ -370,7 +375,7 @@ open class Logger(val loggerBase: LoggerBase, val dtw: DiagnosticTrapWriter): Ba } override fun error(dtw: DiagnosticTrapWriter, msg: String, extraInfo: String?) { - loggerBase.error(dtw, msg, extraInfo, extractorContextStack) + loggerBase.error(dtw, msg, extraInfo, loggerState) } private fun error(msg: String, extraInfo: String?) { @@ -412,7 +417,7 @@ OLD: KE1 Severity.Error, msg, null, // OLD: KE1: exn?.stackTraceToString(), - extractorContextStack, + loggerState, locationString, mkLocationId )