Edoardo Luppi
01/25/2024, 12:07 PMpublic expect class CopyOnWriteArrayList<E>() : MutableList<E> {
public constructor(elements: Collection<E>)
... all the methods from MutableList. Not sure why but K2 requires overriding them explicitly
}
With an actual typealias per platform:
public actual typealias CopyOnWriteArrayList<E> = ArrayList<E> // Native
public actual typealias CopyOnWriteArrayList<E> = java.util.concurrent.CopyOnWriteArrayList<E> // JVM
public actual typealias CopyOnWriteArrayList<E> = ArrayList<E> // WASM WASI
public actual typealias CopyOnWriteArrayList<E> = ArrayList<E> // JS and WASM JS
K2 complains with this error:
e: file:///C:/Users/.../CopyOnWriteArrayList.kt:5:1 Expect declaration `CopyOnWriteArrayList` doesn't match actual `CopyOnWriteArrayList` because some expected members have no actual ones
But without telling me which expected members. Is this a bug?Edoardo Luppi
01/25/2024, 12:10 PMdmitriy.novozhilov
01/25/2024, 12:10 PMRoman Efremov
01/25/2024, 12:42 PMEdoardo Luppi
01/25/2024, 12:54 PMEdoardo Luppi
01/25/2024, 12:59 PMe: file:///C:/Users/edoardo.luppi/IdeaProjects/antlr-kotlin/antlr-kotlin-runtime/src/jvmMain/kotlin/com/strumenta/antlrkotlin/runtime/IdentityHashMap.kt:8:25 'actual typealias IdentityHashMap<K, V> = IdentityHashMap<K, V>' has no corresponding members for expected class members:
expect val values: MutableCollection<V>
e: file:///C:/Users/edoardo.luppi/IdeaProjects/antlr-kotlin/antlr-kotlin-runtime/src/jvmMain/kotlin/com/strumenta/antlrkotlin/runtime/WeakHashMap.kt:8:25 'actual typealias WeakHashMap<K, V> = WeakHashMap<K, V>' has no corresponding members for expected class members:
expect val values: MutableCollection<V>
Edoardo Luppi
01/25/2024, 1:02 PMgetValues()
method, but the Java classes have values()
Edoardo Luppi
01/25/2024, 1:04 PMRoman Efremov
01/25/2024, 1:06 PMRoman Efremov
01/25/2024, 1:06 PMEdoardo Luppi
01/25/2024, 1:07 PM