Fix getter and setter metadata flags.
This CL fixes the flags passed to the getter and setter methods of
properties so that the flags correctly represent the given element.
Test: XTypeElementTest
Change-Id: Ic15a88c8e44ad49b31b8e84777e08900269ca18f
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
index dac0eea..f6e76c6 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
@@ -323,7 +323,7 @@
jvmName = setterSignature.name,
name = JvmAbi.computeSetterName(name),
descriptor = setterSignature.asString(),
- flags = 0,
+ flags = setterFlags,
typeArguments = emptyList(),
parameters = listOf(param),
returnType = KM_VOID_TYPE,
@@ -336,7 +336,7 @@
jvmName = getterSignature.name,
name = JvmAbi.computeGetterName(name),
descriptor = getterSignature.asString(),
- flags = flags,
+ flags = getterFlags,
typeArguments = emptyList(),
parameters = emptyList(),
returnType = returnType,
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
index 6546289..be70bab 100644
--- a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
@@ -1901,6 +1901,11 @@
assertThat(internalClass.getDeclaredField("varField").isInternal()).isTrue()
assertThat(internalClass.getDeclaredField("lateinitVarField").isInternal()).isTrue()
assertThat(internalClass.getDeclaredMethod("method").isInternal()).isTrue()
+ assertThat(internalClass.getDeclaredMethod("getValField").isInternal()).isTrue()
+ assertThat(internalClass.getDeclaredMethod("getVarField").isInternal()).isTrue()
+ assertThat(internalClass.getDeclaredMethod("getLateinitVarField").isInternal()).isTrue()
+ assertThat(internalClass.getDeclaredMethod("setVarField").isInternal()).isTrue()
+ assertThat(internalClass.getDeclaredMethod("setLateinitVarField").isInternal()).isTrue()
val publicClass = invocation.processingEnv.requireTypeElement("test.PublicClass")
assertThat(publicClass.isInternal()).isFalse()
@@ -1909,6 +1914,11 @@
assertThat(publicClass.getDeclaredField("varField").isInternal()).isFalse()
assertThat(publicClass.getDeclaredField("lateinitVarField").isInternal()).isFalse()
assertThat(publicClass.getDeclaredMethod("method").isInternal()).isFalse()
+ assertThat(publicClass.getDeclaredMethod("getValField").isInternal()).isFalse()
+ assertThat(publicClass.getDeclaredMethod("getVarField").isInternal()).isFalse()
+ assertThat(publicClass.getDeclaredMethod("getLateinitVarField").isInternal()).isFalse()
+ assertThat(publicClass.getDeclaredMethod("setVarField").isInternal()).isFalse()
+ assertThat(publicClass.getDeclaredMethod("setLateinitVarField").isInternal()).isFalse()
}
}