Refactor code rewriting and remove desugar event consumer stub.

Bug: 199134556
Change-Id: I9cffd19a1732de989a24b51e5af3e4a602adbff6
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java b/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java
index 9bcee66..22b279b 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/D8MethodProcessor.java
@@ -83,7 +83,7 @@
     nonTerminalFutures.add(
         ThreadUtils.processAsynchronously(
             () ->
-                converter.rewriteCode(
+                converter.rewriteNonDesugaredCode(
                     method,
                     eventConsumer,
                     OptimizationFeedbackIgnore.getInstance(),
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
index ee74491..4f92d5b 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRConverter.java
@@ -547,7 +547,7 @@
     if (options.isGeneratingClassFiles()
         || !(options.passthroughDexCode && definition.getCode().isDexCode())) {
       // We do not process in call graph order, so anything could be a leaf.
-      rewriteCode(
+      rewriteNonDesugaredCode(
           method,
           desugaringEventConsumer,
           simpleOptimizationFeedback,
@@ -1033,7 +1033,7 @@
     }
   }
 
-  Timing rewriteCode(
+  Timing rewriteNonDesugaredCode(
       ProgramMethod method,
       CfInstructionDesugaringEventConsumer desugaringEventConsumer,
       OptimizationFeedback feedback,
@@ -1043,7 +1043,7 @@
         method.getOrigin(),
         new MethodPosition(method.getReference().asMethodReference()),
         () ->
-            rewriteCodeInternal(
+            rewriteNonDesugaredCodeInternal(
                 method,
                 desugaringEventConsumer,
                 feedback,
@@ -1056,20 +1056,36 @@
       OptimizationFeedback feedback,
       MethodProcessor methodProcessor,
       MethodProcessingContext methodProcessingContext) {
-    return rewriteCode(
-        method,
-        CfInstructionDesugaringEventConsumer.createForDesugaredCode(),
-        feedback,
-        methodProcessor,
-        methodProcessingContext);
+    return ExceptionUtils.withOriginAndPositionAttachmentHandler(
+        method.getOrigin(),
+        new MethodPosition(method.getReference().asMethodReference()),
+        () ->
+            rewriteDesugaredCodeInternal(
+                method, feedback, methodProcessor, methodProcessingContext));
   }
 
-  private Timing rewriteCodeInternal(
+  private Timing rewriteNonDesugaredCodeInternal(
       ProgramMethod method,
       CfInstructionDesugaringEventConsumer desugaringEventConsumer,
       OptimizationFeedback feedback,
       MethodProcessor methodProcessor,
       MethodProcessingContext methodProcessingContext) {
+    boolean didDesugar = desugar(method, desugaringEventConsumer, methodProcessingContext);
+    if (Log.ENABLED && didDesugar) {
+      Log.debug(
+          getClass(),
+          "Desugared code for %s:\n%s",
+          method.toSourceString(),
+          logCode(options, method.getDefinition()));
+    }
+    return rewriteDesugaredCodeInternal(method, feedback, methodProcessor, methodProcessingContext);
+  }
+
+  private Timing rewriteDesugaredCodeInternal(
+      ProgramMethod method,
+      OptimizationFeedback feedback,
+      MethodProcessor methodProcessor,
+      MethodProcessingContext methodProcessingContext) {
     if (options.verbose) {
       options.reporter.info(
           new StringDiagnostic("Processing: " + method.toSourceString()));
@@ -1081,14 +1097,6 @@
           method.toSourceString(),
           logCode(options, method.getDefinition()));
     }
-    boolean didDesugar = desugar(method, desugaringEventConsumer, methodProcessingContext);
-    if (Log.ENABLED && didDesugar) {
-      Log.debug(
-          getClass(),
-          "Desugared code for %s:\n%s",
-          method.toSourceString(),
-          logCode(options, method.getDefinition()));
-    }
     if (options.testing.hookInIrConversion != null) {
       options.testing.hookInIrConversion.run();
     }
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java b/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
index 929b5a8..28334b1 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaringEventConsumer.java
@@ -77,107 +77,6 @@
         companionMethodConsumer);
   }
 
-  // TODO(b/183998768): Remove this event consumer. It should be unneeded for R8 and for D8 the
-  //  desugaring of interface methods should be able to happen up front too avoiding the companion
-  //  callback on nest accessors.
-  public static CfInstructionDesugaringEventConsumer createForDesugaredCode() {
-    return new CfInstructionDesugaringEventConsumer() {
-
-      @Override
-      public void acceptCompanionMethod(ProgramMethod method, ProgramMethod companionMethod) {
-        // A synthesized nest based accessor may itself be defined on an interface, in which case
-        // desugaring the accessor will result in a rewrite to the companion method.
-      }
-
-      @Override
-      public void acceptClasspathEmulatedInterface(DexClasspathClass clazz) {
-        assert false;
-      }
-
-      @Override
-      public void acceptWrapperClasspathClass(DexClasspathClass clazz) {
-        assert false;
-      }
-
-      @Override
-      public void acceptAPIConversion(ProgramMethod method) {
-        assert false;
-      }
-
-      @Override
-      public void acceptDesugaredLibraryRetargeterDispatchClasspathClass(DexClasspathClass clazz) {
-        assert false;
-      }
-
-      @Override
-      public void acceptThrowMethod(ProgramMethod method, ProgramMethod context) {
-        assert false;
-      }
-
-      @Override
-      public void acceptInvokeStaticInterfaceOutliningMethod(
-          ProgramMethod method, ProgramMethod context) {
-        assert false;
-      }
-
-      @Override
-      public void acceptRecordClass(DexProgramClass recordClass) {
-        assert false;
-      }
-
-      @Override
-      public void acceptRecordMethod(ProgramMethod method) {
-        assert false;
-      }
-
-      @Override
-      public void acceptBackportedMethod(ProgramMethod backportedMethod, ProgramMethod context) {
-        assert false;
-      }
-
-      @Override
-      public void acceptInvokeSpecialBridgeInfo(InvokeSpecialBridgeInfo info) {
-        assert false;
-      }
-
-      @Override
-      public void acceptLambdaClass(LambdaClass lambdaClass, ProgramMethod context) {
-        assert false;
-      }
-
-      @Override
-      public void acceptConstantDynamicClass(
-          ConstantDynamicClass constantDynamicClass, ProgramMethod context) {
-        assert false;
-      }
-
-      @Override
-      public void acceptNestFieldGetBridge(ProgramField target, ProgramMethod bridge) {
-        assert false;
-      }
-
-      @Override
-      public void acceptNestFieldPutBridge(ProgramField target, ProgramMethod bridge) {
-        assert false;
-      }
-
-      @Override
-      public void acceptNestMethodBridge(ProgramMethod target, ProgramMethod bridge) {
-        assert false;
-      }
-
-      @Override
-      public void acceptTwrCloseResourceMethod(ProgramMethod closeMethod, ProgramMethod context) {
-        assert false;
-      }
-
-      @Override
-      public void acceptCompanionClassClinit(ProgramMethod method) {
-        assert false;
-      }
-    };
-  }
-
   public static class D8CfInstructionDesugaringEventConsumer
       extends CfInstructionDesugaringEventConsumer {