Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit e35f66106e6d7ed231d79d69b9c8b93b3394dde8
Author: Yigit Boyar <yboyar@google.com>
Date: Mon Nov 15 10:48:19 2021
Read property accessor meteadata in KAPT
This CL updates KotlinMetadataElement to also read property accessors
and synthesize KmFunction for them so that JavacExecutableElement can
find them.
This does not have any impact right now but will eventually be used to
support internal properties properly.
Note that, accessors are not functions in metadata. As such, I'm
synthesizing a KmFunction from KmAccessor, which may not be 100%
accurate. When in doubt, I preferred 0 flags (instead of flags of
properties etc). Since accessors are not always defined, I also made the
KmValueParameter's name nullable.
I've also added name and jvmName to KmFunction to distinguish between
the name in source vs the name generated by the kotlin compiler. This
will again be used for supporting internal properties once we add
relevant API to XMethodElement.
Bug: 205289020
Test: KotlinMetadataElementTest
Change-Id: If85f0832ee91bcdff25a660b11e1a38e625fc60a
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElementTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/NamingUtils.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElement.kt
https://android-review.googlesource.com/1893051
Branch: androidx-main
commit e35f66106e6d7ed231d79d69b9c8b93b3394dde8
Author: Yigit Boyar <yboyar@google.com>
Date: Mon Nov 15 10:48:19 2021
Read property accessor meteadata in KAPT
This CL updates KotlinMetadataElement to also read property accessors
and synthesize KmFunction for them so that JavacExecutableElement can
find them.
This does not have any impact right now but will eventually be used to
support internal properties properly.
Note that, accessors are not functions in metadata. As such, I'm
synthesizing a KmFunction from KmAccessor, which may not be 100%
accurate. When in doubt, I preferred 0 flags (instead of flags of
properties etc). Since accessors are not always defined, I also made the
KmValueParameter's name nullable.
I've also added name and jvmName to KmFunction to distinguish between
the name in source vs the name generated by the kotlin compiler. This
will again be used for supporting internal properties once we add
relevant API to XMethodElement.
Bug: 205289020
Test: KotlinMetadataElementTest
Change-Id: If85f0832ee91bcdff25a660b11e1a38e625fc60a
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElementTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/util/NamingUtils.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinMetadataElement.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit beae10a7c9d4a7daf538c9894539506d7e25a0d6
Author: Yigit Boyar <yboyar@google.com>
Date: Wed Nov 17 16:07:54 2021
Add name property to XMethodElement
Adding back name to XMethodElement that simply delegates to jvmName.
This should land into g3 to ease dagger migration and a followup CL
will make it match the documentation. That is, XMethodElement.name
means the name in source, not java binary.
Bug: 205289020
Test: existing tests
Change-Id: I86422b7ba69efa6f6747f033e6b6cf08514b490c
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XMethodElement.kt
https://android-review.googlesource.com/1896035
Branch: androidx-main
commit beae10a7c9d4a7daf538c9894539506d7e25a0d6
Author: Yigit Boyar <yboyar@google.com>
Date: Wed Nov 17 16:07:54 2021
Add name property to XMethodElement
Adding back name to XMethodElement that simply delegates to jvmName.
This should land into g3 to ease dagger migration and a followup CL
will make it match the documentation. That is, XMethodElement.name
means the name in source, not java binary.
Bug: 205289020
Test: existing tests
Change-Id: I86422b7ba69efa6f6747f033e6b6cf08514b490c
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XMethodElement.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 20a59c33ba405e6749bd6fa80faa32e4c6fa370f
Author: Yigit Boyar <yboyar@google.com>
Date: Mon Nov 15 08:40:32 2021
Add XMethodElement#name to reflect source name
This CL adds back the name property to XMethodElement. Unlike jvmName,
this property refers to the name in source and might be different from
the JVM name.
Note that, for functions that reference a value class, kotlin generates
a name with - in it, which makes it invalid in java source. As such,
these methods don't show up in KAPT stubs but they do show up in
compiled code. We should probably address that inconsistency in
XProcessing eventually ( b/206517658 ).
A followup CL will update Room to use name where it makes sense to fix
the internals bug.
Bug: 206517658
Bug: 205289020
Test: XExecutableElementTest
Change-Id: I79864ffdde24d7edd7f0c49f668efc920ace3857
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
https://android-review.googlesource.com/1892715
Branch: androidx-main
commit 20a59c33ba405e6749bd6fa80faa32e4c6fa370f
Author: Yigit Boyar <yboyar@google.com>
Date: Mon Nov 15 08:40:32 2021
Add XMethodElement#name to reflect source name
This CL adds back the name property to XMethodElement. Unlike jvmName,
this property refers to the name in source and might be different from
the JVM name.
Note that, for functions that reference a value class, kotlin generates
a name with - in it, which makes it invalid in java source. As such,
these methods don't show up in KAPT stubs but they do show up in
compiled code. We should probably address that inconsistency in
XProcessing eventually (
A followup CL will update Room to use name where it makes sense to fix
the internals bug.
Bug: 206517658
Bug: 205289020
Test: XExecutableElementTest
Change-Id: I79864ffdde24d7edd7f0c49f668efc920ace3857
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/kotlin/KotlinClassMetadataUtils.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit dd1f1d0c043d8986a98cc7fd08f3e997d0fc264a
Author: Yigit Boyar <yboyar@google.com>
Date: Fri Nov 12 23:19:09 2021
Rename XMethodElement.name to jvmName
This is in preparation for separating method names from their jvm names.
This CL is a no-op simple rename. The followup will introduce name back
which will refer to the name in source code. Moreover, that CL will also
change Room to use name whenever appropriate. For instance, when
matching fields to their setters/getters, we actually want the name, not
jvm name because jvm name of methods might differenciate based on the
visibility of the method.
Separating name vs jvmName has two benefits:
a) Performance. Resolving jvm name is expensive in KSP because it
requires resolving types (to see if they are inline). Note that gaining
this performance for classpath inputs will require changing XProcessing
to not always return fields / methods in their declaration order (make
it an additional API instead).
b) Logically, we always want the name except for java code generation.
Bug: 205289020
Test: existing tests
Change-Id: I7fd61193db833922ee3b7af64f6cf20eb3d244c0
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeNamesGoldenTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DeletionMethodProcessor.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationBoxTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/ResolverExt.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/FieldSetter.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XRoundEnvTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/DeletionMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/UpdateMethodProcessor.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/TableEntityProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/InsertionMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DaoProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/PojoMethodProcessor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XNullabilityTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspClassFileUtility.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/FieldGetter.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/CustomTypeConverter.kt
M room/room-compiler/src/main/kotlin/androidx/room/ext/xtype_ext.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/ShortcutMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/PojoMethod.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingStepTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/QueryMethod.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/InternalModifierTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/MethodProcessorDelegate.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodElement.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseProcessor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/JavaPoetExt.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSAsMemberOfTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/TransactionMethodProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/InsertionMethodProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/Constructor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MethodSpecHelperTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XElementTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/DaoMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/UpdateMethod.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/DeclarationCollector.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeAliasTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KotlinMetadataTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/util/TestExtensions.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableTypeTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/ShortcutMethodProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/ShortcutParameterProcessor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KspClassFileUtilityTest.kt
https://android-review.googlesource.com/1891247
Branch: androidx-main
commit dd1f1d0c043d8986a98cc7fd08f3e997d0fc264a
Author: Yigit Boyar <yboyar@google.com>
Date: Fri Nov 12 23:19:09 2021
Rename XMethodElement.name to jvmName
This is in preparation for separating method names from their jvm names.
This CL is a no-op simple rename. The followup will introduce name back
which will refer to the name in source code. Moreover, that CL will also
change Room to use name whenever appropriate. For instance, when
matching fields to their setters/getters, we actually want the name, not
jvm name because jvm name of methods might differenciate based on the
visibility of the method.
Separating name vs jvmName has two benefits:
a) Performance. Resolving jvm name is expensive in KSP because it
requires resolving types (to see if they are inline). Note that gaining
this performance for classpath inputs will require changing XProcessing
to not always return fields / methods in their declaration order (make
it an additional API instead).
b) Logically, we always want the name except for java code generation.
Bug: 205289020
Test: existing tests
Change-Id: I7fd61193db833922ee3b7af64f6cf20eb3d244c0
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeNamesGoldenTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DeletionMethodProcessor.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/DaoProcessorTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/FallbackLocationInformationTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationBoxTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/synthetic/KspSyntheticPropertyMethodElement.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/RawQueryMethodProcessor.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/InsertionMethodProcessorTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/ResolverExt.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/FieldSetter.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XRoundEnvTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/ext/ElementExtTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/DeletionMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/UpdateMethodProcessor.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/TableEntityProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/InsertionMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DaoProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/PojoMethodProcessor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XNullabilityTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspClassFileUtility.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/FieldGetter.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/DatabaseProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/CustomTypeConverter.kt
M room/room-compiler/src/main/kotlin/androidx/room/ext/xtype_ext.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/ShortcutMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/PojoMethod.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XProcessingStepTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/QueryMethod.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/InternalModifierTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspTypeTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/MethodProcessorDelegate.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/javac/JavacMethodElement.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/DatabaseProcessor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/FieldReadWriteWriter.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/XMethodElement.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/JavaPoetExt.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KSAsMemberOfTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableElementTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/TransactionMethodProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/InsertionMethodProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/writer/DaoWriter.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/Constructor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/MethodSpecHelperTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XElementTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XAnnotationTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/DaoMethod.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
M room/room-compiler/src/main/kotlin/androidx/room/vo/UpdateMethod.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/DeclarationCollector.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/TypeAliasTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KotlinMetadataTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/util/TestExtensions.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XExecutableTypeTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/compat/XConvertersTest.kt
M room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspMethodElement.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
M room/room-compiler/src/test/kotlin/androidx/room/processor/ShortcutMethodProcessorTest.kt
M room/room-compiler/src/main/kotlin/androidx/room/processor/ShortcutParameterProcessor.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/XTypeElementTest.kt
M room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/KspClassFileUtilityTest.kt
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 7ce58f6d42595983aab61f37ac70032e9171e238
Author: Yigit Boyar <yboyar@google.com>
Date: Mon Nov 15 21:15:55 2021
Support internal properties in Room
This CL fixes a bug in POJO processor where while matching fields to
methods, it was using the jvm name of the method rather than the source
name.
As the JVM name for internal properties get a $pkg suffix, they were not
matching the property
Fixes: 205289020
Test: InternalsTest
RelNote: "Added support for internal properties in Kotlin sources.
This is a slight behavior change in Room where it will use the source
name of functions while matching them to properties as getters/setters
(previously, it was using JVM name of the function which is different
for internal functions/properties).
If you are using custom `@JvmName` annotations to match getters/setters
to private properties, please double check the generated code after the
update"
Change-Id: If653164362c49fd00650d9a953f330afdb309c1c
M room/room-compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
A room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InternalsTest.kt
https://android-review.googlesource.com/1893381
Branch: androidx-main
commit 7ce58f6d42595983aab61f37ac70032e9171e238
Author: Yigit Boyar <yboyar@google.com>
Date: Mon Nov 15 21:15:55 2021
Support internal properties in Room
This CL fixes a bug in POJO processor where while matching fields to
methods, it was using the jvm name of the method rather than the source
name.
As the JVM name for internal properties get a $pkg suffix, they were not
matching the property
Fixes: 205289020
Test: InternalsTest
RelNote: "Added support for internal properties in Kotlin sources.
This is a slight behavior change in Room where it will use the source
name of functions while matching them to properties as getters/setters
(previously, it was using JVM name of the function which is different
for internal functions/properties).
If you are using custom `@JvmName` annotations to match getters/setters
to private properties, please double check the generated code after the
update"
Change-Id: If653164362c49fd00650d9a953f330afdb309c1c
M room/room-compiler/src/main/kotlin/androidx/room/processor/PojoProcessor.kt
A room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InternalsTest.kt
Description
see this test:https://android-review.googlesource.com/c/platform/frameworks/support/+/1881029/3/room/integration-tests/kotlintestapp/src/androidTest/java/androidx/room/integration/kotlintestapp/test/InternalsTest.kt#48
This does not even compile as it seems like we don't properly rename getters/setters for properties such that we cannot find the getter/setter for internal properties.