Allow easy redirection of whyareyoukeeping output.
Simply change the output PrintStream
Change-Id: I6e2239bfd76930d6e2294313136e325109e1ed3e
diff --git a/src/main/java/com/android/tools/r8/shaking/ReasonPrinter.java b/src/main/java/com/android/tools/r8/shaking/ReasonPrinter.java
index 3b3063d..1eb43f5 100644
--- a/src/main/java/com/android/tools/r8/shaking/ReasonPrinter.java
+++ b/src/main/java/com/android/tools/r8/shaking/ReasonPrinter.java
@@ -11,6 +11,7 @@
import com.android.tools.r8.graph.DexItem;
import com.android.tools.r8.graph.DexType;
import com.google.common.collect.Sets;
+import java.io.PrintStream;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Collections;
@@ -136,6 +137,8 @@
private int indentation = -1;
+ private PrintStream output = System.out;
+
void pushIsLivePrefix() {
prefixes.push("is live because ");
}
@@ -159,27 +162,27 @@
void startItem(DexItem item) {
indentation++;
indent();
- System.out.println(item.toSourceString());
+ output.println(item.toSourceString());
}
private void indent() {
for (int i = 0; i < indentation; i++) {
- System.out.print(" ");
+ output.print(" ");
}
}
void addReason(String thing) {
indent();
- System.out.print("|- ");
+ output.print("|- ");
String prefix = prefixes.peek();
- System.out.print(prefix);
- System.out.println(thing);
+ output.print(prefix);
+ output.println(thing);
}
void addMessage(String thing) {
indent();
- System.out.print("| ");
- System.out.println(thing);
+ output.print("| ");
+ output.println(thing);
}
void endItem() {