X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=genbindings.py;h=ca88a3aa989fe43792e5521cf7e6d2d264902cd6;hb=b52dde859c138f9257499496749d1eb89f9f6f43;hp=d6e431f7abcbc8c9f687804c8bcdc39574289f84;hpb=1668e21d15257d59a739a188a6e85d6e57f8f2cc;p=ldk-java diff --git a/genbindings.py b/genbindings.py index d6e431f7..ca88a3aa 100755 --- a/genbindings.py +++ b/genbindings.py @@ -14,8 +14,12 @@ else: sys.exit(1) target = None -if sys.argv[6] == "java": +if sys.argv[6] == "java" or sys.argv[6] == "android": + import java_strings from java_strings import Consts + target = java_strings.Target.JAVA + if sys.argv[6] == "android": + target = java_strings.Target.ANDROID elif sys.argv[6] == "typescript": import typescript_strings from typescript_strings import Consts @@ -221,7 +225,8 @@ def java_c_types(fn_arg, ret_arr_len): c_ty = "int64_t" fn_arg = fn_arg[8:].strip() else: - c_ty = "intptr_t" + c_ty = "int64_t" + rust_obj = "uintptr_t" fn_arg = fn_arg[9:].strip() is_primitive = True elif is_const and fn_arg.startswith("char *"): @@ -303,7 +308,6 @@ def java_c_types(fn_arg, ret_arr_len): c_ty = consts.ptr_c_ty java_ty = consts.ptr_native_ty fn_ty_arg = "J" - is_primitive = False var_is_arr = var_is_arr_regex.match(fn_arg) if var_is_arr is not None or ret_arr_len is not None: @@ -344,7 +348,7 @@ with open(sys.argv[1]) as in_h: clone_fns.add(reg_fn.group(2)) else: rty = java_c_types(reg_fn.group(1), None) - if rty is not None and rty.rust_obj is not None and reg_fn.group(2) == rty.java_hu_ty + "_new": + if rty is not None and not rty.is_native_primitive and reg_fn.group(2) == rty.java_hu_ty + "_new": constructor_fns[rty.rust_obj] = reg_fn.group(3) continue arr_fn = fn_ret_arr_regex.match(line)