// secondary entries hold invokedynamic call site bindings public ConstantPoolCacheEntry getSecondaryEntryAt(int i) { ConstantPoolCacheEntry e = new ConstantPoolCacheEntry(this, decodeSecondaryIndex(i)); if (Assert.ASSERTS_ENABLED) { Assert.that(e.isSecondaryEntry(), "must be a secondary entry"); } return e; }
public ConstantPoolCacheEntry getMainEntryAt(int i) { if (isSecondaryIndex(i)) { // run through an extra level of indirection: i = getSecondaryEntryAt(i).getMainEntryIndex(); } ConstantPoolCacheEntry e = new ConstantPoolCacheEntry(this, i); if (Assert.ASSERTS_ENABLED) { Assert.that(!e.isSecondaryEntry(), "must not be a secondary entry"); } return e; }