Add property-setter test for companion tests

Change-Id: Ib0ce6a37d2213b0a2a3c9a69e67871dd650bc30a
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInCompanionTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInCompanionTest.java
index 7514ff5..9d75aaa 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInCompanionTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInCompanionTest.java
@@ -36,7 +36,12 @@
 public class MetadataRewriteInCompanionTest extends KotlinMetadataTestBase {
   private static final String EXPECTED =
       StringUtils.lines(
-          "B.Companion::foo", "B.Companion::foo", "B.Companion::foo", "B.Companion::foo");
+          "B.Companion::foo",
+          "B.Companion::foo",
+          "B.Companion::foo",
+          "B.Companion::foo",
+          "B.Companion::bar",
+          "Hello World!");
 
   private final TestParameters parameters;
 
@@ -125,8 +130,8 @@
             // Property in companion with @JvmField is defined in the host class, without accessors.
             .addKeepRules("-keepclassmembers class **.B { *** elt2; }")
             .addKeepRules("-keep class **.I { <methods>; }")
-            // Keep getters for B$Companion.(eltN|foo) which will be referenced at the app.
-            .addKeepRules("-keepclassmembers class **.B$* { *** get*(...); }")
+            // Keep getters/setters for B$Companion.(eltN|foo) which will be referenced at the app.
+            .addKeepRules("-keepclassmembers class **.B$* { *** get*(...); *** set*(...); }")
             // Keep the companion instance in the B class
             .addKeepRules("-keepclassmembers class **.B { *** Companion; }")
             // Keep the name of companion class
@@ -239,5 +244,9 @@
     MethodSubject fooGetter = companion.uniqueMethodWithName("getFoo");
     assertThat(fooGetter, isPresent());
     assertThat(fooGetter, not(isRenamed()));
+
+    MethodSubject barSetter = companion.uniqueMethodWithName("setBar");
+    assertThat(barSetter, isPresent());
+    assertThat(barSetter, not(isRenamed()));
   }
 }
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/companion_app/main.kt b/src/test/java/com/android/tools/r8/kotlin/metadata/companion_app/main.kt
index 403021e..ef4e23f 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/companion_app/main.kt
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/companion_app/main.kt
@@ -10,4 +10,7 @@
   B.elt1.doStuff()
   B.elt2.doStuff()
   println(B.foo)
+  println(B.bar)
+  B.bar = "Hello World!";
+  println(B.bar)
 }
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/companion_lib/lib.kt b/src/test/java/com/android/tools/r8/kotlin/metadata/companion_lib/lib.kt
index 8e69219..54db448 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/companion_lib/lib.kt
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/companion_lib/lib.kt
@@ -24,5 +24,10 @@
     val elt2: Super = B()
     val foo: String
       get() = "B.Companion::foo"
+    var bar : String = "B.Companion::bar"
+      get() = field
+      set(value) {
+        field = value
+      }
   }
 }