Naing Aung Luu
11/11/2022, 9:03 AMkotlin reflect
related codes in your composables?
I’m trying to use a form validation library for compose which uses kotlin reflect under the hood and it makes the preview builds to be fail ☹️
I get the following stack trace from preview issues panel
java.lang.ClassCastException: class _layoutlib_._internal_.kotlin.jvm.internal.ClassReference cannot be cast to class _layoutlib_._internal_.kotlin.reflect.jvm.internal.KClassImpl (_layoutlib_._internal_.kotlin.jvm.internal.ClassReference and _layoutlib_._internal_.kotlin.reflect.jvm.internal.KClassImpl are in unnamed module of loader org.jetbrains.android.uipreview.ModuleClassLoader @447dcf4d)
at _layoutlib_._internal_.kotlin.reflect.full.KClasses.getPrimaryConstructor(KClasses.kt:36)
at me.naingaungluu.formconductor.FormImpl.constructorRequirementSatisfied(FormImpl.kt:135)
at me.naingaungluu.formconductor.FormImpl.<init>(FormImpl.kt:46)
at me.naingaungluu.formconductor.composeui.FormComposablesKt.form(FormComposables.kt:36)
at com.memoto.mobileapp.feature.booking.checkin.guests.ComposableSingletons$CheckInGuestFormScreenKt$lambda-2$1.invoke(CheckInGuestFormScreen.kt:44)
at com.memoto.mobileapp.feature.booking.checkin.guests.ComposableSingletons$CheckInGuestFormScreenKt$lambda-2$1.invoke(CheckInGuestFormScreen.kt:43)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.foundation.lazy.LazyListScopeImpl$item$3.invoke(LazyListScopeImpl.kt:54)
at androidx.compose.foundation.lazy.LazyListScopeImpl$item$3.invoke(LazyListScopeImpl.kt:54)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:135)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.foundation.lazy.LazyListItemsSnapshot.Item(LazyListItemProviderImpl.kt:99)
at androidx.compose.foundation.lazy.LazyListItemProviderImpl.Item(LazyListItemProviderImpl.kt:126)
at ......
jossiwolf
11/11/2022, 5:17 PMChris Sinco [G]
11/11/2022, 5:30 PMNaing Aung Luu
11/12/2022, 8:13 AMdata class DummyForm(
val emailAddress: String = ""
)
@Composable
fun ErroneousComposable() {
val primaryConstructor = (DummyForm::class as KClass<DummyForm>).primaryConstructor
}
Naing Aung Luu
11/12/2022, 8:13 AMNaing Aung Luu
11/12/2022, 8:13 AMChris Sinco [G]
11/16/2022, 4:39 PM