X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=genbindings.py;h=d8d00158b438489fd589209e4e531b8092c6f4ba;hb=c284885e498d8783eff4c224410f16d9be63ad91;hp=042f5b92f4d92e061dfaa69e74a109e561a972bd;hpb=f95cc8ba7d61d65aa37e6448e6a083edc6e72fc1;p=ldk-java diff --git a/genbindings.py b/genbindings.py index 042f5b92..d8d00158 100755 --- a/genbindings.py +++ b/genbindings.py @@ -402,6 +402,9 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}", method_comma_separated_arguments = re_match.group(3) method_arguments = method_comma_separated_arguments.split(',') + if method_name.startswith("__"): + return + is_free = method_name.endswith("_free") if method_name.startswith("COption") or method_name.startswith("CResult"): struct_meth = method_name.rsplit("Z", 1)[0][1:] + "Z" @@ -669,7 +672,7 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}", out_java_struct.write("\t\tif (ptr != 0) { bindings." + struct_name.replace("LDK","") + "_free(ptr); } super.finalize();\n") out_java_struct.write("\t}\n\n") out_java_struct.write("\tstatic " + human_ty + " constr_from_ptr(long ptr) {\n") - out_java_struct.write("\t\tif (bindings." + struct_name + "_result_ok(ptr)) {\n") + out_java_struct.write("\t\tif (bindings." + struct_name.replace("LDK", "") + "_is_ok(ptr)) {\n") out_java_struct.write("\t\t\treturn new " + human_ty + "_OK(null, ptr);\n") out_java_struct.write("\t\t} else {\n") out_java_struct.write("\t\t\treturn new " + human_ty + "_Err(null, ptr);\n") @@ -684,11 +687,6 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}", if not err_map.is_native_primitive and (err_map.rust_obj.replace("LDK", "") + "_clone" not in clone_fns): can_clone = False - out_java.write("\tpublic static native boolean " + struct_name + "_result_ok(long arg);\n") - write_c(consts.c_fn_ty_pfx + "jboolean " + consts.c_fn_name_define_pfx(struct_name + "_result_ok", True) + consts.ptr_c_ty + " arg) {\n") - write_c("\treturn ((" + struct_name + "*)arg)->result_ok;\n") - write_c("}\n") - out_java.write("\tpublic static native " + res_map.java_ty + " " + struct_name + "_get_ok(long arg);\n") write_c(consts.c_fn_ty_pfx + res_map.c_ty + " " + consts.c_fn_name_define_pfx(struct_name + "_get_ok", True) + consts.ptr_c_ty + " arg) {\n") write_c("\t" + struct_name + " *val = (" + struct_name + "*)(arg & ~1);\n")