Also test for DexItemBasedConstString in IdentifierNameStringMarker, follow up

Change-Id: I7d1141610a7a87d855f1d9bea49dda733491d357
diff --git a/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java b/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
index 291be66..4b072806 100644
--- a/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
+++ b/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
@@ -280,10 +280,19 @@
 
   public static DexType inferTypeFromConstStringValue(
       DexDefinitionSupplier definitions, Value value) {
-    assert value.definition != null;
-    assert value.getAliasedValue().isConstString();
-    return inferTypeFromNameString(
-        definitions, value.getAliasedValue().definition.asConstString().getValue());
+    Value root = value.getAliasedValue();
+    assert !root.isPhi();
+    assert root.isConstString() || root.isDexItemBasedConstString();
+    if (root.isConstString()) {
+      return inferTypeFromNameString(definitions, root.definition.asConstString().getValue());
+    }
+    if (root.isDexItemBasedConstString()) {
+      DexReference reference = root.definition.asDexItemBasedConstString().getItem();
+      if (reference.isDexType()) {
+        return reference.asDexType();
+      }
+    }
+    return null;
   }
 
   private static DexReference inferMemberFromNameString(