in log4j-weaver/src/main/java/org/apache/logging/log4j/weaver/LocationCacheGenerator.java [208:229]
private static void writeEntryMessageSuppliers(final InstructionAdapter mv) {
mv.visitCode();
mv.visitMaxs(3, 3);
mv.load(0, LOGGER_TYPE);
mv.invokeinterface(
LOGGER_TYPE.getInternalName(),
"getFlowMessageFactory",
Type.getMethodDescriptor(FLOW_MESSAGE_FACTORY_TYPE));
mv.load(1, STRING_TYPE);
mv.load(2, SUPPLIER_ARRAY_TYPE);
mv.invokestatic(
LAMBDA_UTIL_TYPE.getInternalName(),
"getAll",
Type.getMethodDescriptor(OBJECT_ARRAY_TYPE, SUPPLIER_ARRAY_TYPE),
false);
mv.invokeinterface(
FLOW_MESSAGE_FACTORY_TYPE.getInternalName(),
"newEntryMessage",
Type.getMethodDescriptor(ENTRY_MESSAGE_TYPE, STRING_TYPE, OBJECT_ARRAY_TYPE));
mv.areturn(MESSAGE_TYPE);
mv.visitEnd();
}