diff options
author | Jonas Herzig <jonas@spark-squared.com> | 2021-11-12 12:58:49 +0100 |
---|---|---|
committer | Jonas Herzig <jonas@spark-squared.com> | 2021-11-13 10:28:09 +0100 |
commit | 3ee08cbce94a4e7e1ce668f06f5a612cd9f1e677 (patch) | |
tree | 940042d08d31be55f9c1ea643bf3cf41070121ce /src/test | |
parent | b30404f156adb6e01bfe4edc50b4de4245ba4509 (diff) | |
download | Remap-3ee08cbce94a4e7e1ce668f06f5a612cd9f1e677.tar.gz Remap-3ee08cbce94a4e7e1ce668f06f5a612cd9f1e677.tar.bz2 Remap-3ee08cbce94a4e7e1ce668f06f5a612cd9f1e677.zip |
Fix mapping of synthetic properties when overridden in Kotlin class
In these cases, the getMethod of the property will not have a Psi element and we
need to traverse up the overrides until we find one that does.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/kotlin/com/replaymod/gradle/remap/mapper/kotlin/TestKotlinSyntheticProperties.kt | 13 | ||||
-rw-r--r-- | src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/test/kotlin/com/replaymod/gradle/remap/mapper/kotlin/TestKotlinSyntheticProperties.kt b/src/test/kotlin/com/replaymod/gradle/remap/mapper/kotlin/TestKotlinSyntheticProperties.kt index b77978a..20b65b9 100644 --- a/src/test/kotlin/com/replaymod/gradle/remap/mapper/kotlin/TestKotlinSyntheticProperties.kt +++ b/src/test/kotlin/com/replaymod/gradle/remap/mapper/kotlin/TestKotlinSyntheticProperties.kt @@ -141,4 +141,17 @@ class TestKotlinSyntheticProperties { val v = B().b """.trimIndent() } + + @Test + fun `remaps synthetic property even when overwritten in kotlin subclass`() { + TestData.remapKt(""" + import pkg.Kt + val v = Kt().syntheticA + fun test() { Kt().syntheticA = Kt() } + """.trimIndent()) shouldBe """ + import pkg.Kt + val v = Kt().syntheticB + fun test() { Kt().syntheticB = Kt() } + """.trimIndent() + } } diff --git a/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt b/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt index c40635c..c5b8851 100644 --- a/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt +++ b/src/test/kotlin/com/replaymod/gradle/remap/util/TestData.kt @@ -40,10 +40,12 @@ object TestData { classpath = arrayOf( findClasspathEntry("org.spongepowered.asm.mixin.Mixin"), findClasspathEntry("a.pkg.A"), + findClasspathEntry("AMarkerKt"), ) remappedClasspath = arrayOf( findClasspathEntry("org.spongepowered.asm.mixin.Mixin"), findClasspathEntry("b.pkg.B"), + findClasspathEntry("BMarkerKt"), ) patternAnnotation = "remap.Pattern" } |