X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=java_strings.py;h=cb23b56a6d01332e8e25a8c8de0dc56fab45ae95;hb=4b75327c6b57b9819938eb0008667c86c39d6ca7;hp=5a416a955fb99a35317807aced1bd772234a0882;hpb=f477813d9dfeb6ab6a78fb7324cee5dc05656c77;p=ldk-java diff --git a/java_strings.py b/java_strings.py index 5a416a95..cb23b56a 100644 --- a/java_strings.py +++ b/java_strings.py @@ -595,6 +595,14 @@ import javax.annotation.Nullable; else: return "(*env)->Release" + ty_info.java_ty.strip("[]").title() + "ArrayElements(env, " + arr_name + ", " + dest_name + ", 0)" + def map_hu_array_elems(self, arr_name, conv_name, arr_ty, elem_ty): + if elem_ty.java_ty == "long" and elem_ty.java_hu_ty != "long": + return arr_name + " != null ? Arrays.stream(" + arr_name + ").mapToLong(" + conv_name + " -> " + elem_ty.from_hu_conv[0] + ").toArray() : null" + elif elem_ty.java_ty == "long": + return arr_name + " != null ? Arrays.stream(" + arr_name + ").map(" + conv_name + " -> " + elem_ty.from_hu_conv[0] + ").toArray() : null" + else: + return arr_name + " != null ? Arrays.stream(" + arr_name + ").map(" + conv_name + " -> " + elem_ty.from_hu_conv[0] + ").toArray(" + arr_ty.java_ty + "::new) : null" + def str_ref_to_native_call(self, var_name, str_len): return "str_ref_to_java(env, " + var_name + ", " + str_len + ")" def str_ref_to_c_call(self, var_name): @@ -620,6 +628,11 @@ import javax.annotation.Nullable; def var_decl_statement(self, ty_string, var_name, statement): return ty_string + " " + var_name + " = " + statement + def get_ptr(self, var): + return var + ".ptr" + def set_null_skip_free(self, var): + return var + ".ptr" + " = 0;" + def add_ref(self, holder, referent): return holder + ".ptrs_to.add(" + referent + ")"