Allow all global synthetics to have nested synthetics

Change from special casing DesugarVarHandle.

Bug: b/247076137
Change-Id: Ie384e3da937f1227ed25713665a9147e50242e52
diff --git a/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java b/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
index 5e95467..e46ea51 100644
--- a/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
+++ b/src/main/java/com/android/tools/r8/synthesis/SyntheticFinalization.java
@@ -354,7 +354,7 @@
           assert !prefix.contains(SyntheticNaming.getPhaseSeparator(Phase.INTERNAL));
           DexType context =
               dexItemFactory.createType(DescriptorUtils.getDescriptorFromClassBinaryName(prefix));
-          assert isNotSyntheticType(context) || context == dexItemFactory.desugarVarHandleType;
+          assert isNotSyntheticType(context) || synthetics.isGlobalSyntheticClass(context);
         });
     return true;
   }
diff --git a/src/main/java/com/android/tools/r8/synthesis/SyntheticItems.java b/src/main/java/com/android/tools/r8/synthesis/SyntheticItems.java
index 323c745..4ea11dc 100644
--- a/src/main/java/com/android/tools/r8/synthesis/SyntheticItems.java
+++ b/src/main/java/com/android/tools/r8/synthesis/SyntheticItems.java
@@ -401,12 +401,16 @@
     return isSyntheticClass(clazz.type);
   }
 
-  public boolean isGlobalSyntheticClass(DexProgramClass clazz) {
-    SyntheticDefinition<?, ?, ?> definition = pending.definitions.get(clazz.type);
+  public boolean isGlobalSyntheticClass(DexType type) {
+    SyntheticDefinition<?, ?, ?> definition = pending.definitions.get(type);
     if (definition != null) {
       return definition.getKind().isGlobal();
     }
-    return isGlobalReferences(committed.getClasses().get(clazz.type));
+    return isGlobalReferences(committed.getClasses().get(type));
+  }
+
+  public boolean isGlobalSyntheticClass(DexProgramClass clazz) {
+    return isGlobalSyntheticClass(clazz.getType());
   }
 
   private static boolean isGlobalReferences(List<SyntheticProgramClassReference> references) {