Only register subtype if subtype information is available.

Bug:
Change-Id: I019964a922dd933657147f7d91f3d26df576b6c1
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
index 81c13db..7954ae4 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
@@ -83,7 +83,9 @@
         : factory.createField(lambdaClassType, lambdaClassType, rewriter.instanceFieldName);
 
     // We have to register this new class as a subtype of object.
-    factory.objectType.addDirectSubtype(type);
+    if (rewriter.appInfo.hasSubtyping()) {
+      factory.objectType.addDirectSubtype(type);
+    }
   }
 
   // Generate unique lambda class type for lambda descriptor and instantiation point context.
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java b/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
index 7d3bc33..af32cb7 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
@@ -5,6 +5,7 @@
 package com.android.tools.r8.ir.desugar;
 
 import com.android.tools.r8.dex.Constants;
+import com.android.tools.r8.graph.AppInfo;
 import com.android.tools.r8.graph.DexApplication.Builder;
 import com.android.tools.r8.graph.DexCallSite;
 import com.android.tools.r8.graph.DexEncodedMethod;
@@ -57,6 +58,7 @@
   static final String LAMBDA_INSTANCE_FIELD_NAME = "INSTANCE";
 
   final IRConverter converter;
+  final AppInfo appInfo;
   final DexItemFactory factory;
 
   final DexMethod metafactoryMethod;
@@ -78,7 +80,6 @@
   //
   // NOTE: synchronize concurrent access on `knownCallSites`.
   private final Map<DexCallSite, LambdaDescriptor> knownCallSites = new IdentityHashMap<>();
-
   // Maps lambda class type into lambda class representation. Since lambda class
   // type uniquely defines lambda class, effectively canonicalizes lambda classes.
   // NOTE: synchronize concurrent access on `knownLambdaClasses`.
@@ -93,6 +94,7 @@
     assert converter != null;
     this.converter = converter;
     this.factory = converter.application.dexItemFactory;
+    this.appInfo = converter.appInfo;
 
     DexType metafactoryType = factory.createType(METAFACTORY_TYPE_DESCR);
     DexType callSiteType = factory.createType(CALLSITE_TYPE_DESCR);