fix getter building
diff --git a/plugins/compose/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt b/plugins/compose/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
index 3737d76..bb5c0e5 100644
--- a/plugins/compose/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
+++ b/plugins/compose/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/AbstractComposeLowering.kt
@@ -940,7 +940,7 @@
             val classKotlinVersion =
                 ((this as? Fir2IrLazyClass)?.fir?.klibSourceFile as? DeserializedSourceFile)?.library?.versions?.compilerVersion
             if (classKotlinVersion != null && classKotlinVersion.startsWith("1.9")) {
-                val stableField = this.buildStabilityProp()
+                val stableField = this.buildStabilityProp(false)
                 val backingField = stableField.backingField!!
 
                 return irGetField(backingField)
@@ -973,8 +973,7 @@
     }
 
     private fun IrClass.makeStabilityFieldNonJvm(): IrField {
-        val prop = this.buildStabilityProp()
-        this.buildStabilityGetter(prop)
+        val prop = this.buildStabilityProp(true)
         return prop.backingField!!
     }
 
@@ -990,11 +989,11 @@
         }
     }
 
-    private fun IrClass.buildStabilityProp(): IrProperty {
-        val fieldParent = this.getPackageFragment()
+    private fun IrClass.buildStabilityProp(buildGetter: Boolean): IrProperty {
+        val parent = this.getPackageFragment()
 
-        val propName = this@buildStabilityProp.uniqueStabilityPropertyName()
-        val existingProp = fieldParent.declarations.firstOrNull {
+        val propName = this.uniqueStabilityPropertyName()
+        val existingProp = parent.declarations.firstOrNull {
             it is IrProperty && it.name == propName
         } as? IrProperty
         if (existingProp != null) {
@@ -1002,7 +1001,7 @@
         }
 
         val stabilityField = buildStabilityField(uniqueStabilityFieldName()).also {
-            it.parent = fieldParent
+            it.parent = parent
         }
 
         val property = context.irFactory.buildProperty {
@@ -1011,10 +1010,14 @@
             name = propName
             visibility = DescriptorVisibilities.PUBLIC
         }.also { property ->
-            property.parent = fieldParent
+            property.parent = parent
             stabilityField.correspondingPropertySymbol = property.symbol
             property.backingField = stabilityField
-            fieldParent.addChild(property)
+            parent.addChild(property)
+        }
+
+        if (buildGetter) {
+            this.buildStabilityGetter(property, parent)
         }
 
         return property
@@ -1026,8 +1029,7 @@
         constructorSymbol = hiddenFromObjCAnnotationSymbol.constructors.first()
     )
 
-    private fun IrClass.buildStabilityGetter(stabilityProp: IrProperty) {
-        val fieldParent = stabilityProp.parent as IrPackageFragment
+    private fun IrClass.buildStabilityGetter(stabilityProp: IrProperty, parent: IrPackageFragment) {
         val getterName = uniqueStabilityGetterName()
 
         val stabilityField = stabilityProp.backingField!!
@@ -1044,11 +1046,11 @@
             origin = IrDeclarationOrigin.GeneratedByPlugin(ComposeCompilerKey)
             annotations = listOf(hiddenFromObjCAnnotation)
         }.also { fn ->
-            fn.parent = fieldParent
+            fn.parent = parent
             fn.body = DeclarationIrBuilder(context, fn.symbol).irBlockBody {
                 +irReturn(irGetField(stabilityField))
             }
-            fieldParent.addChild(fn)
+            parent.addChild(fn)
         }
 
         context.metadataDeclarationRegistrar.addMetadataVisibleAnnotationsToElement(stabilityGetter, hiddenFromObjCAnnotation)