for (Entry<? extends MethodHandleKey, Integer> entry: methodHandleSection.getItems()) { entry.setValue(index++); MethodHandleKey methodHandleReference = entry.getKey(); case MethodHandleType.INSTANCE_GET: memberIndex = fieldSection.getItemIndex( methodHandleSection.getFieldReference(methodHandleReference)); break; case MethodHandleType.INVOKE_STATIC: case MethodHandleType.INVOKE_INTERFACE: memberIndex = methodSection.getItemIndex( methodHandleSection.getMethodReference(methodHandleReference)); break; default:
private int getDataSectionOffset() { return HeaderItem.ITEM_SIZE + stringSection.getItemCount() * StringIdItem.ITEM_SIZE + typeSection.getItemCount() * TypeIdItem.ITEM_SIZE + protoSection.getItemCount() * ProtoIdItem.ITEM_SIZE + fieldSection.getItemCount() * FieldIdItem.ITEM_SIZE + methodSection.getItemCount() * MethodIdItem.ITEM_SIZE + classSection.getItemCount() * ClassDefItem.ITEM_SIZE + callSiteSection.getItemCount() * CallSiteIdItem.ITEM_SIZE + methodHandleSection.getItemCount() * MethodHandleItem.ITEM_SIZE; }
numItems++; if (methodHandleSection.getItems().size() > 0) { numItems++;
public void writeMethodHandle(@Nonnull MethodHandleKey value) throws IOException { writer.writeEncodedUint(ValueType.METHOD_HANDLE, methodHandleSection.getItemIndex(value)); } }
writeMapItem(writer, ItemType.CLASS_DEF_ITEM, classSection.getItems().size(), classIndexSectionOffset); writeMapItem(writer, ItemType.CALL_SITE_ID_ITEM, callSiteSection.getItems().size(), callSiteSectionOffset); writeMapItem(writer, ItemType.METHOD_HANDLE_ITEM, methodHandleSection.getItems().size(), methodHandleSectionOffset);
public void writeMethodHandle(@Nonnull MethodHandleKey value) throws IOException { writer.writeEncodedUint(ValueType.METHOD_HANDLE, methodHandleSection.getItemIndex(value)); } }
for (Entry<? extends MethodHandleKey, Integer> entry: methodHandleSection.getItems()) { entry.setValue(index++); MethodHandleKey methodHandleReference = entry.getKey(); case MethodHandleType.INSTANCE_GET: memberIndex = fieldSection.getItemIndex( methodHandleSection.getFieldReference(methodHandleReference)); break; case MethodHandleType.INVOKE_STATIC: case MethodHandleType.INVOKE_INTERFACE: memberIndex = methodSection.getItemIndex( methodHandleSection.getMethodReference(methodHandleReference)); break; default:
numItems++; if (methodHandleSection.getItems().size() > 0) { numItems++;
private int getReferenceIndex(int referenceType, Reference reference) { switch (referenceType) { case ReferenceType.FIELD: return fieldSection.getItemIndex((FieldRefKey) reference); case ReferenceType.METHOD: return methodSection.getItemIndex((MethodRefKey) reference); case ReferenceType.STRING: return stringSection.getItemIndex((StringRef) reference); case ReferenceType.TYPE: return typeSection.getItemIndex((TypeRef) reference); case ReferenceType.METHOD_PROTO: return protoSection.getItemIndex((ProtoRefKey) reference); case ReferenceType.METHOD_HANDLE: return methodHandleSection.getItemIndex((MethodHandleKey) reference); case ReferenceType.CALL_SITE: return callSiteSection.getItemIndex((CallSiteKey) reference); default: throw new ExceptionWithContext("Unknown reference type: %d", referenceType); } } }
private int getDataSectionOffset() { return HeaderItem.ITEM_SIZE + stringSection.getItemCount() * StringIdItem.ITEM_SIZE + typeSection.getItemCount() * TypeIdItem.ITEM_SIZE + protoSection.getItemCount() * ProtoIdItem.ITEM_SIZE + fieldSection.getItemCount() * FieldIdItem.ITEM_SIZE + methodSection.getItemCount() * MethodIdItem.ITEM_SIZE + classSection.getItemCount() * ClassDefItem.ITEM_SIZE + callSiteSection.getItemCount() * CallSiteIdItem.ITEM_SIZE + methodHandleSection.getItemCount() * MethodHandleItem.ITEM_SIZE; }
writeMapItem(writer, ItemType.CLASS_DEF_ITEM, classSection.getItems().size(), classIndexSectionOffset); writeMapItem(writer, ItemType.CALL_SITE_ID_ITEM, callSiteSection.getItems().size(), callSiteSectionOffset); writeMapItem(writer, ItemType.METHOD_HANDLE_ITEM, methodHandleSection.getItems().size(), methodHandleSectionOffset);
private int getReferenceIndex(int referenceType, Reference reference) { switch (referenceType) { case ReferenceType.FIELD: return fieldSection.getItemIndex((FieldRefKey) reference); case ReferenceType.METHOD: return methodSection.getItemIndex((MethodRefKey) reference); case ReferenceType.STRING: return stringSection.getItemIndex((StringRef) reference); case ReferenceType.TYPE: return typeSection.getItemIndex((TypeRef) reference); case ReferenceType.METHOD_PROTO: return protoSection.getItemIndex((ProtoRefKey) reference); case ReferenceType.METHOD_HANDLE: return methodHandleSection.getItemIndex((MethodHandleKey) reference); case ReferenceType.CALL_SITE: return callSiteSection.getItemIndex((CallSiteKey) reference); default: throw new ExceptionWithContext("Unknown reference type: %d", referenceType); } } }