Version 1.6.63

Conservatively look at all code for identifier name string instructions
when minifying.

Also fix a concrete case which was discovered after the merge in 1.6.62.

This is not merged from master as the code has diverged there. Instead
is is merged from 2.0.22 with manually resolved merge conflicts:
  src/main/java/com/android/tools/r8/ir/desugar/LambdaRewriter.java
  src/main/java/com/android/tools/r8/ir/desugar/LambdaClass.java
  src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java

Bug: 148021799
Change-Id: I63fa4b9c2adcf5a85e79bcb65f381d2357c2bb83
diff --git a/src/main/java/com/android/tools/r8/Version.java b/src/main/java/com/android/tools/r8/Version.java
index a68d18d..4489d22 100644
--- a/src/main/java/com/android/tools/r8/Version.java
+++ b/src/main/java/com/android/tools/r8/Version.java
@@ -11,7 +11,7 @@
 
   // This field is accessed from release scripts using simple pattern matching.
   // Therefore, changing this field could break our release scripts.
-  public static final String LABEL = "1.6.62";
+  public static final String LABEL = "1.6.63";
 
   private Version() {
   }
diff --git a/src/main/java/com/android/tools/r8/naming/IdentifierMinifier.java b/src/main/java/com/android/tools/r8/naming/IdentifierMinifier.java
index 2a03bee..4b6bbab 100644
--- a/src/main/java/com/android/tools/r8/naming/IdentifierMinifier.java
+++ b/src/main/java/com/android/tools/r8/naming/IdentifierMinifier.java
@@ -146,7 +146,13 @@
           || (encodedMethod.getCode().isCfCode()
               && encodedMethod.getCode().asCfCode().instructions.stream()
                   .noneMatch(CfInstruction::isDexItemBasedConstString));
-      return;
+      // This return statement is commented out on the 1.6 branch. The change merged to fix
+      // b/147718617 (version 1.6.62) revealed that there could be other places where the
+      // identifier name string marker is not propagated. Due to changes to desugaring on the 2.1
+      // version line coverage of the propagation of this flag is unknown. Conservatively looking
+      // at all code for identifier name string instructions is safer.
+      //
+      // return;
     }
     Code code = encodedMethod.getCode();
     assert code != null;