Tomáš Hubálek
11/15/2021, 9:11 AMFileA.kt
package mypackage
import org.jetbrains.compose.web.css.px
val a = 96.px
File MyTest.kt
package mypackage
val b = a
class StyleSheetTest {
@Test
fun testA() {
val result: CSSCalcValue<CSSUnitLength> = 100.vw - 2 * a
assertEquals("calc(100vw - 192px)", result.toString())
}
@Test
fun testB() {
val result: CSSCalcValue<CSSUnitLength> = 100.vw - 2 * b
assertEquals("calc(100vw - 192px)", result.toString())
}
}
testB
fails with TypeError: Cannot read properties of undefined (reading 'value')
@Akif Abasov [JB] any idea what is wrong? Is that compiler bug or some edge case optimalization in Kotlin JS IR compiler?Akif Abasov [JB]
11/15/2021, 9:13 AMAkif Abasov [JB]
11/15/2021, 9:13 AMval b = a
executed before val a = 96.px
Akif Abasov [JB]
11/15/2021, 9:15 AMprintln(b)
in test. It will print undefined
if i’m right.Tomáš Hubálek
11/15/2021, 9:16 AMFileA.kt
to
val a
get() = 96.px
helps.Akif Abasov [JB]
11/15/2021, 9:16 AMAkif Abasov [JB]
11/15/2021, 9:16 AMTomáš Hubálek
11/15/2021, 9:17 AMprintln(b)
really prints undefined
Tomáš Hubálek
11/15/2021, 9:17 AMTomáš Hubálek
11/15/2021, 9:18 AMNorbi
11/15/2021, 9:18 AMNo problem when I can workaround.Nice catch, please report an issue if you have some time...
Tomáš Hubálek
11/15/2021, 9:19 AMNorbi
11/15/2021, 9:20 AMit is Kotlin IR/JS featureIt seems to be a bug, not a feature.
Tomáš Hubálek
11/15/2021, 9:21 AMAkif Abasov [JB]
11/15/2021, 9:22 AMephemient
11/15/2021, 9:23 AMTomáš Hubálek
11/15/2021, 9:24 AMhfhbd
11/15/2021, 9:25 AMTomáš Hubálek
11/15/2021, 9:27 AMlouiscad
11/21/2021, 7:27 PM