Revert deprecation in r8 test

Bug: b/341991457
Change-Id: I12d50adbd1d4167921ee9d372c20c6c17a4e1740
diff --git a/src/main/java/com/android/tools/r8/kotlin/KotlinFlagUtils.java b/src/main/java/com/android/tools/r8/kotlin/KotlinFlagUtils.java
index d541b5d..3bb712e 100644
--- a/src/main/java/com/android/tools/r8/kotlin/KotlinFlagUtils.java
+++ b/src/main/java/com/android/tools/r8/kotlin/KotlinFlagUtils.java
@@ -52,7 +52,7 @@
   private static final String DECLARES_DEFAULT_VALUE_KEY = "declaresDefaultValue";
   private static final String CROSS_INLINE_KEY = "crossInline";
   private static final String NO_INLINE_KEY = "noInline";
-  private static final String REIFIED_KEY = "reified_key";
+  public static final String REIFIED_KEY = "reified";
 
   public static Map<String, Object> extractFlags(KmProperty src) {
     Map<String, Object> map = new HashMap<>();
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java
index 12fe3cb..117ae24 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteInTypeArgumentsTest.java
@@ -15,6 +15,7 @@
 
 import com.android.tools.r8.KotlinTestParameters;
 import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.kotlin.KotlinFlagUtils;
 import com.android.tools.r8.shaking.ProguardKeepAttributes;
 import com.android.tools.r8.utils.StringUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
@@ -28,9 +29,11 @@
 import com.android.tools.r8.utils.codeinspector.KmTypeProjectionSubject;
 import com.android.tools.r8.utils.codeinspector.KmTypeSubject;
 import com.android.tools.r8.utils.codeinspector.KmValueParameterSubject;
+import com.google.common.collect.ImmutableMap;
 import java.nio.file.Path;
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 import kotlin.metadata.KmClassifier.TypeParameter;
 import kotlin.metadata.KmVariance;
 import org.junit.Test;
@@ -42,8 +45,10 @@
 
   private static final String LIB_PKG = PKG + ".typeargument_lib.";
 
-  private static final int FLAG_NONE = 0;
-  private static final int FLAG_REIFIED = 1;
+  private static final Map<String, Object> FLAG_NONE =
+      ImmutableMap.of(KotlinFlagUtils.REIFIED_KEY, false);
+  private static final Map<String, Object> FLAG_REIFIED =
+      ImmutableMap.of(KotlinFlagUtils.REIFIED_KEY, true);
 
   private static final String EXPECTED =
       StringUtils.lines(
@@ -258,7 +263,11 @@
   }
 
   private void inspectTypeParameter(
-      KmTypeParameterSubjectMixin subject, String name, int id, int flags, KmVariance variance) {
+      KmTypeParameterSubjectMixin subject,
+      String name,
+      int id,
+      Map<String, Object> flags,
+      KmVariance variance) {
     KmTypeParameterSubject typeParameter = subject.kmTypeParameterWithUniqueName(name);
     assertThat(typeParameter, isPresent());
     assertEquals(id, typeParameter.getId());
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/AbsentKmTypeParameterSubject.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/AbsentKmTypeParameterSubject.java
index 87e4427..1023d84 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/AbsentKmTypeParameterSubject.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/AbsentKmTypeParameterSubject.java
@@ -5,7 +5,9 @@
 package com.android.tools.r8.utils.codeinspector;
 
 import com.android.tools.r8.errors.Unreachable;
+import com.google.common.collect.ImmutableMap;
 import java.util.List;
+import java.util.Map;
 import kotlin.metadata.KmVariance;
 
 public class AbsentKmTypeParameterSubject extends KmTypeParameterSubject {
@@ -31,8 +33,8 @@
   }
 
   @Override
-  public int getFlags() {
-    return 0;
+  public Map<String, Object> getFlags() {
+    return ImmutableMap.of();
   }
 
   @Override
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmDeclarationContainerSubject.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmDeclarationContainerSubject.java
index 7a6ebc9..21329bf 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmDeclarationContainerSubject.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmDeclarationContainerSubject.java
@@ -10,19 +10,13 @@
 import java.util.Objects;
 import java.util.stream.Collectors;
 import kotlin.metadata.KmDeclarationContainer;
-import kotlin.metadata.KmExtensionType;
 import kotlin.metadata.KmFunction;
-import kotlin.metadata.KmFunctionExtensionVisitor;
-import kotlin.metadata.KmFunctionVisitor;
 import kotlin.metadata.KmProperty;
-import kotlin.metadata.KmPropertyExtensionVisitor;
-import kotlin.metadata.KmPropertyVisitor;
 import kotlin.metadata.KmType;
 import kotlin.metadata.KmTypeAlias;
+import kotlin.metadata.jvm.JvmExtensionsKt;
 import kotlin.metadata.jvm.JvmFieldSignature;
-import kotlin.metadata.jvm.JvmFunctionExtensionVisitor;
 import kotlin.metadata.jvm.JvmMethodSignature;
-import kotlin.metadata.jvm.JvmPropertyExtensionVisitor;
 
 public interface FoundKmDeclarationContainerSubject extends KmDeclarationContainerSubject {
 
@@ -61,21 +55,7 @@
     JvmMethodSignature signature = null;
 
     KmFunctionProcessor(KmFunction kmFunction) {
-      kmFunction.accept(new KmFunctionVisitor() {
-        @Override
-        public KmFunctionExtensionVisitor visitExtensions(KmExtensionType type) {
-          if (type != JvmFunctionExtensionVisitor.TYPE) {
-            return null;
-          }
-          return new JvmFunctionExtensionVisitor() {
-            @Override
-            public void visit(JvmMethodSignature desc) {
-              assert signature == null : signature.asString();
-              signature = desc;
-            }
-          };
-        }
-      });
+      signature = JvmExtensionsKt.getSignature(kmFunction);
       // We don't check Kotlin types in tests, but be aware of the relocation issue.
       // See b/70169921#comment57 for more details.
     }
@@ -161,29 +141,9 @@
     JvmMethodSignature setterSignature = null;
 
     KmPropertyProcessor(KmProperty kmProperty) {
-      kmProperty.accept(new KmPropertyVisitor() {
-        @Override
-        public KmPropertyExtensionVisitor visitExtensions(KmExtensionType type) {
-          if (type != JvmPropertyExtensionVisitor.TYPE) {
-            return null;
-          }
-          return new JvmPropertyExtensionVisitor() {
-            @Override
-            public void visit(
-                int flags,
-                JvmFieldSignature fieldDesc,
-                JvmMethodSignature getterDesc,
-                JvmMethodSignature setterDesc) {
-              assert fieldSignature == null : fieldSignature.asString();
-              fieldSignature = fieldDesc;
-              assert getterSignature == null : getterSignature.asString();
-              getterSignature = getterDesc;
-              assert setterSignature == null : setterSignature.asString();
-              setterSignature = setterDesc;
-            }
-          };
-        }
-      });
+      fieldSignature = JvmExtensionsKt.getFieldSignature(kmProperty);
+      getterSignature = JvmExtensionsKt.getGetterSignature(kmProperty);
+      setterSignature = JvmExtensionsKt.getSetterSignature(kmProperty);
       // We don't check Kotlin types in tests, but be aware of the relocation issue.
       // See b/70169921#comment57 for more details.
     }
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmTypeParameterSubject.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmTypeParameterSubject.java
index 7640064..c8ce440 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmTypeParameterSubject.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/FoundKmTypeParameterSubject.java
@@ -1,6 +1,8 @@
 package com.android.tools.r8.utils.codeinspector;
 
+import com.android.tools.r8.kotlin.KotlinFlagUtils;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import kotlin.metadata.KmTypeParameter;
 import kotlin.metadata.KmVariance;
@@ -36,8 +38,8 @@
   }
 
   @Override
-  public int getFlags() {
-    return kmTypeParameter.getFlags();
+  public Map<String, Object> getFlags() {
+    return KotlinFlagUtils.extractFlags(kmTypeParameter);
   }
 
   @Override
@@ -60,7 +62,8 @@
     KmTypeParameter other = ((FoundKmTypeParameterSubject) obj).kmTypeParameter;
     if (!kmTypeParameter.getName().equals(other.getName())
         || kmTypeParameter.getId() != other.getId()
-        || kmTypeParameter.getFlags() != other.getFlags()
+        || !(KotlinFlagUtils.extractFlags(kmTypeParameter)
+            .equals(KotlinFlagUtils.extractFlags(other)))
         || kmTypeParameter.getVariance() != other.getVariance()) {
       return false;
     }
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeParameterSubject.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeParameterSubject.java
index bc70b90..d484199 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeParameterSubject.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeParameterSubject.java
@@ -5,13 +5,14 @@
 package com.android.tools.r8.utils.codeinspector;
 
 import java.util.List;
+import java.util.Map;
 import kotlin.metadata.KmVariance;
 
 public abstract class KmTypeParameterSubject extends Subject {
 
   public abstract int getId();
 
-  public abstract int getFlags();
+  public abstract Map<String, Object> getFlags();
 
   public abstract KmVariance getVariance();
 
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeSubject.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeSubject.java
index 0bdeb7e..81828a7 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeSubject.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmTypeSubject.java
@@ -6,15 +6,16 @@
 import static com.android.tools.r8.utils.DescriptorUtils.getDescriptorFromKotlinClassifier;
 
 import com.android.tools.r8.errors.Unreachable;
+import com.android.tools.r8.kotlin.KotlinFlagUtils;
 import com.android.tools.r8.references.Reference;
-import com.android.tools.r8.utils.Box;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
 import kotlin.metadata.KmAnnotation;
+import kotlin.metadata.KmClassifier;
+import kotlin.metadata.KmClassifier.TypeAlias;
 import kotlin.metadata.KmFlexibleTypeUpperBound;
 import kotlin.metadata.KmType;
-import kotlin.metadata.KmTypeVisitor;
 import kotlin.metadata.jvm.JvmExtensionsKt;
 
 public class KmTypeSubject extends Subject {
@@ -32,23 +33,17 @@
     if (kmType == null) {
       return null;
     }
-    Box<String> descriptor = new Box<>(null);
-    kmType.accept(new KmTypeVisitor() {
-      @Override
-      public void visitClass(String name) {
-        // We don't check Kotlin types in tests, but be aware of the relocation issue.
-        // See b/70169921#comment25 for more details.
-        assert descriptor.get() == null;
-        descriptor.set(getDescriptorFromKotlinClassifier(name));
-      }
-
-      @Override
-      public void visitTypeAlias(String name) {
-        assert descriptor.get() == null;
-        descriptor.set(getDescriptorFromKotlinClassifier(name));
-      }
-    });
-    return descriptor.get();
+    KmClassifier classifier = kmType.getClassifier();
+    if (classifier instanceof KmClassifier.Class) {
+      KmClassifier.Class classClassifier = (KmClassifier.Class) classifier;
+      return getDescriptorFromKotlinClassifier(classClassifier.getName());
+    }
+    if (classifier instanceof KmClassifier.TypeAlias) {
+      TypeAlias typeAliasClassifier = (TypeAlias) classifier;
+      return getDescriptorFromKotlinClassifier(typeAliasClassifier.getName());
+    }
+    // The case KmClassifier.TypeParameter is not implemented (?).
+    return null;
   }
 
   public String descriptor() {
@@ -107,7 +102,7 @@
     if (one == null || other == null) {
       return false;
     }
-    if (one.getFlags() != other.getFlags()) {
+    if (!KotlinFlagUtils.extractFlags(one).equals(KotlinFlagUtils.extractFlags(other))) {
       return false;
     }
     if (!one.classifier.toString().equals(other.classifier.toString())) {
diff --git a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmValueParameterSubject.java b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmValueParameterSubject.java
index 2586325..45ffeda 100644
--- a/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmValueParameterSubject.java
+++ b/src/test/testbase/java/com/android/tools/r8/utils/codeinspector/KmValueParameterSubject.java
@@ -3,9 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 package com.android.tools.r8.utils.codeinspector;
 
-import static kotlin.metadata.Flag.ValueParameter.DECLARES_DEFAULT_VALUE;
-
 import com.android.tools.r8.errors.Unreachable;
+import kotlin.metadata.Attributes;
 import kotlin.metadata.KmValueParameter;
 
 public class KmValueParameterSubject extends Subject {
@@ -33,7 +32,7 @@
   }
 
   public boolean declaresDefaultValue() {
-    return DECLARES_DEFAULT_VALUE.invoke(kmValueParameter.getFlags());
+    return Attributes.getDeclaresDefaultValue(kmValueParameter);
   }
 
   @Override