diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java index be2091fc..720c856d 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java @@ -100,7 +100,7 @@ public class ClassDefinition { private void writeClass(IndentingWriter writer) throws IOException { writer.write(".class "); writeAccessFlags(writer); - writer.write(classDef.getName()); + writer.write(classDef.getType()); writer.write('\n'); } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java index d9b66574..4a430131 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedClassDef.java @@ -68,7 +68,7 @@ public class DexBackedClassDef implements ClassDef { @Nonnull @Override - public String getName() { + public String getType() { return dexBuf.getType(dexBuf.readSmallUint(classDefOffset + CLASS_NAME_OFFSET)); } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedField.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedField.java index 86a74467..0d54a4e0 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedField.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedField.java @@ -85,7 +85,7 @@ public class DexBackedField implements Field { return dexBuf.getType(dexBuf.readUshort(getFieldIdItemOffset() + TYPE_OFFSET)); } - @Nonnull @Override public String getContainingClass() { return classDef.getName(); } + @Nonnull @Override public String getContainingClass() { return classDef.getType(); } @Override public int getAccessFlags() { return accessFlags; } @Nullable @Override public EncodedValue getInitialValue() { return initialValue; } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethod.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethod.java index 3bda2427..9b26319c 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethod.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/DexBackedMethod.java @@ -98,7 +98,7 @@ public class DexBackedMethod implements Method { this.parameterAnnotationSetListOffset = paramaterAnnotationIterator.seekTo(methodIndex); } - @Nonnull @Override public String getContainingClass() { return classDef.getName(); } + @Nonnull @Override public String getContainingClass() { return classDef.getType(); } @Override public int getAccessFlags() { return accessFlags; } @Nonnull diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java index deffc4a0..73fd9fb4 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/util/DebugInfo.java @@ -113,7 +113,7 @@ public abstract class DebugInfo implements Iterable { // add the local info for the "this" parameter locals[parameterIndex++] = new LocalInfo() { @Override public String getName() { return "this"; } - @Override public String getType() { return methodImpl.method.classDef.getName(); } + @Override public String getType() { return methodImpl.method.classDef.getType(); } @Override public String getSignature() { return null; } }; } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/iface/ClassDef.java b/dexlib2/src/main/java/org/jf/dexlib2/iface/ClassDef.java index 8f48a4af..b09394a5 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/iface/ClassDef.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/iface/ClassDef.java @@ -31,12 +31,14 @@ package org.jf.dexlib2.iface; +import org.jf.dexlib2.iface.reference.TypeReference; + import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.List; -public interface ClassDef { - @Nonnull String getName(); +public interface ClassDef extends TypeReference { + @Nonnull String getType(); int getAccessFlags(); @Nullable String getSuperclass(); @Nonnull List getInterfaces(); diff --git a/dexlib2/src/main/java/org/jf/dexlib2/immutable/ImmutableClassDef.java b/dexlib2/src/main/java/org/jf/dexlib2/immutable/ImmutableClassDef.java index 42b047a5..301126a6 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/immutable/ImmutableClassDef.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/immutable/ImmutableClassDef.java @@ -44,7 +44,7 @@ import javax.annotation.Nullable; import java.util.List; public class ImmutableClassDef implements ClassDef { - @Nonnull public final String name; + @Nonnull public final String type; public final int accessFlags; @Nullable public final String superclass; @Nonnull public final ImmutableList interfaces; @@ -53,7 +53,7 @@ public class ImmutableClassDef implements ClassDef { @Nonnull public final ImmutableList fields; @Nonnull public final ImmutableList methods; - public ImmutableClassDef(@Nonnull String name, + public ImmutableClassDef(@Nonnull String type, int accessFlags, @Nullable String superclass, @Nullable List interfaces, @@ -61,7 +61,7 @@ public class ImmutableClassDef implements ClassDef { @Nullable List annotations, @Nullable List fields, @Nullable List methods) { - this.name = name; + this.type = type; this.accessFlags = accessFlags; this.superclass = superclass; this.interfaces = interfaces==null ? ImmutableList.of() : ImmutableList.copyOf(interfaces); @@ -71,7 +71,7 @@ public class ImmutableClassDef implements ClassDef { this.methods = ImmutableMethod.immutableListOf(methods); } - public ImmutableClassDef(@Nonnull String name, + public ImmutableClassDef(@Nonnull String type, int accessFlags, @Nullable String superclass, @Nullable ImmutableList interfaces, @@ -79,7 +79,7 @@ public class ImmutableClassDef implements ClassDef { @Nullable ImmutableList annotations, @Nullable ImmutableList fields, @Nullable ImmutableList methods) { - this.name = name; + this.type = type; this.accessFlags = accessFlags; this.superclass = superclass; this.interfaces = ImmutableListUtils.nullToEmptyList(interfaces); @@ -94,7 +94,7 @@ public class ImmutableClassDef implements ClassDef { return (ImmutableClassDef)classDef; } return new ImmutableClassDef( - classDef.getName(), + classDef.getType(), classDef.getAccessFlags(), classDef.getSuperclass(), classDef.getInterfaces(), @@ -104,7 +104,7 @@ public class ImmutableClassDef implements ClassDef { classDef.getMethods()); } - @Nonnull @Override public String getName() { return name; } + @Nonnull @Override public String getType() { return type; } @Override public int getAccessFlags() { return accessFlags; } @Nullable @Override public String getSuperclass() { return superclass; } @Nonnull @Override public ImmutableList getInterfaces() { return interfaces; } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/util/MethodUtil.java b/dexlib2/src/main/java/org/jf/dexlib2/util/MethodUtil.java index 14e54be8..961fe558 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/util/MethodUtil.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/util/MethodUtil.java @@ -39,7 +39,7 @@ public class MethodUtil { public static String buildFullMethodString(ClassDef classDef, Method method) { //TODO: consider using a cached thread-local StringBuilder StringBuilder sb = new StringBuilder(); - sb.append(classDef.getName()); + sb.append(classDef.getType()); sb.append("->"); sb.append(method.getName()); sb.append("(");