Top Description Fields Constructors Methods
org.droidparts.dexmaker.dx.dex.file

public final Class ProtoIdsSection

extends UniformItemSection
Class Inheritance
Imports
org.droidparts.dexmaker.dx.rop.cst.Constant, org.droidparts.dexmaker.dx.rop.type.Prototype, org.droidparts.dexmaker.dx.util.AnnotatedOutput, .Hex, java.util.Collection, .TreeMap

Proto (method prototype) identifiers list section of a .dex file.

Field Summary

Modifier and TypeField and Description
private final TreeMap<Prototype, ProtoIdItem>
protoIds

non-null; map from method prototypes to ProtoIdItem instances

Constructor Summary

AccessConstructor and Description
public
ProtoIdsSection(DexFile
non-null; file that this instance is part of
file
)

Constructs an instance.

Method Summary

Modifier and TypeMethod and Description
public IndexedItem
get(Constant
non-null; constant to look for
cst
)

Implements abstract org.droidparts.dexmaker.dx.dex.file.UniformItemSection.get.

Gets the item corresponding to the given Constant.
public int

Returns:

>= 0; the reference's index
indexOf
(Prototype
non-null; the prototype to look up
prototype
)

Gets the index of the given prototype, which must have been added to this instance.

public ProtoIdItem

Returns:

non-null; the interned reference
intern
(Prototype
non-null; the prototype to intern
prototype
)

Interns an element into this instance.

public Collection<? extends Item>
items()

Implements abstract org.droidparts.dexmaker.dx.dex.file.Section.items.

Gets the collection of all the items in this section.
protected void
orderItems()

Implements abstract org.droidparts.dexmaker.dx.dex.file.UniformItemSection.orderItems.

Alters or picks the order for items in this instance if desired, so that subsequent calls to items will yield a so-ordered collection.
public void
writeHeaderPart(AnnotatedOutput
non-null; where to write
out
)

Writes the portion of the file header that refers to this instance.

Inherited from org.droidparts.dexmaker.dx.dex.file.UniformItemSection:
getAbsoluteItemOffsetprepare0writeSizewriteTo0

Field Detail

protoIdsback to summary
private final TreeMap<Prototype, ProtoIdItem> protoIds

non-null; map from method prototypes to ProtoIdItem instances

Constructor Detail

ProtoIdsSectionback to summary
public ProtoIdsSection(DexFile file)

Constructs an instance. The file offset is initially unknown.

Parameters
file:DexFile

non-null; file that this instance is part of

Method Detail

getback to summary
public IndexedItem get(Constant cst)

Implements abstract org.droidparts.dexmaker.dx.dex.file.UniformItemSection.get.

Doc from org.droidparts.dexmaker.dx.dex.file.UniformItemSection.get.

Gets the item corresponding to the given Constant. This will throw an exception if the constant is not found, including if this instance isn't the sort that maps constants to IndexedItem instances.

Parameters
cst:Constant

non-null; constant to look for

Returns:IndexedItem

non-null; the corresponding item found in this instance

Annotations
@Override
indexOfback to summary
public int indexOf(Prototype prototype)

Gets the index of the given prototype, which must have been added to this instance.

Parameters
prototype:Prototype

non-null; the prototype to look up

Returns:int

>= 0; the reference's index

internback to summary
public ProtoIdItem intern(Prototype prototype)

Interns an element into this instance.

Parameters
prototype:Prototype

non-null; the prototype to intern

Returns:ProtoIdItem

non-null; the interned reference

itemsback to summary
public Collection<? extends Item> items()

Implements abstract org.droidparts.dexmaker.dx.dex.file.Section.items.

Doc from org.droidparts.dexmaker.dx.dex.file.Section.items.

Gets the collection of all the items in this section. It is not valid to attempt to change the returned list.

Returns:Collection<? extends Item>

non-null; the items

Annotations
@Override
orderItemsback to summary
protected void orderItems()

Implements abstract org.droidparts.dexmaker.dx.dex.file.UniformItemSection.orderItems.

Doc from org.droidparts.dexmaker.dx.dex.file.UniformItemSection.orderItems.

Alters or picks the order for items in this instance if desired, so that subsequent calls to items will yield a so-ordered collection. If the items in this instance are indexed, then this method should also assign indices.

Annotations
@Override
writeHeaderPartback to summary
public void writeHeaderPart(AnnotatedOutput out)

Writes the portion of the file header that refers to this instance.

Parameters
out:AnnotatedOutput

non-null; where to write