From 7b06ce29fa90085121a4020cd3b4138a05ead887 Mon Sep 17 00:00:00 2001 From: buenaflor Date: Fri, 4 Aug 2023 03:31:36 +0200 Subject: [PATCH] Add comment to change in Flogger code and formatting --- .../parser/KDefaultPrintfMessageParser.kt | 31 ++-- .../kflogger/parser/KMessageParser.kt | 3 +- .../kflogger/parser/KParseException.kt | 2 +- .../kflogger/parser/KPrintfMessageParser.kt | 141 ++++++++-------- .../backend/KFormatTypeTest.kt | 1 - .../parser/KDefaultPrintfMessageParserTest.kt | 16 +- .../parser/KPrintfMessageParserTest.kt | 55 +++--- .../KDefaultPrintfMessageParser.darwin.kt | 38 ++--- .../kflogger/parser/KParseException.darwin.kt | 2 +- .../parser/KPrintfMessageParser.darwin.kt | 156 +++++++++--------- .../kflogger/parser/PrintfMessageParser.java | 1 + .../parser/KDefaultPrintfMessageParser.jvm.kt | 2 +- .../kflogger/parser/KParseException.jvm.kt | 2 +- 13 files changed, 219 insertions(+), 231 deletions(-) diff --git a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.kt b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.kt index e788409..2420ad2 100644 --- a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.kt +++ b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.kt @@ -2,25 +2,24 @@ package com.buenaflor.kflogger.parser /** * Default implementation of the printf message parser. This parser supports all the place-holders - * available in `String#format` but can be extended, if desired, for additional behavior - * For consistency it is recommended, but not required, that custom printf parsers always extend - * from this class. - * + * available in `String#format` but can be extended, if desired, for additional behavior For + * consistency it is recommended, but not required, that custom printf parsers always extend from + * this class. * * This class is immutable and thread safe (and any subclasses must also be so). */ public expect class KDefaultPrintfMessageParser private constructor() : KPrintfMessageParser { - @Throws(KParseException::class) - override fun parsePrintfTerm( - builder: KMessageBuilder<*>?, - index: Int, - message: String?, - termStart: Int, - specStart: Int, - formatStart: Int - ): Int + @Throws(KParseException::class) + override fun parsePrintfTerm( + builder: KMessageBuilder<*>?, + index: Int, + message: String?, + termStart: Int, + specStart: Int, + formatStart: Int + ): Int - public companion object { - public fun getInstance(): KPrintfMessageParser - } + public companion object { + public fun getInstance(): KPrintfMessageParser + } } diff --git a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KMessageParser.kt b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KMessageParser.kt index 38510d2..f122255 100644 --- a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KMessageParser.kt +++ b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KMessageParser.kt @@ -31,8 +31,7 @@ public expect abstract class KMessageParser() { * Implementations of this method are required to invoke the [MessageBuilder.addParameterImpl] * method of the supplied builder once for each parameter place-holder in the message. */ - @Throws(KParseException::class) - protected abstract fun parseImpl(builder: KMessageBuilder?) + @Throws(KParseException::class) protected abstract fun parseImpl(builder: KMessageBuilder?) /** * Appends the unescaped literal representation of the given message string (assumed to be escaped diff --git a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KParseException.kt b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KParseException.kt index e82ac3a..9759a7b 100644 --- a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KParseException.kt +++ b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KParseException.kt @@ -1,3 +1,3 @@ package com.buenaflor.kflogger.parser -public expect class KParseException : RuntimeException \ No newline at end of file +public expect class KParseException : RuntimeException diff --git a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.kt b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.kt index 93fba73..0132bb2 100644 --- a/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.kt +++ b/api/src/commonMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.kt @@ -2,85 +2,80 @@ package com.buenaflor.kflogger.parser /** * A specialized [MessageParser] for processing log messages in printf style, as used by - * [String.format]. This is an abstract parser which knows how to - * process and extract placeholder terms at a high level, but does not impose its own semantics - * for place-holder types. + * [String.format]. This is an abstract parser which knows how to process and extract placeholder + * terms at a high level, but does not impose its own semantics for place-holder types. * - * - * Typically you should not subclass this class, but instead subclass - * [DefaultPrintfMessageParser], which provides compatibility with [String.format]. + * Typically you should not subclass this class, but instead subclass [DefaultPrintfMessageParser], + * which provides compatibility with [String.format]. */ public expect abstract class KPrintfMessageParser() : KMessageParser { - /** - * Parses a single printf-like term from a log message into a message template builder. - * - * - * A simple example of an implicit parameter (the argument index is not specified): - *
-     * message: "Hello %s World"
-     * termStart: 6 ───┚╿╿
-     * specStart: 7 ────┤│
-     * formatStart: 7 ──╯│
-     * return: 8 ────────╯
-    
* - * If this case there is no format specification, so `specStart == formatStart`. - * - * - * A complex example with an explicit index: - *
-     * message: "Hello %2$10d World"
-     * termStart: 6 ───┚  ╿ ╿╿
-     * specStart: 9 ──────╯ ││
-     * formatStart: 11 ─────╯│
-     * return: 12 ───────────╯
-    
* - * Note that in this example the given index will be 1 (rather than 2) because printf specifies - * indices using a 1-based scheme, but internally they are 0-based. - * - * @param builder the message template builder. - * @param index the zero-based argument index for the parameter. - * @param message the complete log message string. - * @param termStart the index of the initial '%' character that starts the term. - * @param specStart the index of the first format specification character (after any optional - * index specification). - * @param formatStart the index of the (first) format character in the term. - * @return the index after the last character of the term. - */ - @Throws(KParseException::class) - protected abstract fun parsePrintfTerm( - builder: KMessageBuilder<*>?, - index: Int, - message: String?, - termStart: Int, - specStart: Int, - formatStart: Int - ): Int + /** + * Parses a single printf-like term from a log message into a message template builder. + * + * A simple example of an implicit parameter (the argument index is not specified): + *
+   * message: "Hello %s World"
+   * termStart: 6 ───┚╿╿
+   * specStart: 7 ────┤│
+   * formatStart: 7 ──╯│
+   * return: 8 ────────╯
+   * 
* + * If this case there is no format specification, so `specStart == formatStart`. + * + * A complex example with an explicit index: + *
+   * message: "Hello %2$10d World"
+   * termStart: 6 ───┚  ╿ ╿╿
+   * specStart: 9 ──────╯ ││
+   * formatStart: 11 ─────╯│
+   * return: 12 ───────────╯
+   * 
* + * Note that in this example the given index will be 1 (rather than 2) because printf specifies + * indices using a 1-based scheme, but internally they are 0-based. + * + * @param builder the message template builder. + * @param index the zero-based argument index for the parameter. + * @param message the complete log message string. + * @param termStart the index of the initial '%' character that starts the term. + * @param specStart the index of the first format specification character (after any optional + * index specification). + * @param formatStart the index of the (first) format character in the term. + * @return the index after the last character of the term. + */ + @Throws(KParseException::class) + protected abstract fun parsePrintfTerm( + builder: KMessageBuilder<*>?, + index: Int, + message: String?, + termStart: Int, + specStart: Int, + formatStart: Int + ): Int - public final override fun unescape(out: StringBuilder?, message: String?, start: Int, end: Int) + public final override fun unescape(out: StringBuilder?, message: String?, start: Int, end: Int) - @Throws(KParseException::class) - protected final override fun parseImpl(builder: KMessageBuilder?) + @Throws(KParseException::class) + protected final override fun parseImpl(builder: KMessageBuilder?) - public companion object { - /** - * Returns the system newline separator avoiding any issues with security exceptions or - * "suspicious" values. The only allowed return values are "\n" (default), "\r" or "\r\n". - */ - internal fun getSafeSystemNewline(): String + public companion object { + /** + * Returns the system newline separator avoiding any issues with security exceptions or + * "suspicious" values. The only allowed return values are "\n" (default), "\r" or "\r\n". + */ + internal fun getSafeSystemNewline(): String - /** - * Returns the index of the first unescaped '%' character in message starting at pos (or -1 if not - * found). - */ - // VisibleForTesting - @Throws(KParseException::class) - internal fun nextPrintfTerm(message: String, pos: Int): Int + /** + * Returns the index of the first unescaped '%' character in message starting at pos (or -1 if + * not found). + */ + // VisibleForTesting + @Throws(KParseException::class) internal fun nextPrintfTerm(message: String, pos: Int): Int - /** - * Unescapes the characters in the sub-string `s.substring(start, end)` according to - * printf style formatting rules. - */ - // VisibleForTesting - internal fun unescapePrintf(out: StringBuilder, message: String, start: Int, end: Int) - } + /** + * Unescapes the characters in the sub-string `s.substring(start, end)` according to printf + * style formatting rules. + */ + // VisibleForTesting + internal fun unescapePrintf(out: StringBuilder, message: String, start: Int, end: Int) + } } diff --git a/api/src/commonTest/kotlin/com.buenaflor.kflogger/backend/KFormatTypeTest.kt b/api/src/commonTest/kotlin/com.buenaflor.kflogger/backend/KFormatTypeTest.kt index 50516da..698ed77 100644 --- a/api/src/commonTest/kotlin/com.buenaflor.kflogger/backend/KFormatTypeTest.kt +++ b/api/src/commonTest/kotlin/com.buenaflor.kflogger/backend/KFormatTypeTest.kt @@ -1,6 +1,5 @@ package com.buenaflor.kflogger.backend -import androidx.kruth.assertThat import com.buenaflor.kflogger.util.IgnoreIos import kotlin.test.Test diff --git a/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KDefaultPrintfMessageParserTest.kt b/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KDefaultPrintfMessageParserTest.kt index 90253b8..f9b205d 100644 --- a/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KDefaultPrintfMessageParserTest.kt +++ b/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KDefaultPrintfMessageParserTest.kt @@ -4,11 +4,11 @@ import com.buenaflor.kflogger.util.IgnoreIos import kotlin.test.Test class KDefaultPrintfMessageParserTest { - @Test - @IgnoreIos - fun testNotCrashing() { - // This test is to ensure that the code compiles and does not crash. - val messageParser = KDefaultPrintfMessageParser.getInstance() - messageParser.unescape(StringBuilder(), "", 0, 0) - } -} \ No newline at end of file + @Test + @IgnoreIos + fun testNotCrashing() { + // This test is to ensure that the code compiles and does not crash. + val messageParser = KDefaultPrintfMessageParser.getInstance() + messageParser.unescape(StringBuilder(), "", 0, 0) + } +} diff --git a/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KPrintfMessageParserTest.kt b/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KPrintfMessageParserTest.kt index 1fdf575..cfc9c82 100644 --- a/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KPrintfMessageParserTest.kt +++ b/api/src/commonTest/kotlin/com.buenaflor.kflogger/parser/KPrintfMessageParserTest.kt @@ -7,37 +7,36 @@ import com.buenaflor.kflogger.util.IgnoreIos import kotlin.test.Test class KPrintfMessageParserTest { - private val messageParser = CompileOnlyPrintfMessageParser() - private val templateContext = KTemplateContext(messageParser, "message") - private val messageBuilder = CompileOnlyMessageBuilder(templateContext) + private val messageParser = CompileOnlyPrintfMessageParser() + private val templateContext = KTemplateContext(messageParser, "message") + private val messageBuilder = CompileOnlyMessageBuilder(templateContext) - private class CompileOnlyPrintfMessageParser : KPrintfMessageParser() { - override fun parsePrintfTerm( - builder: KMessageBuilder<*>?, - index: Int, - message: String?, - termStart: Int, - specStart: Int, - formatStart: Int - ): Int { - return 1 - } + private class CompileOnlyPrintfMessageParser : KPrintfMessageParser() { + override fun parsePrintfTerm( + builder: KMessageBuilder<*>?, + index: Int, + message: String?, + termStart: Int, + specStart: Int, + formatStart: Int + ): Int { + return 1 } + } - private class CompileOnlyMessageBuilder(val templateContext: KTemplateContext) : - KMessageBuilder(templateContext) { - override fun addParameterImpl(termStart: Int, termEnd: Int, param: KParameter) {} + private class CompileOnlyMessageBuilder(val templateContext: KTemplateContext) : + KMessageBuilder(templateContext) { + override fun addParameterImpl(termStart: Int, termEnd: Int, param: KParameter) {} - override fun buildImpl(): String { - return "${templateContext.message} + 1" - } + override fun buildImpl(): String { + return "${templateContext.message} + 1" } + } - @Test - @IgnoreIos - fun testNotCrashing() { - // This test is to ensure that the code compiles and does not crash. - messageParser.unescape(StringBuilder(), "", 0, 0) - - } -} \ No newline at end of file + @Test + @IgnoreIos + fun testNotCrashing() { + // This test is to ensure that the code compiles and does not crash. + messageParser.unescape(StringBuilder(), "", 0, 0) + } +} diff --git a/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.darwin.kt b/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.darwin.kt index adcee56..ca6b8d5 100644 --- a/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.darwin.kt +++ b/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.darwin.kt @@ -2,28 +2,28 @@ package com.buenaflor.kflogger.parser /** * Default implementation of the printf message parser. This parser supports all the place-holders - * available in `String#format` but can be extended, if desired, for additional behavior - * For consistency it is recommended, but not required, that custom printf parsers always extend - * from this class. - * + * available in `String#format` but can be extended, if desired, for additional behavior For + * consistency it is recommended, but not required, that custom printf parsers always extend from + * this class. * * This class is immutable and thread safe (and any subclasses must also be so). */ -public actual class KDefaultPrintfMessageParser private actual constructor() : KPrintfMessageParser() { - actual override fun parsePrintfTerm( - builder: KMessageBuilder<*>?, - index: Int, - message: String?, - termStart: Int, - specStart: Int, - formatStart: Int - ): Int { - TODO("Not yet implemented") - } +public actual class KDefaultPrintfMessageParser private actual constructor() : + KPrintfMessageParser() { + actual override fun parsePrintfTerm( + builder: KMessageBuilder<*>?, + index: Int, + message: String?, + termStart: Int, + specStart: Int, + formatStart: Int + ): Int { + TODO("Not yet implemented") + } - public actual companion object { - public actual fun getInstance(): KPrintfMessageParser { - TODO() - } + public actual companion object { + public actual fun getInstance(): KPrintfMessageParser { + TODO() } + } } diff --git a/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KParseException.darwin.kt b/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KParseException.darwin.kt index 4e29adf..d54e669 100644 --- a/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KParseException.darwin.kt +++ b/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KParseException.darwin.kt @@ -1,3 +1,3 @@ package com.buenaflor.kflogger.parser -public actual class KParseException : RuntimeException() \ No newline at end of file +public actual class KParseException : RuntimeException() diff --git a/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.darwin.kt b/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.darwin.kt index 9c1fb6c..5e140b7 100644 --- a/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.darwin.kt +++ b/api/src/iosMain/kotlin/com/buenaflor/kflogger/parser/KPrintfMessageParser.darwin.kt @@ -2,95 +2,91 @@ package com.buenaflor.kflogger.parser /** * A specialized [MessageParser] for processing log messages in printf style, as used by - * [String.format]. This is an abstract parser which knows how to - * process and extract placeholder terms at a high level, but does not impose its own semantics - * for place-holder types. + * [String.format]. This is an abstract parser which knows how to process and extract placeholder + * terms at a high level, but does not impose its own semantics for place-holder types. * - * - * Typically you should not subclass this class, but instead subclass - * [DefaultPrintfMessageParser], which provides compatibility with [String.format]. + * Typically you should not subclass this class, but instead subclass [DefaultPrintfMessageParser], + * which provides compatibility with [String.format]. */ public actual abstract class KPrintfMessageParser : KMessageParser() { + /** + * Parses a single printf-like term from a log message into a message template builder. + * + * A simple example of an implicit parameter (the argument index is not specified): + *
+   * message: "Hello %s World"
+   * termStart: 6 ───┚╿╿
+   * specStart: 7 ────┤│
+   * formatStart: 7 ──╯│
+   * return: 8 ────────╯
+   * 
* + * If this case there is no format specification, so `specStart == formatStart`. + * + * A complex example with an explicit index: + *
+   * message: "Hello %2$10d World"
+   * termStart: 6 ───┚  ╿ ╿╿
+   * specStart: 9 ──────╯ ││
+   * formatStart: 11 ─────╯│
+   * return: 12 ───────────╯
+   * 
* + * Note that in this example the given index will be 1 (rather than 2) because printf specifies + * indices using a 1-based scheme, but internally they are 0-based. + * + * @param builder the message template builder. + * @param index the zero-based argument index for the parameter. + * @param message the complete log message string. + * @param termStart the index of the initial '%' character that starts the term. + * @param specStart the index of the first format specification character (after any optional + * index specification). + * @param formatStart the index of the (first) format character in the term. + * @return the index after the last character of the term. + */ + @Throws(KParseException::class) + protected actual abstract fun parsePrintfTerm( + builder: KMessageBuilder<*>?, + index: Int, + message: String?, + termStart: Int, + specStart: Int, + formatStart: Int + ): Int + + actual final override fun unescape(out: StringBuilder?, message: String?, start: Int, end: Int) { + TODO() + } + + @Throws(KParseException::class) + actual final override fun parseImpl(builder: KMessageBuilder?) { + TODO() + } + + public actual companion object { /** - * Parses a single printf-like term from a log message into a message template builder. - * - * - * A simple example of an implicit parameter (the argument index is not specified): - *
-     * message: "Hello %s World"
-     * termStart: 6 ───┚╿╿
-     * specStart: 7 ────┤│
-     * formatStart: 7 ──╯│
-     * return: 8 ────────╯
-    
* - * If this case there is no format specification, so `specStart == formatStart`. - * - * - * A complex example with an explicit index: - *
-     * message: "Hello %2$10d World"
-     * termStart: 6 ───┚  ╿ ╿╿
-     * specStart: 9 ──────╯ ││
-     * formatStart: 11 ─────╯│
-     * return: 12 ───────────╯
-    
* - * Note that in this example the given index will be 1 (rather than 2) because printf specifies - * indices using a 1-based scheme, but internally they are 0-based. - * - * @param builder the message template builder. - * @param index the zero-based argument index for the parameter. - * @param message the complete log message string. - * @param termStart the index of the initial '%' character that starts the term. - * @param specStart the index of the first format specification character (after any optional - * index specification). - * @param formatStart the index of the (first) format character in the term. - * @return the index after the last character of the term. + * Returns the system newline separator avoiding any issues with security exceptions or + * "suspicious" values. The only allowed return values are "\n" (default), "\r" or "\r\n". */ - @Throws(KParseException::class) - protected actual abstract fun parsePrintfTerm( - builder: KMessageBuilder<*>?, - index: Int, - message: String?, - termStart: Int, - specStart: Int, - formatStart: Int - ): Int - - actual final override fun unescape(out: StringBuilder?, message: String?, start: Int, end: Int) { - TODO() + internal actual fun getSafeSystemNewline(): String { + TODO() } + /** + * Returns the index of the first unescaped '%' character in message starting at pos (or -1 if + * not found). + */ + // VisibleForTesting @Throws(KParseException::class) - actual final override fun parseImpl(builder: KMessageBuilder?) { - TODO() + internal actual fun nextPrintfTerm(message: String, pos: Int): Int { + TODO() } - public actual companion object { - /** - * Returns the system newline separator avoiding any issues with security exceptions or - * "suspicious" values. The only allowed return values are "\n" (default), "\r" or "\r\n". - */ - internal actual fun getSafeSystemNewline(): String { - TODO() - } - - /** - * Returns the index of the first unescaped '%' character in message starting at pos (or -1 if not - * found). - */ - // VisibleForTesting - @Throws(KParseException::class) - internal actual fun nextPrintfTerm(message: String, pos: Int): Int { - TODO() - } - - /** - * Unescapes the characters in the sub-string `s.substring(start, end)` according to - * printf style formatting rules. - */ - // VisibleForTesting - internal actual fun unescapePrintf(out: StringBuilder, message: String, start: Int, end: Int) { - TODO() - } + /** + * Unescapes the characters in the sub-string `s.substring(start, end)` according to printf + * style formatting rules. + */ + // VisibleForTesting + internal actual fun unescapePrintf(out: StringBuilder, message: String, start: Int, end: Int) { + TODO() } + } } diff --git a/api/src/jvmMain/java/com/buenaflor/kflogger/parser/PrintfMessageParser.java b/api/src/jvmMain/java/com/buenaflor/kflogger/parser/PrintfMessageParser.java index beefde9..c9d8027 100644 --- a/api/src/jvmMain/java/com/buenaflor/kflogger/parser/PrintfMessageParser.java +++ b/api/src/jvmMain/java/com/buenaflor/kflogger/parser/PrintfMessageParser.java @@ -79,6 +79,7 @@ static String getSafeSystemNewline() { * @param formatStart the index of the (first) format character in the term. * @return the index after the last character of the term. */ + // KFlogger: Changed to protected - unable to override in Kotlin module because the Java visibility is package-private protected abstract int parsePrintfTerm( MessageBuilder builder, int index, diff --git a/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.jvm.kt b/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.jvm.kt index 026e33c..57fe7c4 100644 --- a/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.jvm.kt +++ b/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KDefaultPrintfMessageParser.jvm.kt @@ -2,4 +2,4 @@ package com.buenaflor.kflogger.parser // Suppress errors: companion object - Java static does not match companion object @Suppress("NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS") -public actual typealias KDefaultPrintfMessageParser = DefaultPrintfMessageParser \ No newline at end of file +public actual typealias KDefaultPrintfMessageParser = DefaultPrintfMessageParser diff --git a/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KParseException.jvm.kt b/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KParseException.jvm.kt index aedb21d..696e86a 100644 --- a/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KParseException.jvm.kt +++ b/api/src/jvmMain/kotlin/com/buenaflor/kflogger/parser/KParseException.jvm.kt @@ -1,3 +1,3 @@ package com.buenaflor.kflogger.parser -public actual typealias KParseException = ParseException \ No newline at end of file +public actual typealias KParseException = ParseException