Parcelize: Enable warnings in tests
This commit is contained in:
committed by
Alexander Udalov
parent
ca74b7becc
commit
05da65654e
@@ -1,6 +1,7 @@
|
|||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
|
|
||||||
@file:JvmName("TestKt")
|
@file:JvmName("TestKt")
|
||||||
|
@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
|
||||||
package test
|
package test
|
||||||
|
|
||||||
import kotlinx.parcelize.*
|
import kotlinx.parcelize.*
|
||||||
|
|||||||
@@ -37,5 +37,5 @@ fun box() = parcelTest { parcel ->
|
|||||||
parcel.unmarshall(bytes, 0, bytes.size)
|
parcel.unmarshall(bytes, 0, bytes.size)
|
||||||
parcel.setDataPosition(0)
|
parcel.setDataPosition(0)
|
||||||
|
|
||||||
val test2 = parcelableCreator<ServiceContainer>().createFromParcel(parcel)
|
parcelableCreator<ServiceContainer>().createFromParcel(parcel)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
|
|
||||||
@file:JvmName("TestKt")
|
@file:JvmName("TestKt")
|
||||||
|
@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
|
||||||
package test
|
package test
|
||||||
|
|
||||||
import kotlinx.parcelize.*
|
import kotlinx.parcelize.*
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ data class User(val firstName: String, val secondName: String, val age: Int) : P
|
|||||||
|
|
||||||
override fun create(parcel: Parcel) = User(parcel.readString(), parcel.readString(), 0)
|
override fun create(parcel: Parcel) = User(parcel.readString(), parcel.readString(), 0)
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
override fun newArray(size: Int) = arrayOfNulls<User>(size) as Array<User>
|
override fun newArray(size: Int) = arrayOfNulls<User>(size) as Array<User>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -18,7 +18,7 @@ object Parceler1 : Parceler<String> {
|
|||||||
typealias Parceler2 = Parceler1
|
typealias Parceler2 = Parceler1
|
||||||
|
|
||||||
object Parceler3 : Parceler<String> {
|
object Parceler3 : Parceler<String> {
|
||||||
override fun create(parcel: Parcel) = parcel.readString().toUpperCase()
|
override fun create(parcel: Parcel) = parcel.readString().uppercase()
|
||||||
|
|
||||||
override fun String.write(parcel: Parcel, flags: Int) {
|
override fun String.write(parcel: Parcel, flags: Int) {
|
||||||
parcel.writeString(this)
|
parcel.writeString(this)
|
||||||
@@ -29,7 +29,7 @@ object Parceler3 : Parceler<String> {
|
|||||||
@TypeParceler<String, Parceler2>
|
@TypeParceler<String, Parceler2>
|
||||||
data class Test(
|
data class Test(
|
||||||
val a: String,
|
val a: String,
|
||||||
@TypeParceler<String, Parceler1> val b: String,
|
@<!REDUNDANT_TYPE_PARCELER!>TypeParceler<!><String, Parceler1> val b: String,
|
||||||
@TypeParceler<String, Parceler3> val c: CharSequence,
|
@TypeParceler<String, Parceler3> val c: CharSequence,
|
||||||
val d: @WriteWith<Parceler3> String
|
val d: @WriteWith<Parceler3> String
|
||||||
) : Parcelable
|
) : Parcelable
|
||||||
|
|||||||
@@ -21,5 +21,5 @@ fun box() = parcelTest { parcel ->
|
|||||||
parcel.unmarshall(bytes, 0, bytes.size)
|
parcel.unmarshall(bytes, 0, bytes.size)
|
||||||
parcel.setDataPosition(0)
|
parcel.setDataPosition(0)
|
||||||
|
|
||||||
val test2 = parcelableCreator<ExceptionContainer>().createFromParcel(parcel)
|
parcelableCreator<ExceptionContainer>().createFromParcel(parcel)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ fun box() = parcelTest { parcel ->
|
|||||||
parcel.unmarshall(bytes, 0, bytes.size)
|
parcel.unmarshall(bytes, 0, bytes.size)
|
||||||
parcel.setDataPosition(0)
|
parcel.setDataPosition(0)
|
||||||
|
|
||||||
val test2 = parcelableCreator<Test>().createFromParcel(parcel)
|
parcelableCreator<Test>().createFromParcel(parcel)
|
||||||
|
|
||||||
assert(test.callback() == 1)
|
assert(test.callback() == 1)
|
||||||
}
|
}
|
||||||
@@ -12,6 +12,7 @@ class JHelp(var j1: String) {
|
|||||||
val j2 = 9
|
val j2 = 9
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATED_ANNOTATION")
|
||||||
@Parcelize
|
@Parcelize
|
||||||
class J(val j: @RawValue JHelp) : Parcelable
|
class J(val j: @RawValue JHelp) : Parcelable
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ fun doTest(work: (Parcelable.Creator<DummyParcelable>) -> Unit): String {
|
|||||||
|
|
||||||
val clazz = dummy.javaClass
|
val clazz = dummy.javaClass
|
||||||
val field = clazz.getDeclaredField("CREATOR")
|
val field = clazz.getDeclaredField("CREATOR")
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
val creator = field.get(dummy) as Parcelable.Creator<DummyParcelable>
|
val creator = field.get(dummy) as Parcelable.Creator<DummyParcelable>
|
||||||
|
|
||||||
val parcel = Parcel.obtain()
|
val parcel = Parcel.obtain()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import android.os.Parcelable
|
|||||||
class User : Parcelable
|
class User : Parcelable
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
class User2() : Parcelable
|
class <!PARCELABLE_PRIMARY_CONSTRUCTOR_IS_EMPTY!>User2<!>() : Parcelable
|
||||||
|
|
||||||
fun box() = parcelTest { parcel ->
|
fun box() = parcelTest { parcel ->
|
||||||
val user = User()
|
val user = User()
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ import android.os.Parcelable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun box() = parcelTest { parcel ->
|
fun box() = parcelTest {
|
||||||
TestParcel()
|
TestParcel()
|
||||||
}
|
}
|
||||||
@@ -50,6 +50,4 @@ fun box() = parcelTest { parcel ->
|
|||||||
assert(first == first2)
|
assert(first == first2)
|
||||||
assert((first.d as LinkedList<*>).size == 1)
|
assert((first.d as LinkedList<*>).size == 1)
|
||||||
assert((first2.h as HashSet<*>).size == 1)
|
assert((first2.h as HashSet<*>).size == 1)
|
||||||
assert(first2.j is NavigableSet<*>)
|
|
||||||
assert(first2.k is SortedSet<*>)
|
|
||||||
}
|
}
|
||||||
@@ -42,6 +42,4 @@ fun box() = parcelTest { parcel ->
|
|||||||
assert(first == first2)
|
assert(first == first2)
|
||||||
assert((first.c as HashMap<*, *>).size == 1)
|
assert((first.c as HashMap<*, *>).size == 1)
|
||||||
assert((first2.e as TreeMap<*, *>).size == 1)
|
assert((first2.e as TreeMap<*, *>).size == 1)
|
||||||
assert(first2.f is SortedMap<*, *>)
|
|
||||||
assert(first2.g is NavigableMap<*, *>)
|
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ import android.os.Parcelable
|
|||||||
|
|
||||||
annotation class SerializableLike
|
annotation class SerializableLike
|
||||||
|
|
||||||
|
@Suppress("DEPRECATED_ANNOTATION")
|
||||||
@Parcelize @SerializableLike
|
@Parcelize @SerializableLike
|
||||||
data class User(val firstName: String, val secondName: String, val age: Int) : Parcelable
|
data class User(val firstName: String, val secondName: String, val age: Int) : Parcelable
|
||||||
|
|
||||||
@@ -20,6 +21,7 @@ fun box() = parcelTest { parcel ->
|
|||||||
parcel.unmarshall(bytes, 0, bytes.size)
|
parcel.unmarshall(bytes, 0, bytes.size)
|
||||||
parcel.setDataPosition(0)
|
parcel.setDataPosition(0)
|
||||||
|
|
||||||
|
@Suppress("UNCHECKED_CAST")
|
||||||
val creator = User::class.java.getDeclaredField("CREATOR").get(null) as Parcelable.Creator<User>
|
val creator = User::class.java.getDeclaredField("CREATOR").get(null) as Parcelable.Creator<User>
|
||||||
val user2 = creator.createFromParcel(parcel)
|
val user2 = creator.createFromParcel(parcel)
|
||||||
assert(user == user2)
|
assert(user == user2)
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// !OPT_IN: kotlin.ExperimentalUnsignedTypes
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// IGNORE_BACKEND: JVM
|
// IGNORE_BACKEND: JVM
|
||||||
|
|
||||||
|
|||||||
-1
@@ -45,7 +45,6 @@ abstract class AbstractParcelizeBoxTestBase<R : ResultingArtifact.FrontendOutput
|
|||||||
|
|
||||||
override fun TestConfigurationBuilder.configuration() {
|
override fun TestConfigurationBuilder.configuration() {
|
||||||
defaultDirectives {
|
defaultDirectives {
|
||||||
DIAGNOSTICS with "-warnings"
|
|
||||||
+REQUIRES_SEPARATE_PROCESS
|
+REQUIRES_SEPARATE_PROCESS
|
||||||
+REPORT_ONLY_EXPLICITLY_DEFINED_DEBUG_INFO
|
+REPORT_ONLY_EXPLICITLY_DEFINED_DEBUG_INFO
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user