Move tree fixer to graph package.
This is purely a move/rename refactor.
Change-Id: If117dbf79ddb3a3d48d7a1a08173976e092f8582
diff --git a/src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java b/src/main/java/com/android/tools/r8/graph/TreeFixer.java
similarity index 91%
rename from src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java
rename to src/main/java/com/android/tools/r8/graph/TreeFixer.java
index 7e029e1..aa3597e 100644
--- a/src/main/java/com/android/tools/r8/repackaging/RepackagingTreeFixer.java
+++ b/src/main/java/com/android/tools/r8/graph/TreeFixer.java
@@ -2,41 +2,27 @@
// 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.repackaging;
+package com.android.tools.r8.graph;
-import com.android.tools.r8.graph.AppView;
-import com.android.tools.r8.graph.DexEncodedField;
-import com.android.tools.r8.graph.DexEncodedMethod;
-import com.android.tools.r8.graph.DexField;
-import com.android.tools.r8.graph.DexItemFactory;
-import com.android.tools.r8.graph.DexMethod;
-import com.android.tools.r8.graph.DexProgramClass;
-import com.android.tools.r8.graph.DexProto;
-import com.android.tools.r8.graph.DexType;
-import com.android.tools.r8.graph.DexTypeList;
-import com.android.tools.r8.graph.EnclosingMethodAttribute;
-import com.android.tools.r8.graph.InnerClassAttribute;
-import com.android.tools.r8.graph.NestHostClassAttribute;
-import com.android.tools.r8.graph.NestMemberClassAttribute;
import java.util.ArrayList;
import java.util.Collection;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
-public class RepackagingTreeFixer {
+public class TreeFixer {
private final AppView<?> appView;
private final DexItemFactory dexItemFactory;
private final Map<DexType, DexType> repackagedClasses;
- private final TreeFixingCallbacks callbacks;
+ private final TreeFixerCallbacks callbacks;
private final Map<DexType, DexProgramClass> newProgramClasses = new IdentityHashMap<>();
private final Map<DexType, DexProgramClass> synthesizedFromClasses = new IdentityHashMap<>();
private final Map<DexProto, DexProto> protoFixupCache = new IdentityHashMap<>();
- public RepackagingTreeFixer(
- AppView<?> appView, Map<DexType, DexType> repackagedClasses, TreeFixingCallbacks callbacks) {
+ public TreeFixer(
+ AppView<?> appView, Map<DexType, DexType> repackagedClasses, TreeFixerCallbacks callbacks) {
this.appView = appView;
this.dexItemFactory = appView.dexItemFactory();
this.repackagedClasses = repackagedClasses;
diff --git a/src/main/java/com/android/tools/r8/repackaging/TreeFixingCallbacks.java b/src/main/java/com/android/tools/r8/graph/TreeFixerCallbacks.java
similarity index 62%
rename from src/main/java/com/android/tools/r8/repackaging/TreeFixingCallbacks.java
rename to src/main/java/com/android/tools/r8/graph/TreeFixerCallbacks.java
index 6447936..bb7f3cf 100644
--- a/src/main/java/com/android/tools/r8/repackaging/TreeFixingCallbacks.java
+++ b/src/main/java/com/android/tools/r8/graph/TreeFixerCallbacks.java
@@ -1,13 +1,9 @@
// Copyright (c) 2020, 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.repackaging;
+package com.android.tools.r8.graph;
-import com.android.tools.r8.graph.DexField;
-import com.android.tools.r8.graph.DexMethod;
-import com.android.tools.r8.graph.DexType;
-
-public interface TreeFixingCallbacks {
+public interface TreeFixerCallbacks {
void recordMove(DexField from, DexField to);
diff --git a/src/main/java/com/android/tools/r8/repackaging/Repackaging.java b/src/main/java/com/android/tools/r8/repackaging/Repackaging.java
index 221d175..9510772 100644
--- a/src/main/java/com/android/tools/r8/repackaging/Repackaging.java
+++ b/src/main/java/com/android/tools/r8/repackaging/Repackaging.java
@@ -20,6 +20,8 @@
import com.android.tools.r8.graph.ProgramPackage;
import com.android.tools.r8.graph.ProgramPackageCollection;
import com.android.tools.r8.graph.SortedProgramPackageCollection;
+import com.android.tools.r8.graph.TreeFixer;
+import com.android.tools.r8.graph.TreeFixerCallbacks;
import com.android.tools.r8.shaking.AnnotationFixer;
import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.shaking.ProguardConfiguration;
@@ -76,8 +78,8 @@
// Running the tree fixer with an identity mapping helps ensure that the fixup of of items is
// complete as the rewrite replaces all items regardless of repackaging.
// The identity mapping should result in no move callbacks being called.
- TreeFixingCallbacks callbacks =
- new TreeFixingCallbacks() {
+ TreeFixerCallbacks callbacks =
+ new TreeFixerCallbacks() {
@Override
public void recordMove(DexField from, DexField to) {
assert false;
@@ -94,7 +96,7 @@
}
};
Collection<DexProgramClass> newProgramClasses =
- new RepackagingTreeFixer(appView, Collections.emptyMap(), callbacks).run();
+ new TreeFixer(appView, Collections.emptyMap(), callbacks).run();
CommittedItems committedItems =
appView
.getSyntheticItems()
@@ -140,7 +142,7 @@
}
RepackagingLens.Builder lensBuilder = new RepackagingLens.Builder();
Collection<DexProgramClass> newProgramClasses =
- new RepackagingTreeFixer(appView, mappings, lensBuilder).run();
+ new TreeFixer(appView, mappings, lensBuilder).run();
appBuilder.replaceProgramClasses(new ArrayList<>(newProgramClasses));
RepackagingLens lens = lensBuilder.build(appView);
new AnnotationFixer(lens).run(appBuilder.getProgramClasses());
diff --git a/src/main/java/com/android/tools/r8/repackaging/RepackagingLens.java b/src/main/java/com/android/tools/r8/repackaging/RepackagingLens.java
index 2bcfb5b..04ae4a3 100644
--- a/src/main/java/com/android/tools/r8/repackaging/RepackagingLens.java
+++ b/src/main/java/com/android/tools/r8/repackaging/RepackagingLens.java
@@ -9,6 +9,7 @@
import com.android.tools.r8.graph.DexMethod;
import com.android.tools.r8.graph.DexType;
import com.android.tools.r8.graph.GraphLens.NestedGraphLens;
+import com.android.tools.r8.graph.TreeFixerCallbacks;
import com.android.tools.r8.shaking.AppInfoWithLiveness;
import com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap;
import com.android.tools.r8.utils.collections.BidirectionalOneToOneMap;
@@ -46,7 +47,7 @@
return originalTypes.get(to) == from || super.isSimpleRenaming(from, to);
}
- public static class Builder implements TreeFixingCallbacks {
+ public static class Builder implements TreeFixerCallbacks {
protected final BiMap<DexType, DexType> originalTypes = HashBiMap.create();
protected final MutableBidirectionalOneToOneMap<DexField, DexField> newFieldSignatures =