MethodVisitor (int access, String name, String descriptor, String signature, String[] exceptions) { if (isRecord()) { if (name.equals("<init>") && isSet(access, Opcodes.ACC_VARARGS)) { varArgConstructors.add(descriptor); } ObjectMethod method = ObjectMethod.from(name, descriptor); if (method != null) { return new MethodVisitor(Opcodes.API_VERSION) { @Override public void visitInvokeDynamicInsn(String indyName, String indyDescriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) { if (indyName.equals(name) && bootstrapMethodHandle.getName().equals("bootstrap") && bootstrapMethodHandle.getOwner().equals("java/lang/runtime/ObjectMethods")) { syntheticSignatures.add(method); } } }; } } return null; }