Use LinkedHashMap for looking up properties when writing kotlin metadata
Bug: 195968520
Change-Id: I1798c64a801be4f8ac086a9b733b824e8c2eb6a9
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java b/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java
index 1b928d9..e84f57a 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinDeclarationContainerInfo.java
@@ -18,7 +18,7 @@
import com.android.tools.r8.shaking.EnqueuerMetadataTraceable;
import com.android.tools.r8.utils.Reporter;
import com.google.common.collect.ImmutableList;
-import java.util.IdentityHashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
@@ -168,7 +168,7 @@
rewritten |= typeAlias.rewrite(typeAliasProvider, appView, namingLens);
}
// For properties, we need to combine potentially a field, setter and getter.
- Map<KotlinPropertyInfo, KotlinPropertyGroup> properties = new IdentityHashMap<>();
+ Map<KotlinPropertyInfo, KotlinPropertyGroup> properties = new LinkedHashMap<>();
for (DexEncodedField field : clazz.fields()) {
if (field.getKotlinInfo().isProperty()) {
properties