X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=genbindings.py;h=73ef5f92d42d2360debe5330f1492eb4b21e5de4;hb=6617245e37cf38bb294e664bade80a5dd195972c;hp=d2cf50db00938836c97e5964ada92e317446e484;hpb=2ed9081562d00a8645604b07629e963231d49e0f;p=ldk-java diff --git a/genbindings.py b/genbindings.py index d2cf50db..73ef5f92 100755 --- a/genbindings.py +++ b/genbindings.py @@ -409,6 +409,8 @@ with open(sys.argv[1]) as in_h, open(sys.argv[2], "w") as out_java, open(sys.arg if not arg_conv_info.rust_obj in trait_structs and not arg_conv_info.rust_obj in unitary_enums: print(re_match.group(2) + " bad - " + arg_conv_info.rust_obj) args_known = False + if arg_conv_info.arg_conv is not None and "Warning" in arg_conv_info.arg_conv: + args_known = False arg_names.append(arg_conv_info) out_java_struct = None @@ -807,6 +809,7 @@ with open(sys.argv[1]) as in_h, open(sys.argv[2], "w") as out_java, open(sys.arg elif fn_line.group(2) == "free": out_c.write("\t\t.free = " + struct_name + "_JCalls_free,\n") else: + clone_fns.add(struct_name + "_clone") out_c.write("\t\t.clone = " + struct_name + "_JCalls_clone,\n") for var_line in field_var_lines: if var_line.group(1) in trait_structs: @@ -843,7 +846,7 @@ with open(sys.argv[1]) as in_h, open(sys.argv[2], "w") as out_java, open(sys.arg # For now, just disable enabling the _call_log - we don't know how to inverse-map String is_log = fn_line.group(2) == "log" and struct_name == "LDKLogger" if fn_line.group(2) != "free" and fn_line.group(2) != "clone" and fn_line.group(2) != "eq" and not is_log: - dummy_line = fn_line.group(1) + struct_name.replace("LDK", "") + "_call_" + fn_line.group(2) + " " + struct_name + "* this_arg" + fn_line.group(4) + "\n" + dummy_line = fn_line.group(1) + struct_name.replace("LDK", "") + "_" + fn_line.group(2) + " " + struct_name + "* this_arg" + fn_line.group(4) + "\n" map_fn(dummy_line, re.compile("([A-Za-z_0-9]*) *([A-Za-z_0-9]*) *(.*)").match(dummy_line), None, "(this_arg_conv->" + fn_line.group(2) + ")(this_arg_conv->this_arg") out_c.write("""#include \"org_ldk_impl_bindings.h\"