Remove unused methods.
This enables the errorprone check to disallow unused methods.
Bug: b/270534077
Change-Id: I6bc77875af06ab4fcea09589cd4cb6a7048ddf48
diff --git a/build.gradle b/build.gradle
index 231349e..a9990d7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -701,7 +701,6 @@
// TODO(b/270534077): These should likely be fixed/suppressed and become hard failures.
options.errorprone.check('JdkObsolete', CheckSeverity.OFF)
- options.errorprone.check('UnusedMethod', CheckSeverity.OFF)
options.errorprone.check('UnusedVariable', CheckSeverity.OFF)
options.errorprone.check('EqualsUnsafeCast', CheckSeverity.OFF)
options.errorprone.check('TypeParameterUnusedInFormals', CheckSeverity.OFF)
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java b/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java
index 73ec688..c8894fc 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/asm/KeepEdgeReader.java
@@ -624,7 +624,7 @@
}
}
- private abstract static class Declaration<T> {
+ abstract static class Declaration<T> {
abstract String kind();
abstract boolean isDefault();
diff --git a/src/keepanno/java/com/android/tools/r8/keepanno/keeprules/RulePrintingUtils.java b/src/keepanno/java/com/android/tools/r8/keepanno/keeprules/RulePrintingUtils.java
index 8084164..bf8136e 100644
--- a/src/keepanno/java/com/android/tools/r8/keepanno/keeprules/RulePrintingUtils.java
+++ b/src/keepanno/java/com/android/tools/r8/keepanno/keeprules/RulePrintingUtils.java
@@ -294,13 +294,6 @@
}
}
- private static String getTypePatternString(KeepTypePattern typePattern) {
- if (typePattern.isAny()) {
- return "***";
- }
- return descriptorToJavaType(typePattern.getDescriptor());
- }
-
private static String descriptorToJavaType(String descriptor) {
if (descriptor.isEmpty()) {
throw new KeepEdgeException("Invalid empty type descriptor");
diff --git a/src/main/java/com/android/tools/r8/cf/CfCodePrinter.java b/src/main/java/com/android/tools/r8/cf/CfCodePrinter.java
index 954f595..e16115e 100644
--- a/src/main/java/com/android/tools/r8/cf/CfCodePrinter.java
+++ b/src/main/java/com/android/tools/r8/cf/CfCodePrinter.java
@@ -209,10 +209,6 @@
return r8Type("FrameType", ImmutableList.of("cf", "code", "frame"));
}
- private String asmOpcodesType() {
- return type("Opcodes", ImmutableList.of("org", "objectweb", "asm"));
- }
-
private String dexItemFactoryType() {
return r8Type("DexItemFactory", "graph");
}
diff --git a/src/main/java/com/android/tools/r8/cf/CfPrinter.java b/src/main/java/com/android/tools/r8/cf/CfPrinter.java
index 5bab5e9..e03dc38 100644
--- a/src/main/java/com/android/tools/r8/cf/CfPrinter.java
+++ b/src/main/java/com/android/tools/r8/cf/CfPrinter.java
@@ -759,11 +759,6 @@
builder.append(indent);
}
- private void comment(String comment) {
- indent();
- builder.append("; ").append(comment);
- }
-
private void appendComment(String comment) {
builder.append(" ; ").append(comment);
}
diff --git a/src/main/java/com/android/tools/r8/dex/DexParser.java b/src/main/java/com/android/tools/r8/dex/DexParser.java
index 4bc53ab..0d9fac5 100644
--- a/src/main/java/com/android/tools/r8/dex/DexParser.java
+++ b/src/main/java/com/android/tools/r8/dex/DexParser.java
@@ -1467,10 +1467,6 @@
return enclosingMethodAttribute;
}
- public ClassSignature getClassSignature() {
- return classSignature;
- }
-
public AttributesAndAnnotations(
DexType type, Origin origin, DexAnnotationSet annotations, InternalOptions options) {
this.originalAnnotations = annotations;
diff --git a/src/main/java/com/android/tools/r8/dex/InheritanceClassInDexDistributor.java b/src/main/java/com/android/tools/r8/dex/InheritanceClassInDexDistributor.java
index c78eaac..5a62bfb 100644
--- a/src/main/java/com/android/tools/r8/dex/InheritanceClassInDexDistributor.java
+++ b/src/main/java/com/android/tools/r8/dex/InheritanceClassInDexDistributor.java
@@ -669,16 +669,6 @@
return false;
}
- private boolean hasDirectSubclassInCollection(DexProgramClass clazz,
- Set<DexProgramClass> collection) {
- for (DexProgramClass subClass : directSubClasses.getDirectSubClasses(clazz)) {
- if (collection.contains(subClass)) {
- return true;
- }
- }
- return false;
- }
-
private static List<DexProgramClass> getSortedCopy(Collection<DexProgramClass> collection) {
List<DexProgramClass> sorted = new ArrayList<>(collection);
Collections.sort(sorted, DEX_PROGRAM_CLASS_COMPARATOR);
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 16c5a73..6d1af5d 100644
--- a/src/main/java/com/android/tools/r8/dex/VirtualFile.java
+++ b/src/main/java/com/android/tools/r8/dex/VirtualFile.java
@@ -261,10 +261,6 @@
hasMainDexList, transaction.getNumberOfMethods(), transaction.getNumberOfFields()));
}
- private boolean isFilledEnough() {
- return isFull(MAX_ENTRIES);
- }
-
public void abortTransaction() {
transaction.abort();
}
@@ -957,10 +953,6 @@
: new EmptyIndexedItemUsedByClasses();
}
- private NamingLens getNamingLens() {
- return appView.getNamingLens();
- }
-
private <T extends DexItem> boolean maybeInsert(T item, Set<T> set, Set<T> baseSet) {
return maybeInsert(item, set, baseSet, true);
}
diff --git a/src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java b/src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java
index 45d4be7..dba763b 100644
--- a/src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java
+++ b/src/main/java/com/android/tools/r8/graph/ClassAccessFlags.java
@@ -136,10 +136,6 @@
}
}
- private boolean isClass() {
- return !isInterface() && !isAnnotation() && !isEnum();
- }
-
public boolean isInterface() {
return isSet(Constants.ACC_INTERFACE);
}
diff --git a/src/main/java/com/android/tools/r8/graph/TreeFixerBase.java b/src/main/java/com/android/tools/r8/graph/TreeFixerBase.java
index 1c99b6c..7a6a5fc 100644
--- a/src/main/java/com/android/tools/r8/graph/TreeFixerBase.java
+++ b/src/main/java/com/android/tools/r8/graph/TreeFixerBase.java
@@ -301,29 +301,6 @@
return result;
}
- // Should remain private as its correctness relies on the setup of 'newProgramClasses'.
- private Collection<DexProgramClass> fixupSynthesizedFrom(
- Collection<DexProgramClass> synthesizedFrom) {
- if (synthesizedFrom.isEmpty()) {
- return synthesizedFrom;
- }
- boolean changed = false;
- List<DexProgramClass> newSynthesizedFrom = new ArrayList<>(synthesizedFrom.size());
- for (DexProgramClass clazz : synthesizedFrom) {
- // TODO(b/165783399): What do we want to put here if the class that this was synthesized from
- // is no longer in the application?
- Map<DexType, DexProgramClass> classes =
- appView.appInfo().definitionForWithoutExistenceAssert(clazz.getType()) != null
- ? programClassCache
- : synthesizedFromClasses;
- DexProgramClass newClass =
- classes.computeIfAbsent(clazz.getType(), ignore -> fixupClass(clazz));
- newSynthesizedFrom.add(newClass);
- changed |= newClass != clazz;
- }
- return changed ? newSynthesizedFrom : synthesizedFrom;
- }
-
private DexType fixupTypeOrNull(DexType type) {
return type != null ? fixupType(type) : null;
}
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/CfSourceCode.java b/src/main/java/com/android/tools/r8/ir/conversion/CfSourceCode.java
index 602effc..4e95364 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/CfSourceCode.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/CfSourceCode.java
@@ -182,27 +182,6 @@
return startOffset <= instructionOffset && instructionOffset < endOffset;
}
- public DebugLocalInfo getLocal(int register) {
- return locals.get(register);
- }
-
- public Int2ReferenceOpenHashMap<DebugLocalInfo> merge(LocalVariableList other) {
- return merge(this, other);
- }
-
- private static Int2ReferenceOpenHashMap<DebugLocalInfo> merge(
- LocalVariableList a, LocalVariableList b) {
- if (a.locals.size() > b.locals.size()) {
- return merge(b, a);
- }
- Int2ReferenceOpenHashMap<DebugLocalInfo> result = new Int2ReferenceOpenHashMap<>();
- for (Entry<DebugLocalInfo> local : a.locals.int2ReferenceEntrySet()) {
- if (local.getValue().equals(b.getLocal(local.getIntKey()))) {
- result.put(local.getIntKey(), local.getValue());
- }
- }
- return result;
- }
}
private CfState state;
diff --git a/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java b/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
index a7aa00b..35c6667 100644
--- a/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
+++ b/src/main/java/com/android/tools/r8/ir/conversion/IRBuilder.java
@@ -122,7 +122,6 @@
import com.android.tools.r8.ir.conversion.MethodConversionOptions.MutableMethodConversionOptions;
import com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo;
import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.position.MethodPosition;
import com.android.tools.r8.utils.Pair;
import com.google.common.collect.Sets;
import it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap;
@@ -481,14 +480,6 @@
this.basicBlockNumberGenerator = new NumberGenerator();
}
- private Origin getOrigin() {
- return origin;
- }
-
- private MethodPosition getPosition() {
- return MethodPosition.create(method);
- }
-
public DexItemFactory dexItemFactory() {
return appView.dexItemFactory();
}
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/GenerateHtmlDoc.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/GenerateHtmlDoc.java
index df5c8d0..d502339 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/GenerateHtmlDoc.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/GenerateHtmlDoc.java
@@ -77,11 +77,6 @@
return this;
}
- StringBuilderWithIndent emptyLine() {
- builder.append(NL);
- return this;
- }
-
@Override
public String toString() {
return builder.toString();
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/itf/ClassProcessor.java b/src/main/java/com/android/tools/r8/ir/desugar/itf/ClassProcessor.java
index 6a74cf3..85b530e 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/itf/ClassProcessor.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/itf/ClassProcessor.java
@@ -254,13 +254,6 @@
this.emulatedInterfaceInfo = emulatedInterfaceInfo;
}
- public static SignaturesInfo create(MethodSignatures signatures) {
- if (signatures.isEmpty()) {
- return EMPTY;
- }
- return new SignaturesInfo(signatures, EmulatedInterfaceInfo.EMPTY);
- }
-
public SignaturesInfo merge(SignaturesInfo other) {
if (isEmpty()) {
return other;
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/stringconcat/StringConcatInstructionDesugaring.java b/src/main/java/com/android/tools/r8/ir/desugar/stringconcat/StringConcatInstructionDesugaring.java
index 158c97d..0b29d7e 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/stringconcat/StringConcatInstructionDesugaring.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/stringconcat/StringConcatInstructionDesugaring.java
@@ -355,10 +355,6 @@
this.method = method;
}
- public DexMethod getMethod() {
- return method;
- }
-
public ValueType getValueType() {
assert method.getProto().getArity() == 1;
return ValueType.fromDexType(method.getParameter(0));
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java b/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
index d19fa89..5bdde13 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/Inliner.java
@@ -24,7 +24,6 @@
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.ClassInitializationAnalysis;
import com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy;
-import com.android.tools.r8.ir.analysis.type.ClassTypeElement;
import com.android.tools.r8.ir.analysis.type.Nullability;
import com.android.tools.r8.ir.analysis.type.TypeAnalysis;
import com.android.tools.r8.ir.analysis.type.TypeElement;
@@ -1143,27 +1142,6 @@
return false;
}
- private DexProgramClass getDowncastTypeIfNeeded(
- InliningStrategy strategy, InvokeMethod invoke, ProgramMethod target) {
- if (invoke.isInvokeMethodWithReceiver()) {
- // If the invoke has a receiver but the actual type of the receiver is different from the
- // computed target holder, inlining requires a downcast of the receiver. In case we don't know
- // the exact type of the receiver we use the static type of the receiver.
- Value receiver = invoke.asInvokeMethodWithReceiver().getReceiver();
- if (!receiver.getType().isClassType()) {
- return target.getHolder();
- }
-
- ClassTypeElement receiverType =
- strategy.getReceiverTypeOrDefault(invoke, receiver.getType().asClassType());
- ClassTypeElement targetType = target.getHolderType().toTypeElement(appView).asClassType();
- if (!receiverType.lessThanOrEqualUpToNullability(targetType, appView)) {
- return target.getHolder();
- }
- }
- return null;
- }
-
/** Applies member rebinding to the inlinee and inserts assume instructions. */
private void postProcessInlineeBlocks(
IRCode code,
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/info/MutableMethodOptimizationInfo.java b/src/main/java/com/android/tools/r8/ir/optimize/info/MutableMethodOptimizationInfo.java
index 2e760d1..8ee971e 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/info/MutableMethodOptimizationInfo.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/info/MutableMethodOptimizationInfo.java
@@ -187,14 +187,6 @@
return this;
}
- private void setFlag(int flag, boolean value) {
- if (value) {
- setFlag(flag);
- } else {
- clearFlag(flag);
- }
- }
-
private void setFlag(int flag) {
flags |= flag;
}
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/info/OptimizationFeedbackDelayed.java b/src/main/java/com/android/tools/r8/ir/optimize/info/OptimizationFeedbackDelayed.java
index af6cf62..2148519 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/info/OptimizationFeedbackDelayed.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/info/OptimizationFeedbackDelayed.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.DexEncodedField;
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.graph.DexType;
-import com.android.tools.r8.graph.ProgramField;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint;
import com.android.tools.r8.ir.analysis.type.DynamicType;
@@ -41,10 +40,6 @@
new IdentityHashMap<>();
private final Map<DexEncodedMethod, ConstraintWithTarget> processed = new IdentityHashMap<>();
- private MutableFieldOptimizationInfo getFieldOptimizationInfoForUpdating(ProgramField field) {
- return getFieldOptimizationInfoForUpdating(field.getDefinition());
- }
-
private synchronized MutableFieldOptimizationInfo getFieldOptimizationInfoForUpdating(
DexEncodedField field) {
MutableFieldOptimizationInfo info = fieldOptimizationInfos.get(field);
diff --git a/src/main/java/com/android/tools/r8/lightir/LirBuilder.java b/src/main/java/com/android/tools/r8/lightir/LirBuilder.java
index 0f78a4e..b2fe3ba 100644
--- a/src/main/java/com/android/tools/r8/lightir/LirBuilder.java
+++ b/src/main/java/com/android/tools/r8/lightir/LirBuilder.java
@@ -134,18 +134,10 @@
return strategy.getEncodedValueIndexForReference(value, referencingValueIndex);
}
- private int valueIndexSize(EV value, int referencingInstructionIndex) {
- return encodedValueIndexSize(getEncodedValueIndex(value, referencingInstructionIndex));
- }
-
private int encodedValueIndexSize(int encodedValueIndex) {
return ByteUtils.intEncodingSize(encodedValueIndex);
}
- private void writeValueIndex(EV value, int referencingInstructionIndex) {
- writeEncodedValueIndex(getEncodedValueIndex(value, referencingInstructionIndex));
- }
-
private void writeEncodedValueIndex(int encodedValueIndex) {
ByteUtils.writeEncodedInt(encodedValueIndex, writer::writeOperand);
}
diff --git a/src/main/java/com/android/tools/r8/lightir/LirSsaValueStrategy.java b/src/main/java/com/android/tools/r8/lightir/LirSsaValueStrategy.java
index 78642e8..83b5a66 100644
--- a/src/main/java/com/android/tools/r8/lightir/LirSsaValueStrategy.java
+++ b/src/main/java/com/android/tools/r8/lightir/LirSsaValueStrategy.java
@@ -22,20 +22,6 @@
public abstract EV decodeValueIndex(int encodedValueIndex, int currentValueIndex);
- private static class AbsoluteStrategy extends LirSsaValueStrategy<Integer> {
-
- @Override
- public int encodeValueIndex(Integer value, int currentValueIndex) {
- assert value != null;
- return value;
- }
-
- @Override
- public Integer decodeValueIndex(int encodedValueIndex, int currentValueIndex) {
- return encodedValueIndex;
- }
- }
-
private static class RelativeStrategy extends LirSsaValueStrategy<Integer> {
@Override
diff --git a/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java b/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java
index 5086ebe..22cf5e4 100644
--- a/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java
+++ b/src/main/java/com/android/tools/r8/naming/ComposingBuilder.java
@@ -361,10 +361,6 @@
this.methodName = methodName;
}
- public String getHolderTypeName() {
- return holderTypeName;
- }
-
public String getMethodName() {
return methodName;
}
@@ -1218,9 +1214,6 @@
return hasValue() ? end : NO_RANGE_FROM;
}
- private boolean isPreamble() {
- return hasValue() && start == end && start == 0;
- }
}
private static class ComputedOutlineInformation {
diff --git a/src/main/java/com/android/tools/r8/retrace/Retrace.java b/src/main/java/com/android/tools/r8/retrace/Retrace.java
index aebad6d..8f619ac 100644
--- a/src/main/java/com/android/tools/r8/retrace/Retrace.java
+++ b/src/main/java/com/android/tools/r8/retrace/Retrace.java
@@ -700,10 +700,5 @@
.compare(one, other)
!= 0;
}
-
- public static <T, ST extends StackTraceElementProxy<T, ST>>
- RetraceStackTraceElementProxyEquivalence<T, ST> getInstance(boolean isVerbose) {
- return new RetraceStackTraceElementProxyEquivalence<>(isVerbose);
- }
}
}
diff --git a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
index f0e4959..811ddc9 100644
--- a/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
+++ b/src/main/java/com/android/tools/r8/shaking/AppInfoWithLiveness.java
@@ -438,34 +438,6 @@
return pruneMap(map, prunedItems.getRemovedClasses(), executorService, futures);
}
- private static <V> Map<DexMember<?, ?>, V> pruneMapFromMembers(
- Map<DexMember<?, ?>, V> map,
- PrunedItems prunedItems,
- ExecutorService executorService,
- List<Future<?>> futures) {
- if (prunedItems.hasRemovedMembers()) {
- futures.add(
- ThreadUtils.processAsynchronously(
- () -> {
- Set<DexField> removedFields = prunedItems.getRemovedFields();
- Set<DexMethod> removedMethods = prunedItems.getRemovedMethods();
- if (map.size() <= removedFields.size() + removedMethods.size()) {
- map.keySet()
- .removeIf(
- member ->
- member.isDexField()
- ? removedFields.contains(member.asDexField())
- : removedMethods.contains(member.asDexMethod()));
- } else {
- removedFields.forEach(map::remove);
- removedMethods.forEach(map::remove);
- }
- },
- executorService));
- }
- return map;
- }
-
private static Object2BooleanMap<DexMember<?, ?>> pruneMapFromMembers(
Object2BooleanMap<DexMember<?, ?>> map,
PrunedItems prunedItems,
diff --git a/src/main/java/com/android/tools/r8/shaking/MainDexInfo.java b/src/main/java/com/android/tools/r8/shaking/MainDexInfo.java
index 30f4bc2..14d0dba 100644
--- a/src/main/java/com/android/tools/r8/shaking/MainDexInfo.java
+++ b/src/main/java/com/android/tools/r8/shaking/MainDexInfo.java
@@ -122,10 +122,6 @@
return items.contains(type);
}
- private boolean isDependency(ProgramDefinition definition) {
- return isDependency(definition.getContextType());
- }
-
private boolean isDependency(DexReference reference) {
return tracedDependencies.contains(reference.getContextType());
}
diff --git a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
index cde2c21..37cad6b 100644
--- a/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
+++ b/src/main/java/com/android/tools/r8/shaking/ProguardConfigurationParser.java
@@ -766,10 +766,6 @@
return false;
}
- private boolean skipReturnValueAttribute(String name) {
- return acceptString(name);
- }
-
private boolean parseOptimizationOption(TextPosition optionStart)
throws ProguardRuleParserException {
if (!acceptString("optimizations")) {
@@ -980,28 +976,6 @@
"Expecting '-keep' option after '-if' option.", origin, getPosition(optionStart)));
}
- private KeepConstantArgumentRule parseConstantArgumentRule(Position start)
- throws ProguardRuleParserException {
- KeepConstantArgumentRule.Builder keepRuleBuilder =
- KeepConstantArgumentRule.builder().setOrigin(origin).setStart(start);
- parseClassSpec(keepRuleBuilder);
- Position end = getPosition();
- keepRuleBuilder.setSource(getSourceSnippet(contents, start, end));
- keepRuleBuilder.setEnd(end);
- return keepRuleBuilder.build();
- }
-
- private KeepUnusedArgumentRule parseUnusedArgumentRule(Position start)
- throws ProguardRuleParserException {
- KeepUnusedArgumentRule.Builder keepRuleBuilder =
- KeepUnusedArgumentRule.builder().setOrigin(origin).setStart(start);
- parseClassSpec(keepRuleBuilder);
- Position end = getPosition();
- keepRuleBuilder.setSource(getSourceSnippet(contents, start, end));
- keepRuleBuilder.setEnd(end);
- return keepRuleBuilder.build();
- }
-
private ReprocessClassInitializerRule parseReprocessClassInitializerRule(
ReprocessClassInitializerRule.Type type, Position start)
throws ProguardRuleParserException {
@@ -1771,15 +1745,6 @@
}
}
- private boolean isInteger(String s) {
- for (int i = 0; i < s.length(); i++) {
- if (!Character.isDigit(s.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
private boolean eof() {
return position == contents.length();
}
@@ -2138,25 +2103,6 @@
}
}
- private void parsePackageFilter(BiConsumer<Boolean, ProguardPackageMatcher> consumer)
- throws ProguardRuleParserException {
- skipWhitespace();
- if (isOptionalArgumentGiven()) {
- do {
- IdentifierPatternWithWildcardsAndNegation name =
- acceptIdentifierWithBackreference(IdentifierType.PACKAGE_NAME, true);
- if (name == null) {
- throw parseError("Package name expected");
- }
- consumer.accept(
- name.negated, new ProguardPackageMatcher(name.patternWithWildcards.pattern));
- skipWhitespace();
- } while (acceptChar(','));
- } else {
- consumer.accept(false, new ProguardPackageMatcher("**"));
- }
- }
-
private void parseClassFilter(Consumer<ProguardClassNameList> consumer)
throws ProguardRuleParserException {
skipWhitespace();
@@ -2274,11 +2220,6 @@
return new ProguardRuleParserException(message, snippetForPosition(), origin, getPosition());
}
- private ProguardRuleParserException parseError(String message, Throwable cause) {
- return new ProguardRuleParserException(message, snippetForPosition(), origin, getPosition(),
- cause);
- }
-
private ProguardRuleParserException parseError(String message, TextPosition start,
Throwable cause) {
return new ProguardRuleParserException(message, snippetForPosition(start),
diff --git a/src/main/java/com/android/tools/r8/shaking/WhyAreYouKeepingConsumer.java b/src/main/java/com/android/tools/r8/shaking/WhyAreYouKeepingConsumer.java
index 1099f62..d4f127a 100644
--- a/src/main/java/com/android/tools/r8/shaking/WhyAreYouKeepingConsumer.java
+++ b/src/main/java/com/android/tools/r8/shaking/WhyAreYouKeepingConsumer.java
@@ -120,11 +120,6 @@
out.println(getNodeString(node));
}
- private void printNothingKeeping(ClassReference clazz, PrintStream out) {
- out.print("Nothing is keeping ");
- out.println(DescriptorUtils.descriptorToJavaType(clazz.getDescriptor()));
- }
-
private List<Pair<GraphNode, GraphEdgeInfo>> findShortestPathTo(final GraphNode node) {
if (node == null) {
return null;
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApp.java b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
index 0b9de96..8ea5c72 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApp.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApp.java
@@ -604,15 +604,6 @@
};
}
- private Consumer<ProgramResource> createClassFileResourceConsumer(
- Map<String, ProgramResource> classPathResources) {
- return programResource -> {
- assert programResource.getClassDescriptors().size() == 1;
- String descriptor = programResource.getClassDescriptors().iterator().next();
- classPathResources.put(descriptor, programResource);
- };
- }
-
private int dumpProgramResources(
String archiveName,
FeatureSplitConfiguration featureSplitConfiguration,
diff --git a/src/main/java/com/android/tools/r8/utils/positions/DexPositionToPcMappedRangeMapper.java b/src/main/java/com/android/tools/r8/utils/positions/DexPositionToPcMappedRangeMapper.java
index 40f80b4..ecc6468 100644
--- a/src/main/java/com/android/tools/r8/utils/positions/DexPositionToPcMappedRangeMapper.java
+++ b/src/main/java/com/android/tools/r8/utils/positions/DexPositionToPcMappedRangeMapper.java
@@ -119,13 +119,4 @@
return debugInfo;
}
- private static boolean verifyIdentityMapping(
- EventBasedDebugInfo originalDebugInfo, EventBasedDebugInfo optimizedDebugInfo) {
- assert optimizedDebugInfo.startLine == originalDebugInfo.startLine;
- assert optimizedDebugInfo.events.length == originalDebugInfo.events.length;
- for (int i = 0; i < originalDebugInfo.events.length; ++i) {
- assert optimizedDebugInfo.events[i].equals(originalDebugInfo.events[i]);
- }
- return true;
- }
}