Account for types bound in distributor
Fixes: b/388542826
Change-Id: I88878726c8ed68816b3aa98518f731afa934d11d
diff --git a/src/main/java/com/android/tools/r8/dex/VirtualFile.java b/src/main/java/com/android/tools/r8/dex/VirtualFile.java
index c8f16fc..1f73eb5 100644
--- a/src/main/java/com/android/tools/r8/dex/VirtualFile.java
+++ b/src/main/java/com/android/tools/r8/dex/VirtualFile.java
@@ -286,8 +286,9 @@
}
public boolean isFull(int maxEntries) {
- return (transaction.getNumberOfMethods() > maxEntries)
- || (transaction.getNumberOfFields() > maxEntries);
+ return transaction.getNumberOfMethods() > maxEntries
+ || transaction.getNumberOfFields() > maxEntries
+ || transaction.getNumberOfTypes() > maxEntries;
}
public boolean isFull() {
@@ -306,6 +307,10 @@
return transaction.getNumberOfClasses();
}
+ public int getNumberOfTypes() {
+ return transaction.getNumberOfTypes();
+ }
+
void throwIfFull(boolean hasMainDexList, Reporter reporter) {
if (!isFull()) {
return;
@@ -1119,6 +1124,10 @@
return classes.size() + base.classes.size();
}
+ int getNumberOfTypes() {
+ return types.size() + base.types.size();
+ }
+
int getNumberOfFields() {
return fields.size() + base.getNumberOfFields();
}