diff --git a/dexlib/src/main/java/org/jf/dexlib/TypeIdItem.java b/dexlib/src/main/java/org/jf/dexlib/TypeIdItem.java index 34c9da6b..08a9d654 100644 --- a/dexlib/src/main/java/org/jf/dexlib/TypeIdItem.java +++ b/dexlib/src/main/java/org/jf/dexlib/TypeIdItem.java @@ -58,6 +58,7 @@ public class TypeIdItem extends Item { * the given DexFile * @param dexFile The DexFile that this item will belong to * @param typeDescriptor The StringIdItem containing the type descriptor that + * this TypeIdItem represents * @return a TypeIdItem for the given values, and that has been interned into * the given DexFile */ @@ -66,6 +67,20 @@ public class TypeIdItem extends Item { return dexFile.TypeIdsSection.intern(typeIdItem); } + /** + * Returns a TypeIdItem for the given values, and that has been interned into + * the given DexFile + * @param dexFile The DexFile that this item will belong to + * @param typeDescriptor The string containing the type descriptor that this + * TypeIdItem represents + * @return a TypeIdItem for the given values, and that has been interned into + * the given DexFile + */ + public static TypeIdItem getInternedTypeIdItem(DexFile dexFile, String typeDescriptor) { + TypeIdItem typeIdItem = new TypeIdItem(dexFile, StringIdItem.getInternedStringIdItem(dexFile, typeDescriptor)); + return dexFile.TypeIdsSection.intern(typeIdItem); + } + /** {@inheritDoc} */ protected void readItem(Input in, ReadContext readContext) { int stringIdIndex = in.readInt();