Run ProguardMapApplier after MemberRebindingAnalysis

Running ProguardMapApplier prior to MemberRebindingAnalysis causes the following tests to fail:
- com.android.tools.r8.naming.ApplyMappingTest > test044_obfuscate_and_apply
- com.android.tools.r8.naming.ApplyMappingTest > test044_apply
- com.android.tools.r8.jdwp.RunJdwpTests > testMethod_LineTableTest_Java
- com.android.tools.r8.jdwp.RunJdwpTests > testExtra_LineTableDuplicatesTest_Java

Change-Id: I0b2a6a6a0b4c98d139e4cbacd05e3c0050d8e222
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index 484bfe8..3239dbe 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -331,14 +331,6 @@
       GraphLense graphLense = GraphLense.getIdentityLense();
 
       if (appInfo.hasLiveness()) {
-        if (options.proguardConfiguration.hasApplyMappingFile()) {
-          SeedMapper seedMapper =
-              SeedMapper.seedMapperFromFile(options.proguardConfiguration.getApplyMappingFile());
-          timing.begin("apply-mapping");
-          graphLense =
-              new ProguardMapApplier(appInfo.withLiveness(), graphLense, seedMapper).run(timing);
-          timing.end();
-        }
         graphLense = new MemberRebindingAnalysis(appInfo.withLiveness(), graphLense).run();
         // Class merging requires inlining.
         if (options.enableClassMerging && options.enableInlining) {
@@ -351,6 +343,14 @@
           appInfo = appInfo.withLiveness()
               .prunedCopyFrom(application, classMerger.getRemovedClasses());
         }
+        if (options.proguardConfiguration.hasApplyMappingFile()) {
+          SeedMapper seedMapper =
+              SeedMapper.seedMapperFromFile(options.proguardConfiguration.getApplyMappingFile());
+          timing.begin("apply-mapping");
+          graphLense =
+              new ProguardMapApplier(appInfo.withLiveness(), graphLense, seedMapper).run(timing);
+          timing.end();
+        }
         application = application.asDirect().rewrittenWithLense(graphLense);
         appInfo = appInfo.withLiveness().rewrittenWithLense(application.asDirect(), graphLense);
         // Collect switch maps and ordinals maps.