@Override public int compare(Entry<? extends CallSiteKey, Integer> o1, Entry<? extends CallSiteKey, Integer> o2) { int offset1 = encodedArraySection.getItemOffset(callSiteSection.getEncodedCallSite(o1.getKey())); int offset2 = encodedArraySection.getItemOffset(callSiteSection.getEncodedCallSite(o2.getKey())); return Ints.compare(offset1, offset2); } };
private void writeCallSites(DexDataWriter writer) throws IOException { callSiteSectionOffset = writer.getPosition(); List<Map.Entry<? extends CallSiteKey, Integer>> callSiteEntries = Lists.newArrayList(callSiteSection.getItems()); Collections.sort(callSiteEntries, callSiteComparator); int index = 0; for (Map.Entry<? extends CallSiteKey, Integer> callSite: callSiteEntries) { callSite.setValue(index++); writer.writeInt(encodedArraySection.getItemOffset(callSiteSection.getEncodedCallSite(callSite.getKey()))); } }
indexWriter.writeInt(encodedArraySection.getItemOffset(staticInitializers)); } else { indexWriter.writeInt(NO_OFFSET);
@Override public int compare(Entry<? extends CallSiteKey, Integer> o1, Entry<? extends CallSiteKey, Integer> o2) { int offset1 = encodedArraySection.getItemOffset(callSiteSection.getEncodedCallSite(o1.getKey())); int offset2 = encodedArraySection.getItemOffset(callSiteSection.getEncodedCallSite(o2.getKey())); return Ints.compare(offset1, offset2); } };
private void writeCallSites(DexDataWriter writer) throws IOException { callSiteSectionOffset = writer.getPosition(); List<Map.Entry<? extends CallSiteKey, Integer>> callSiteEntries = Lists.newArrayList(callSiteSection.getItems()); Collections.sort(callSiteEntries, callSiteComparator); int index = 0; for (Map.Entry<? extends CallSiteKey, Integer> callSite: callSiteEntries) { callSite.setValue(index++); writer.writeInt(encodedArraySection.getItemOffset(callSiteSection.getEncodedCallSite(callSite.getKey()))); } }
indexWriter.writeInt(encodedArraySection.getItemOffset(staticInitializers)); } else { indexWriter.writeInt(NO_OFFSET);