Skip to content

Commit e0eb174

Browse files
ShikaSDkotlin-safe-merge[bot]
authored andcommitted
Fix classId for detecting protobuf enums
The classId implied `Internal` as a package whereas it is a class instead. The test that verified that was using incorrect instance of `EnumLite` which caused compiler to behave weirdly instead of failing with missing class. Fixes: 195200551 Test: Compiler tests
1 parent c379108 commit e0eb174

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

plugins/compose/compiler-hosted/integration-tests/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ kotlin {
5959
// Compose compiler deps
6060
implementation(project(":plugins:compose-compiler-plugin:compiler-hosted"))
6161
implementation(project(":plugins:compose-compiler-plugin:group-mapping"))
62+
63+
// protobuf dependencies for tests
64+
implementation(libs.protobuf.java.lite)
6265
implementation(project(":plugins:compose-compiler-plugin:compiler-hosted:integration-tests:protobuf-test-classes"))
6366

6467
// coroutines for runtime tests

plugins/compose/compiler-hosted/integration-tests/src/jvmTest/kotlin/androidx/compose/compiler/plugins/kotlin/LambdaMemoizationTransformTests.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
2121
import org.jetbrains.kotlin.config.LanguageFeature
2222
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
2323
import org.jetbrains.kotlin.config.languageVersionSettings
24-
import org.jetbrains.kotlin.protobuf.Internal.EnumLite
2524
import org.junit.Test
2625

2726
class LambdaMemoizationTransformTests(useFir: Boolean) : AbstractIrTransformTest(useFir) {
@@ -1066,7 +1065,7 @@ class LambdaMemoizationTransformTests(useFir: Boolean) : AbstractIrTransformTest
10661065
""",
10671066
additionalPaths = listOf(
10681067
Classpath.jarFor<EnumTestProtos>(), // protobuf-test-classes
1069-
Classpath.jarFor<EnumLite>() // protobuf-lite
1068+
Classpath.jarFor<com.google.protobuf.Internal.EnumLite>() // protobuf-lite
10701069
)
10711070
)
10721071

plugins/compose/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ import org.jetbrains.kotlin.ir.interpreter.hasAnnotation
5151
import org.jetbrains.kotlin.ir.symbols.*
5252
import org.jetbrains.kotlin.ir.symbols.impl.IrVariableSymbolImpl
5353
import org.jetbrains.kotlin.ir.types.*
54-
import org.jetbrains.kotlin.ir.types.classOrNull
5554
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
5655
import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl
5756
import org.jetbrains.kotlin.ir.util.*
@@ -1319,7 +1318,7 @@ abstract class AbstractComposeLowering(
13191318
private val irEnumOrdinal =
13201319
context.irBuiltIns.enumClass.owner.properties.single { it.name.asString() == "ordinal" }.getter!!
13211320

1322-
private val protobufEnumClassId = ClassId.fromString("com/google/protobuf/Internal/EnumLite")
1321+
private val protobufEnumClassId = ClassId.fromString("com/google/protobuf/Internal.EnumLite")
13231322

13241323
private fun IrExpression.ordinalIfEnum(): IrExpression {
13251324
val cls = type.classOrNull?.owner

0 commit comments

Comments
 (0)