Skip to content

Commit

Permalink
Update to Kotlin 2.0.0-RC3
Browse files Browse the repository at this point in the history
  • Loading branch information
pdvrieze committed May 18, 2024
1 parent 3af221c commit 663c419
Show file tree
Hide file tree
Showing 30 changed files with 463 additions and 481 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ reports
out
local.properties
build
.kotlin
.gradle
.idea/libraries
.idea/dataSources.ids
Expand Down
122 changes: 59 additions & 63 deletions core/base/api/base.klib.api

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions core/base/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
* under the License.
*/

import kotlinx.validation.api.klib.KlibSignatureVersion
import net.devrieze.gradle.ext.addNativeTargets
import net.devrieze.gradle.ext.applyDefaultXmlUtilHierarchyTemplate
import net.devrieze.gradle.ext.doPublish
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl

Expand All @@ -40,6 +42,7 @@ config {
val autoModuleName = "net.devrieze.xmlutil.core"

kotlin {
applyDefaultXmlUtilHierarchyTemplate()
explicitApi()

components.configureEach {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public actual abstract class Writer : Appendable {

actual abstract override fun append(value: Char): Appendable

actual override fun append(value: CharSequence?): Appendable {
actual open override fun append(value: CharSequence?): Appendable {
return append(value, 0, value?.length ?: 0)
}

Expand All @@ -86,15 +86,15 @@ public actual open class StringWriter : Writer() {
return buffer.toString()
}

override fun append(value: Char): Appendable = apply {
actual open override fun append(value: Char): Appendable = apply {
buffer.append(value)
}

override fun append(value: CharSequence?): Appendable = apply {
buffer.append(value)
}

override fun append(
actual override fun append(
value: CharSequence?,
startIndex: Int,
endIndex: Int
Expand Down Expand Up @@ -126,7 +126,7 @@ public actual open class StringReader(private val source: CharSequence) : Reader
else -> source[pos++].code
}

override fun read(buf: CharArray, offset: Int, len: Int): Int {
actual override fun read(buf: CharArray, offset: Int, len: Int): Int {
if (pos >= source.length) return -1
val count = minOf(len, source.length - pos)
for (i in 0 until count) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,17 @@ public expect val KClass<*>.maybeAnnotations: List<Annotation>
@XmlUtilInternal
public expect abstract class Writer : Appendable {
public open fun write(text: String)
override fun append(value: CharSequence?): Appendable
abstract override fun append(value: Char): Appendable
abstract override fun append(value: CharSequence?, startIndex: Int, endIndex: Int): Appendable
open override fun append(value: CharSequence?): Appendable
abstract open override fun append(value: Char): Appendable
abstract open override fun append(value: CharSequence?, startIndex: Int, endIndex: Int): Appendable
public open fun flush()
}

@XmlUtilInternal
public expect open class StringWriter() : Writer {
override fun toString(): String
override fun append(value: Char): Appendable
override fun append(value: CharSequence?, startIndex: Int, endIndex: Int): Appendable
}

@XmlUtilInternal
Expand All @@ -83,20 +85,22 @@ public expect abstract class OutputStream : Closeable {
@XmlUtilInternal
public expect abstract class Reader {
public open fun read(): Int
public abstract fun read(buf: CharArray, offset: Int, len: Int): Int
public open abstract fun read(buf: CharArray, offset: Int, len: Int): Int
}

@XmlUtilInternal
public expect abstract class InputStream : Closeable {
public open fun read(buffer: ByteArray, offset: Int, len: Int): Int

public fun read(b: ByteArray): Int
public open fun read(b: ByteArray): Int
public abstract fun read(): Int
public override fun close()
public open override fun close()
}

@XmlUtilInternal
public expect open class StringReader(source: String) : Reader
public expect open class StringReader(source: String) : Reader {
override fun read(buf: CharArray, offset: Int, len: Int): Int
}

@XmlUtilInternal
@MpJvmDefaultWithoutCompatibility
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public actual abstract class Writer : Appendable {
append(text)
}

actual override fun append(value: CharSequence?): Appendable {
actual open override fun append(value: CharSequence?): Appendable {
return append(value, 0, value?.length ?: 0)
}

Expand All @@ -96,15 +96,15 @@ public actual open class StringWriter : Writer() {
return buffer.toString()
}

override fun append(value: Char): Appendable = apply {
actual override fun append(value: Char): Appendable = apply {
buffer.append(value)
}

override fun append(value: CharSequence?): Appendable = apply {
buffer.append(value)
}

override fun append(
actual override fun append(
value: CharSequence?,
startIndex: Int,
endIndex: Int
Expand Down Expand Up @@ -135,7 +135,7 @@ public actual open class StringReader(source: CharSequence) : Reader() {
else -> source[srcOffset++].code
}

override fun read(buf: CharArray, offset: Int, len: Int): Int {
actual override fun read(buf: CharArray, offset: Int, len: Int): Int {
if (srcOffset >= source.length) return -1
val count = minOf(len, source.length - srcOffset)
for (i in 0 until count) {
Expand All @@ -162,7 +162,7 @@ public actual abstract class InputStream : Closeable {
return len
}

public actual fun read(b: ByteArray): Int {
public actual open fun read(b: ByteArray): Int {
return read(b, 0, b.size)
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -111,4 +111,14 @@ public fun XmlReader.toCharArrayWriter(): CharArrayWriter {
}
}

internal expect fun XmlReader.toCharArrayWriterImpl(): CharArrayWriter
internal fun XmlReader.toCharArrayWriterImpl(): CharArrayWriter {
return CharArrayWriter().also {
@Suppress("DEPRECATION")
XmlStreaming.newWriter(it as Appendable).use { out ->
while (hasNext()) {
next()
writeCurrent(out)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ package nl.adaptivity.xmlutil.core.impl.multiplatform

import kotlin.reflect.KClass

public actual val KClass<*>.name: String get() = javaCompat.name
public actual val KClass<*>.name: String get() = java.name

public typealias URI = java.net.URI

public actual val KClass<*>.maybeAnnotations: List<Annotation> get() = javaCompat.annotations.toList()
public actual val KClass<*>.maybeAnnotations: List<Annotation> get() = java.annotations.toList()

Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@

package nl.adaptivity.xmlutil.core.impl.multiplatform

import kotlin.reflect.KClass
import java.io.StringWriter as JavaStringWriter

public actual typealias AutoCloseable = java.lang.AutoCloseable
Expand All @@ -43,7 +42,7 @@ public actual abstract class Writer : Appendable {

actual abstract override fun append(value: CharSequence?, startIndex: Int, endIndex: Int): Appendable

actual override fun append(value: CharSequence?): Appendable {
actual open override fun append(value: CharSequence?): Appendable {
return append(value, 0, value?.length ?: 0)
}

Expand All @@ -54,13 +53,13 @@ public actual abstract class Writer : Appendable {
public actual open class StringWriter actual constructor() : Writer() {
private val delegate = JavaStringWriter()

override fun append(value: Char): Appendable {
actual override fun append(value: Char): Appendable {
delegate.append(value)
return this
}

@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE", "KotlinRedundantDiagnosticSuppress")
override fun append(value: CharSequence?, startIndex: Int, endIndex: Int): Appendable {
actual override fun append(value: CharSequence?, startIndex: Int, endIndex: Int): Appendable {
delegate.append(value, startIndex, endIndex)
return this
}
Expand All @@ -75,13 +74,3 @@ public actual typealias StringReader = java.io.StringReader

public actual typealias InputStream = java.io.InputStream
public actual typealias OutputStream = java.io.OutputStream

internal expect val <T : Any> KClass<T>.javaCompat: Class<T>

internal expect val <T : Any> T.javaClassCompat: Class<T>



internal actual val <T : Any> KClass<T>.javaCompat: Class<T> get() = this.java
internal actual val <T : Any> T.javaClassCompat: Class<T>
get() = javaClass
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,12 @@ package nl.adaptivity.xmlutil.util
import nl.adaptivity.xmlutil.XmlReader
import nl.adaptivity.xmlutil.XmlSerializable
import nl.adaptivity.xmlutil.XmlWriter
import nl.adaptivity.xmlutil.core.impl.multiplatform.javaClassCompat
import nl.adaptivity.xmlutil.core.impl.multiplatform.javaCompat
import kotlin.reflect.KClass

@Deprecated("This should be done in the xmlserializable module")
public class DefaultSerializationProvider : CoreCompatSerializationProvider {
override fun <T : Any> serializer(type: KClass<T>): SerializationProvider.XmlSerializerFun<T>? {
if (XmlSerializable::class.javaCompat.isAssignableFrom(type.javaCompat)) {
if (XmlSerializable::class.java.isAssignableFrom(type.java)) {
@Suppress("UNCHECKED_CAST") // the system isn't smart enough that this means T is a subtype
return (SerializableSerializer as SerializationProvider.XmlSerializerFun<T>)
} else {
Expand All @@ -41,20 +39,20 @@ public class DefaultSerializationProvider : CoreCompatSerializationProvider {
}

override fun <T : Any> deSerializer(type: KClass<T>): SerializationProvider.XmlDeserializerFun? {
val a = type.javaCompat.annotations
.firstOrNull { it.javaClassCompat.name == "nl.adaptivity.xmlutil.xmlserializable.XmlDeserializer" }
val a = type.java.annotations
.firstOrNull { it.javaClass.name == "nl.adaptivity.xmlutil.xmlserializable.XmlDeserializer" }
return a?.let { DeserializerFun }
}

private object DeserializerFun : SerializationProvider.XmlDeserializerFun {
override fun <T : Any> invoke(input: XmlReader, type: KClass<T>): T {
val a = type.javaCompat.annotations
.first { it.javaClassCompat.name == "nl.adaptivity.xmlutil.xmlserializable.XmlDeserializer" }
val factoryClass = a.javaClassCompat.getMethod("value").invoke(a) as Class<*>
val a = type.java.annotations
.first { it.javaClass.name == "nl.adaptivity.xmlutil.xmlserializable.XmlDeserializer" }
val factoryClass = a.javaClass.getMethod("value").invoke(a) as Class<*>
val factory = factoryClass.getConstructor().newInstance()

@Suppress("UNCHECKED_CAST")
return factoryClass.getMethod("deserialize", XmlReader::class.javaCompat)
return factoryClass.getMethod("deserialize", XmlReader::class.java)
.invoke(factory, input) as T
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public actual abstract class InputStream : Closeable {
return len
}

public actual fun read(b: ByteArray): Int {
public actual open fun read(b: ByteArray): Int {
return read(b, 0, b.size)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public actual abstract class InputStream : Closeable {
return len
}

public actual fun read(b: ByteArray): Int {
public actual open fun read(b: ByteArray): Int {
return read(b, 0, b.size)
}

Expand Down
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ binaryValidator = "0.15.0-Beta.2"
dokka = "1.9.20"
javaVersion = "8"
junit5-jupiter = "5.10.2"
kotlin = "1.9.23"
kotlinx-serialization = "1.6.3"
kotlin = "2.0.0-RC3"
kotlinx-serialization = "1.7.0-RC"
kxml2 = "2.3.0"
woodstox = "6.6.2"
xmlutil = "0.90.0-SNAPSHOT"
Expand Down
Loading

0 comments on commit 663c419

Please sign in to comment.