Add lookup exception when looking up identifier strings.

Bug: 150736225
Change-Id: I8fe542d4e47871dfe450f4d8fadbfc4dd7eabaa6
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 da38ed4..d8d62ae 100644
--- a/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
+++ b/src/main/java/com/android/tools/r8/naming/IdentifierNameStringUtils.java
@@ -5,6 +5,7 @@
 
 import static com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType;
 
+import com.android.tools.r8.graph.AppView;
 import com.android.tools.r8.graph.DexClass;
 import com.android.tools.r8.graph.DexDefinitionSupplier;
 import com.android.tools.r8.graph.DexEncodedField;
@@ -27,6 +28,7 @@
 import com.android.tools.r8.ir.code.InvokeVirtual;
 import com.android.tools.r8.ir.code.NewArrayEmpty;
 import com.android.tools.r8.ir.code.Value;
+import com.android.tools.r8.shaking.AppInfoWithLiveness;
 import com.google.common.collect.Sets;
 import java.util.ArrayList;
 import java.util.List;
@@ -282,13 +284,13 @@
   }
 
   static DexReference inferMemberOrTypeFromNameString(
-      DexDefinitionSupplier definitions, DexString dexString) {
+      AppView<AppInfoWithLiveness> appView, DexString dexString) {
     // "fully.qualified.ClassName.fieldOrMethodName"
     // "fully.qualified.ClassName#fieldOrMethodName"
-    DexReference itemBasedString = inferMemberFromNameString(definitions, dexString);
+    DexReference itemBasedString = inferMemberFromNameString(appView, dexString);
     if (itemBasedString == null) {
       // "fully.qualified.ClassName"
-      return inferTypeFromNameString(definitions, dexString);
+      return inferTypeFromNameString(appView, dexString);
     }
     return itemBasedString;
   }
@@ -320,7 +322,7 @@
   }
 
   private static DexReference inferMemberFromNameString(
-      DexDefinitionSupplier definitions, DexString dexString) {
+      AppView<AppInfoWithLiveness> appView, DexString dexString) {
     String identifier = dexString.toString();
     String typeIdentifier = null;
     String memberIdentifier = null;
@@ -348,8 +350,9 @@
     if (maybeDescriptor == null) {
       return null;
     }
-    DexType type = definitions.dexItemFactory().createType(maybeDescriptor);
-    DexClass holder = definitions.definitionFor(type);
+    DexType type = appView.dexItemFactory().createType(maybeDescriptor);
+    // TODO(b/150736225): Should we move the identification of identifiers into the initial tracing?
+    DexClass holder = appView.appInfo().definitionForWithoutExistenceAssert(type);
     if (holder == null) {
       return null;
     }