+ impl_constructor_arguments += f", {first_to_lower(var[1])}_impl: {var[0].replace('LDK', '')}.{var[0].replace('LDK', '')}Interface"
+
+ # BUILD INTERFACE METHODS
+ out_java_interface = ""
+ out_interface_implementation_overrides = ""
+ java_methods = []
+ for fn_line in field_function_lines:
+ java_method_descriptor = ""
+ if fn_line.fn_name != "free" and fn_line.fn_name != "clone":
+ out_java_interface += fn_line.fn_name + "("
+ out_interface_implementation_overrides += f"{fn_line.fn_name} ("
+
+ for idx, arg_conv_info in enumerate(fn_line.args_ty):
+ if idx >= 1:
+ out_java_interface += ", "
+ out_interface_implementation_overrides += ", "
+ out_java_interface += f"{arg_conv_info.arg_name}: {arg_conv_info.java_hu_ty}"
+ out_interface_implementation_overrides += f"{arg_conv_info.arg_name}: {arg_conv_info.java_ty}"
+ java_method_descriptor += arg_conv_info.java_fn_ty_arg
+ out_java_interface += f"): {fn_line.ret_ty_info.java_hu_ty};\n\t\t\t\t"
+ java_method_descriptor += ")" + fn_line.ret_ty_info.java_fn_ty_arg
+ java_methods.append((fn_line.fn_name, java_method_descriptor))
+
+ out_interface_implementation_overrides += f"): {fn_line.ret_ty_info.java_ty} {{\n"
+
+ interface_method_override_inset = "\t\t\t\t\t\t"
+ interface_implementation_inset = "\t\t\t\t\t\t\t"
+ for arg_info in fn_line.args_ty:
+ if arg_info.to_hu_conv is not None:
+ out_interface_implementation_overrides += interface_implementation_inset + arg_info.to_hu_conv.replace("\n", "\n\t\t\t\t") + "\n"
+
+ if fn_line.ret_ty_info.java_ty != "void":
+ out_interface_implementation_overrides += interface_implementation_inset + fn_line.ret_ty_info.java_hu_ty + " ret = arg." + fn_line.fn_name + "("
+ else:
+ out_interface_implementation_overrides += f"{interface_implementation_inset}arg." + fn_line.fn_name + "("
+
+ for idx, arg_info in enumerate(fn_line.args_ty):
+ if idx != 0:
+ out_interface_implementation_overrides += ", "
+ if arg_info.to_hu_conv_name is not None:
+ out_interface_implementation_overrides += arg_info.to_hu_conv_name
+ else:
+ out_interface_implementation_overrides += arg_info.arg_name