Collect synthetic classes in desugaring event consumer
Change-Id: Id222b47c6e684ffd570c03d07315019586a0fa5a
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 1eec8b2..30e7ab3 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
@@ -610,12 +610,14 @@
@Override
public void acceptAutoCloseableForwardingMethod(
ProgramMethod method, ProgramDefinition context) {
- // Intentionally empty. The method will be hit by tracing if required.
+ // The method will be hit by tracing if required.
+ additions.addSynthesizedClass(method.getHolder());
}
@Override
public void acceptVarHandleDesugaringClass(DexProgramClass clazz) {
- // Intentionally empty. The class will be hit by tracing if required.
+ // The class will be hit by tracing if required.
+ additions.addSynthesizedClass(clazz);
}
@Override
@@ -626,7 +628,8 @@
@Override
public void acceptCollectionConversion(ProgramMethod arrayConversion, ProgramMethod context) {
- // Intentionally empty. The method will be hit by tracing if required.
+ // The method will be hit by tracing if required.
+ additions.addSynthesizedClass(arrayConversion.getHolder());
}
@Override
@@ -657,7 +660,8 @@
@Override
public void acceptCovariantRetargetMethod(ProgramMethod method, ProgramMethod context) {
- // Intentionally empty. The method will be hit by tracing if required.
+ // The method will be hit by tracing if required.
+ additions.addSynthesizedClass(method.getHolder());
}
@Override
@@ -792,6 +796,7 @@
@Override
public void acceptConstantDynamicClass(
ConstantDynamicClass constantDynamicClass, ProgramMethod context) {
+ additions.addSynthesizedClass(constantDynamicClass.getConstantDynamicProgramClass());
synchronized (synthesizedConstantDynamicClasses) {
synthesizedConstantDynamicClasses.add(constantDynamicClass);
}