Remove unmaintained CFG printing utilities.
Change-Id: I3b917a60b147725c10bce0523ced6709d018bbae
diff --git a/src/main/java/com/android/tools/r8/D8.java b/src/main/java/com/android/tools/r8/D8.java
index 55438d2..72f80ff 100644
--- a/src/main/java/com/android/tools/r8/D8.java
+++ b/src/main/java/com/android/tools/r8/D8.java
@@ -43,7 +43,6 @@
import com.android.tools.r8.synthesis.SyntheticItems;
import com.android.tools.r8.synthesis.SyntheticItems.GlobalSyntheticsStrategy;
import com.android.tools.r8.utils.AndroidApp;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.ExceptionUtils;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.StringDiagnostic;
@@ -220,8 +219,6 @@
SyntheticItems.collectSyntheticInputs(appView);
timing.end();
- final CfgPrinter printer = options.printCfg ? new CfgPrinter() : null;
-
if (AssertionsRewriter.isEnabled(options)) {
// Run analysis to mark all <clinit> methods having the javac generated assertion
// enabling code.
diff --git a/src/main/java/com/android/tools/r8/R8.java b/src/main/java/com/android/tools/r8/R8.java
index fc7bb85..ff59cc1 100644
--- a/src/main/java/com/android/tools/r8/R8.java
+++ b/src/main/java/com/android/tools/r8/R8.java
@@ -653,7 +653,7 @@
appView.protoShrinker().enumLiteProtoShrinker.verifyDeadEnumLiteMapsAreDead();
}
- IRConverter converter = new IRConverter(appView, timing, null);
+ IRConverter converter = new IRConverter(appView, timing);
// If proto shrinking is enabled, we need to reprocess every dynamicMethod(). This ensures
// that proto fields that have been removed by the second round of tree shaking are also
diff --git a/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java b/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java
index a3c20e3..03a4ce6 100644
--- a/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java
+++ b/src/main/java/com/android/tools/r8/graph/AssemblyWriter.java
@@ -14,7 +14,6 @@
import com.android.tools.r8.kotlin.Kotlin;
import com.android.tools.r8.kotlin.KotlinMetadataWriter;
import com.android.tools.r8.synthesis.SyntheticItems.GlobalSyntheticsStrategy;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.RetracerForCodePrinting;
import com.android.tools.r8.utils.StringUtils;
@@ -167,16 +166,15 @@
Code code = definition.getCode();
if (code != null) {
if (writeIR) {
- writeIR(method, ps);
+ writeIR(method);
} else {
ps.println(code.toString(definition, retracer));
}
}
}
- private void writeIR(ProgramMethod method, PrintStream ps) {
- CfgPrinter printer = new CfgPrinter();
- IRConverter converter = new IRConverter(appInfo, timing, printer);
+ private void writeIR(ProgramMethod method) {
+ IRConverter converter = new IRConverter(appInfo, timing);
MethodProcessorEventConsumer eventConsumer = MethodProcessorEventConsumer.empty();
OneTimeMethodProcessor methodProcessor =
OneTimeMethodProcessor.create(
@@ -188,7 +186,6 @@
OptimizationFeedbackIgnore.getInstance(),
methodProcessor,
methodProcessingContext));
- ps.println(printer);
}
private void writeAnnotations(
diff --git a/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java b/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
index 2daa545..3827b37 100644
--- a/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
+++ b/src/main/java/com/android/tools/r8/ir/code/BasicBlock.java
@@ -22,7 +22,6 @@
import com.android.tools.r8.ir.code.Phi.RegisterReadType;
import com.android.tools.r8.ir.conversion.DexBuilder;
import com.android.tools.r8.ir.conversion.IRBuilder;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.IterableUtils;
import com.android.tools.r8.utils.ListUtils;
@@ -1398,48 +1397,6 @@
return builder.toString();
}
- public void print(CfgPrinter printer) {
- printer.begin("block");
- printer.print("name \"B").append(number).append("\"\n");
- printer.print("from_bci -1\n");
- printer.print("to_bci -1\n");
- printer.print("predecessors");
- printBlockList(printer, predecessors);
- printer.ln();
- printer.print("successors");
- printBlockList(printer, successors);
- printer.ln();
- printer.print("xhandlers\n");
- printer.print("flags\n");
- printer.print("first_lir_id ").print(instructions.get(0).getNumber()).ln();
- printer.print("last_lir_id ").print(instructions.get(instructions.size() - 1).getNumber()).ln();
- printer.begin("HIR");
- if (phis != null) {
- for (Phi phi : phis) {
- phi.print(printer);
- printer.append(" <|@\n");
- }
- }
- for (Instruction instruction : instructions) {
- instruction.print(printer);
- printer.append(" <|@\n");
- }
- printer.end("HIR");
- printer.begin("LIR");
- for (Instruction instruction : instructions) {
- instruction.printLIR(printer);
- printer.append(" <|@\n");
- }
- printer.end("LIR");
- printer.end("block");
- }
-
- private static void printBlockList(CfgPrinter printer, List<BasicBlock> blocks) {
- for (BasicBlock block : blocks) {
- printer.append(" \"B").append(block.number).append("\"");
- }
- }
-
public void addPhiMove(Move move) {
// TODO(ager): Consider this more, is it always the case that we should add it before the
// exit instruction?
diff --git a/src/main/java/com/android/tools/r8/ir/code/Goto.java b/src/main/java/com/android/tools/r8/ir/code/Goto.java
index 96aeca3..41ad960 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Goto.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Goto.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.ir.conversion.CfBuilder;
import com.android.tools.r8.ir.conversion.DexBuilder;
import com.android.tools.r8.lightir.LirBuilder;
-import com.android.tools.r8.utils.CfgPrinter;
import java.util.List;
import java.util.ListIterator;
@@ -80,12 +79,6 @@
}
@Override
- public void print(CfgPrinter printer) {
- super.print(printer);
- printer.append(" B").append(getTarget().getNumber());
- }
-
- @Override
public boolean identicalNonValueNonPositionParts(Instruction other) {
return other.isGoto() && other.asGoto().getTarget() == getTarget();
}
diff --git a/src/main/java/com/android/tools/r8/ir/code/IRCode.java b/src/main/java/com/android/tools/r8/ir/code/IRCode.java
index 7ec066c..56f1150 100644
--- a/src/main/java/com/android/tools/r8/ir/code/IRCode.java
+++ b/src/main/java/com/android/tools/r8/ir/code/IRCode.java
@@ -27,7 +27,6 @@
import com.android.tools.r8.ir.conversion.MethodConversionOptions.MutableMethodConversionOptions;
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.DequeUtils;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.IteratorUtils;
@@ -486,16 +485,6 @@
assert noColorsInUse();
}
- private void ensureBlockNumbering() {
- if (!numbered) {
- numbered = true;
- int blockNumber = 0;
- for (BasicBlock block : topologicallySortedBlocks()) {
- block.setNumber(blockNumber++);
- }
- }
- }
-
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
@@ -594,13 +583,6 @@
return reordered.build();
}
- public void print(CfgPrinter printer) {
- ensureBlockNumbering();
- for (BasicBlock block : blocks) {
- block.print(printer);
- }
- }
-
public boolean isConsistentSSA(AppView<?> appView) {
isConsistentSSABeforeTypesAreCorrect(appView);
assert verifyNoImpreciseOrBottomTypes();
diff --git a/src/main/java/com/android/tools/r8/ir/code/If.java b/src/main/java/com/android/tools/r8/ir/code/If.java
index 08fc6a3..0149b70 100644
--- a/src/main/java/com/android/tools/r8/ir/code/If.java
+++ b/src/main/java/com/android/tools/r8/ir/code/If.java
@@ -15,7 +15,6 @@
import com.android.tools.r8.ir.conversion.DexBuilder;
import com.android.tools.r8.lightir.LirBuilder;
import com.android.tools.r8.utils.BooleanUtils;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.InternalOutputMode;
import java.util.List;
@@ -149,12 +148,6 @@
}
@Override
- public void print(CfgPrinter printer) {
- super.print(printer);
- printer.append(" B").append(getTrueTarget().getNumber());
- }
-
- @Override
public boolean identicalNonValueNonPositionParts(Instruction other) {
if (!other.isIf()) {
return false;
diff --git a/src/main/java/com/android/tools/r8/ir/code/Instruction.java b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
index 7435bc7..c33be9f 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Instruction.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Instruction.java
@@ -37,7 +37,6 @@
import com.android.tools.r8.ir.regalloc.RegisterAllocator;
import com.android.tools.r8.lightir.LirBuilder;
import com.android.tools.r8.shaking.AppInfoWithLiveness;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.StringUtils;
import com.android.tools.r8.utils.StringUtils.BraceType;
@@ -372,33 +371,6 @@
return builder.toString();
}
- public void print(CfgPrinter printer) {
- int uses = 0;
- String value;
- if (outValue == null) {
- value = printer.makeUnusedValue();
- } else {
- if (outValue.hasUsersInfo()) {
- uses = outValue.uniqueUsers().size() + outValue.uniquePhiUsers().size();
- }
- value = "v" + outValue.getNumber();
- }
- printer
- .print(0) // bci
- .sp().append(uses) // use
- .sp().append(value) // tid
- .sp().append(getClass().getSimpleName());
- for (Value in : inValues) {
- printer.append(" v").append(in.getNumber());
- }
- }
-
- public void printLIR(CfgPrinter printer) {
- // TODO(ager): Improve the instruction printing. Use different name for values so that the
- // HIR and LIR values are not confused in the c1 visualizer.
- printer.print(number).sp().append(toString());
- }
-
public int getNumber() {
return number;
}
diff --git a/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java b/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java
index 9ccd91e..15712e1 100644
--- a/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java
+++ b/src/main/java/com/android/tools/r8/ir/code/IntSwitch.java
@@ -17,7 +17,6 @@
import com.android.tools.r8.graph.AppView;
import com.android.tools.r8.ir.conversion.CfBuilder;
import com.android.tools.r8.ir.conversion.DexBuilder;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.IntObjConsumer;
import com.android.tools.r8.utils.InternalOutputMode;
import it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap;
@@ -280,15 +279,6 @@
}
@Override
- public void print(CfgPrinter printer) {
- super.print(printer);
- for (int index : targetBlockIndices()) {
- BasicBlock target = getBlock().getSuccessors().get(index);
- printer.append(" B").append(target.getNumber());
- }
- }
-
- @Override
public void insertLoadAndStores(InstructionListIterator it, LoadStoreHelper helper) {
helper.loadInValues(this, it);
}
diff --git a/src/main/java/com/android/tools/r8/ir/code/Phi.java b/src/main/java/com/android/tools/r8/ir/code/Phi.java
index 02c2319..7a3c7be 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Phi.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Phi.java
@@ -17,7 +17,6 @@
import com.android.tools.r8.ir.conversion.IRBuilder;
import com.android.tools.r8.ir.conversion.TypeConstraintResolver;
import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.DequeUtils;
import com.android.tools.r8.utils.ListUtils;
import com.android.tools.r8.utils.Reporter;
@@ -337,18 +336,6 @@
return builder.toString();
}
- public void print(CfgPrinter printer) {
- int uses = numberOfPhiUsers() + numberOfUsers();
- printer
- .print("0 ") // bci
- .append(uses) // use
- .append(" v").append(number) // tid
- .append(" Phi");
- for (Value operand : operands) {
- printer.append(" v").append(operand.number);
- }
- }
-
public void addDefinitionsUser(Map<Integer, Value> currentDefinitions) {
definitionUsers.add(currentDefinitions);
}
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 e0d7bc0..c21f00e 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
@@ -74,7 +74,6 @@
import com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis;
import com.android.tools.r8.utils.Action;
import com.android.tools.r8.utils.AndroidApiLevel;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.DescriptorUtils;
import com.android.tools.r8.utils.ExceptionUtils;
import com.android.tools.r8.utils.InternalOptions;
@@ -85,10 +84,6 @@
import com.android.tools.r8.utils.Timing;
import com.android.tools.r8.utils.collections.ProgramMethodSet;
import com.google.common.collect.Sets;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -110,7 +105,6 @@
protected final IdempotentFunctionCallCanonicalizer idempotentFunctionCallCanonicalizer;
private final ClassInliner classInliner;
protected final InternalOptions options;
- protected final CfgPrinter printer;
public final CodeRewriter codeRewriter;
public final AssertionErrorTwoArgsConstructorRewriter assertionErrorTwoArgsConstructorRewriter;
private final NaturalIntLoopRemover naturalIntLoopRemover = new NaturalIntLoopRemover();
@@ -153,14 +147,13 @@
* The argument `appView` is used to determine if whole program optimizations are allowed or not
* (i.e., whether we are running R8). See {@link AppView#enableWholeProgramOptimizations()}.
*/
- public IRConverter(AppView<?> appView, Timing timing, CfgPrinter printer) {
+ public IRConverter(AppView<?> appView, Timing timing) {
assert appView.options() != null;
assert appView.options().programConsumer != null;
assert timing != null;
this.timing = timing;
this.appView = appView;
this.options = appView.options();
- this.printer = printer;
this.codeRewriter = new CodeRewriter(appView);
this.assertionErrorTwoArgsConstructorRewriter =
appView.options().desugarState.isOn()
@@ -296,13 +289,8 @@
: null;
}
- /** Create an IR converter for processing methods with full program optimization disabled. */
- public IRConverter(AppView<?> appView, Timing timing) {
- this(appView, timing, null);
- }
-
- public IRConverter(AppInfo appInfo, Timing timing, CfgPrinter printer) {
- this(AppView.createForD8(appInfo), timing, printer);
+ public IRConverter(AppInfo appInfo, Timing timing) {
+ this(AppView.createForD8(appInfo), timing);
}
public Inliner getInliner() {
@@ -443,20 +431,6 @@
return options.useSmaliSyntax ? method.toSmaliString(null) : method.codeToString();
}
- void printCfg() throws IOException {
- if (printer != null) {
- if (options.printCfgFile == null || options.printCfgFile.isEmpty()) {
- System.out.print(printer.toString());
- } else {
- try (OutputStreamWriter writer =
- new OutputStreamWriter(
- new FileOutputStream(options.printCfgFile), StandardCharsets.UTF_8)) {
- writer.write(printer.toString());
- }
- }
- }
- }
-
// TODO(b/140766440): Make this receive a list of CodeOptimizations to conduct.
public Timing processDesugaredMethod(
ProgramMethod method,
@@ -535,8 +509,6 @@
Timing timing = Timing.create(context.toSourceString(), options);
- // Compilation header if printing CFGs for this method.
- printC1VisualizerHeader(method);
String previous = printMethod(code, "Initial IR (SSA)", null);
if (options.testing.irModifier != null) {
@@ -1161,16 +1133,6 @@
}
}
- private void printC1VisualizerHeader(DexEncodedMethod method) {
- if (printer != null) {
- printer.begin("compilation");
- printer.print("name \"").append(method.toSourceString()).append("\"").ln();
- printer.print("method \"").append(method.toSourceString()).append("\"").ln();
- printer.print("date 0").ln();
- printer.end("compilation");
- }
- }
-
public void printPhase(String phase) {
if (!options.extensiveLoggingFilter.isEmpty()) {
System.out.println("Entering phase: " + phase);
@@ -1178,13 +1140,6 @@
}
public String printMethod(IRCode code, String title, String previous) {
- if (printer != null) {
- printer.resetUnusedValue();
- printer.begin("cfg");
- printer.print("name \"").append(title).append("\"\n");
- code.print(printer);
- printer.end("cfg");
- }
if (options.extensiveLoggingFilter.size() > 0
&& options.extensiveLoggingFilter.contains(code.method().getReference().toSourceString())) {
String current = code.toString();
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
index 7ebba1f..39fc23a 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryD8L8IRConverter.java
@@ -34,7 +34,6 @@
import com.android.tools.r8.ir.optimize.info.OptimizationFeedback;
import com.android.tools.r8.position.MethodPosition;
import com.android.tools.r8.profile.art.rewriting.ArtProfileCollectionAdditions;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.ExceptionUtils;
import com.android.tools.r8.utils.ListUtils;
import com.android.tools.r8.utils.ThreadUtils;
@@ -47,7 +46,7 @@
public class PrimaryD8L8IRConverter extends IRConverter {
public PrimaryD8L8IRConverter(AppView<AppInfo> appView, Timing timing) {
- super(appView, timing, appView.options().printCfg ? new CfgPrinter() : null);
+ super(appView, timing);
}
public void convert(AppView<AppInfo> appView, ExecutorService executorService)
@@ -102,8 +101,6 @@
appView.appInfo().getMainDexInfo()));
artProfileCollectionAdditions.commit(appView);
-
- printCfg();
}
void convertMethods(
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java
index 408f18d..1ad9a82 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/PrimaryR8IRConverter.java
@@ -16,7 +16,6 @@
import com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed;
import com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator;
import com.android.tools.r8.shaking.AppInfoWithLiveness;
-import com.android.tools.r8.utils.CfgPrinter;
import com.android.tools.r8.utils.Timing;
import com.android.tools.r8.utils.collections.ProgramMethodSet;
import java.io.IOException;
@@ -28,7 +27,7 @@
public class PrimaryR8IRConverter extends IRConverter {
public PrimaryR8IRConverter(AppView<? extends AppInfoWithClassHierarchy> appView, Timing timing) {
- super(appView, timing, appView.options().printCfg ? new CfgPrinter() : null);
+ super(appView, timing);
}
public void optimize(AppView<AppInfoWithLiveness> appView, ExecutorService executorService)
@@ -43,7 +42,6 @@
} finally {
timing.end();
}
- printCfg();
}
private DexApplication internalOptimize(
diff --git a/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java b/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java
index 8b81c83..175ee30 100644
--- a/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java
+++ b/src/main/java/com/android/tools/r8/ir/regalloc/LiveIntervals.java
@@ -10,7 +10,6 @@
import com.android.tools.r8.ir.code.Phi;
import com.android.tools.r8.ir.code.Value;
import com.android.tools.r8.ir.code.ValueType;
-import com.android.tools.r8.utils.CfgPrinter;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import java.util.ArrayList;
import java.util.Collections;
@@ -606,25 +605,6 @@
return builder.toString();
}
- public void print(CfgPrinter printer, int number, int parentNumber) {
- printer.append(number * 10000 + register) // range number
- .sp().append("object") // range type
- .sp().append(parentNumber * 10000 + getSplitParent().getRegister()) // split parent
- .sp().append(-1); // hint
- for (LiveRange range : getRanges()) {
- printer.sp().append(range.toString());
- }
- for (LiveIntervalsUse use : getUses()) {
- printer.sp().append(use.getPosition()).sp().append("M");
- }
- printer.append(" \"\"").ln();
- int delta = 0;
- for (LiveIntervals splitChild : splitChildren) {
- delta += 10000;
- splitChild.print(printer, number + delta, number);
- }
- }
-
public void computeRematerializable(LinearScanRegisterAllocator allocator) {
assert splitParent == this;
if (value.isArgument()) {
diff --git a/src/main/java/com/android/tools/r8/utils/CfgPrinter.java b/src/main/java/com/android/tools/r8/utils/CfgPrinter.java
deleted file mode 100644
index 0c0aa66..0000000
--- a/src/main/java/com/android/tools/r8/utils/CfgPrinter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-package com.android.tools.r8.utils;
-
-import java.util.Stack;
-
-/**
- * Printer abstraction for creating flow-graphs for the C1 visualizer.
- */
-public class CfgPrinter {
-
- private final StringBuilder builder = new StringBuilder();
- private final Stack<String> opened = new Stack<>();
- private final int indentSpacing = 2;
-
- public int nextUnusedValue = 0;
-
- public String makeUnusedValue() {
- return "_" + nextUnusedValue++;
- }
-
- public void resetUnusedValue() {
- nextUnusedValue = 0;
- }
-
- public CfgPrinter begin(String title) {
- print("begin_");
- append(title).ln();
- opened.push(title);
- return this;
- }
-
- public CfgPrinter end(String title) {
- String top = opened.pop();
- assert title.equals(top);
- print("end_");
- append(title).ln();
- return this;
- }
-
- public CfgPrinter print(int i) {
- printIndent();
- builder.append(i);
- return this;
- }
-
- public CfgPrinter print(String string) {
- printIndent();
- builder.append(string);
- return this;
- }
-
- public CfgPrinter append(int i) {
- builder.append(i);
- return this;
- }
-
- public CfgPrinter append(String string) {
- builder.append(string);
- return this;
- }
-
- public CfgPrinter sp() {
- builder.append(" ");
- return this;
- }
-
- public CfgPrinter ln() {
- builder.append("\n");
- return this;
- }
-
- private void printIndent() {
- for (int i = 0; i < opened.size() * indentSpacing; i++) {
- builder.append(" ");
- }
- }
-
- @Override
- public String toString() {
- return builder.toString();
- }
-}
diff --git a/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java b/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java
index 4f4e1a8..d11c68e 100644
--- a/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java
+++ b/src/test/java/com/android/tools/r8/ir/IrInjectionTestBase.java
@@ -101,7 +101,7 @@
public String run() throws IOException {
Timing timing = Timing.empty();
- IRConverter converter = new IRConverter(appView, timing, null);
+ IRConverter converter = new IRConverter(appView, timing);
converter.replaceCodeForTesting(code);
AndroidApp app = writeDex();
return runOnArtRaw(app, DEFAULT_MAIN_CLASS_NAME).stdout;