aboutsummaryrefslogtreecommitdiff
path: root/dexlib2
diff options
context:
space:
mode:
Diffstat (limited to 'dexlib2')
-rw-r--r--dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java
index 0650ab3c..916147ec 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/writer/DexWriter.java
@@ -58,6 +58,7 @@ import org.jf.dexlib2.iface.reference.StringReference;
import org.jf.dexlib2.iface.reference.TypeReference;
import org.jf.dexlib2.util.InstructionUtil;
import org.jf.dexlib2.util.MethodUtil;
+import org.jf.dexlib2.util.ReferenceUtil;
import org.jf.dexlib2.writer.io.DeferredOutputStream;
import org.jf.dexlib2.writer.io.DeferredOutputStreamFactory;
import org.jf.dexlib2.writer.io.DexDataStore;
@@ -196,6 +197,33 @@ public abstract class DexWriter<
classSection.getItems().size() * ClassDefItem.ITEM_SIZE;
}
+ @Nonnull
+ public List<String> getMethodReferences() {
+ List<String> methodReferences = Lists.newArrayList();
+ for (Entry<? extends MethodRefKey, Integer> methodReference: methodSection.getItems()) {
+ methodReferences.add(ReferenceUtil.getMethodDescriptor(methodReference.getKey()));
+ }
+ return methodReferences;
+ }
+
+ @Nonnull
+ public List<String> getFieldReferences() {
+ List<String> fieldReferences = Lists.newArrayList();
+ for (Entry<? extends FieldRefKey, Integer> fieldReference: fieldSection.getItems()) {
+ fieldReferences.add(ReferenceUtil.getFieldDescriptor(fieldReference.getKey()));
+ }
+ return fieldReferences;
+ }
+
+ @Nonnull
+ public List<String> getTypeReferences() {
+ List<String> classReferences = Lists.newArrayList();
+ for (Entry<? extends TypeKey, Integer> typeReference: typeSection.getItems()) {
+ classReferences.add(typeReference.getKey().toString());
+ }
+ return classReferences;
+ }
+
public void writeTo(@Nonnull DexDataStore dest) throws IOException {
this.writeTo(dest, MemoryDeferredOutputStream.getFactory());
}