From 8081311d309ed1316cccadefbf71b38b3e8bb030 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Sat, 24 Sep 2016 18:15:07 -0700 Subject: [PATCH] Implement toString for Method/Field/Proto references --- .../org/jf/dexlib2/base/reference/BaseFieldReference.java | 5 +++++ .../jf/dexlib2/base/reference/BaseMethodProtoReference.java | 5 +++++ .../org/jf/dexlib2/base/reference/BaseMethodReference.java | 5 +++++ .../org/jf/dexlib2/base/reference/BaseStringReference.java | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseFieldReference.java b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseFieldReference.java index f056f245..862e342b 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseFieldReference.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseFieldReference.java @@ -32,6 +32,7 @@ package org.jf.dexlib2.base.reference; import org.jf.dexlib2.iface.reference.FieldReference; +import org.jf.dexlib2.util.ReferenceUtil; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -64,4 +65,8 @@ public abstract class BaseFieldReference implements FieldReference { if (res != 0) return res; return getType().compareTo(o.getType()); } + + @Override public String toString() { + return ReferenceUtil.getFieldDescriptor(this); + } } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodProtoReference.java b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodProtoReference.java index c0d38b0b..2fc5ed13 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodProtoReference.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodProtoReference.java @@ -33,6 +33,7 @@ package org.jf.dexlib2.base.reference; import com.google.common.collect.Ordering; import org.jf.dexlib2.iface.reference.MethodProtoReference; +import org.jf.dexlib2.util.ReferenceUtil; import org.jf.util.CharSequenceUtils; import org.jf.util.CollectionUtils; @@ -63,4 +64,8 @@ public abstract class BaseMethodProtoReference implements MethodProtoReference { if (res != 0) return res; return CollectionUtils.compareAsIterable(Ordering.usingToString(), getParameterTypes(), o.getParameterTypes()); } + + @Override public String toString() { + return ReferenceUtil.getMethodProtoDescriptor(this); + } } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodReference.java b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodReference.java index 3ff6f7db..f297760e 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodReference.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseMethodReference.java @@ -33,6 +33,7 @@ package org.jf.dexlib2.base.reference; import com.google.common.collect.Ordering; import org.jf.dexlib2.iface.reference.MethodReference; +import org.jf.dexlib2.util.ReferenceUtil; import org.jf.util.CharSequenceUtils; import org.jf.util.CollectionUtils; @@ -70,4 +71,8 @@ public abstract class BaseMethodReference implements MethodReference { if (res != 0) return res; return CollectionUtils.compareAsIterable(Ordering.usingToString(), getParameterTypes(), o.getParameterTypes()); } + + @Override public String toString() { + return ReferenceUtil.getMethodDescriptor(this); + } } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseStringReference.java b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseStringReference.java index c6daa91e..2f13c1ae 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseStringReference.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/base/reference/BaseStringReference.java @@ -58,5 +58,5 @@ public abstract class BaseStringReference implements StringReference { @Override public int length() { return getString().length(); } @Override public char charAt(int index) { return getString().charAt(index); } @Override public CharSequence subSequence(int start, int end) { return getString().subSequence(start, end); } - @Override public String toString() { return getString(); } + @Override @Nonnull public String toString() { return getString(); } }