Fix short, push trait struct refcnt increment down to lang
[ldk-java] / java_strings.py
index 2e9ae67052d7d06fe6873065da9004d0a72fc4a2..d73a15de87328d4114350a387f28a88e978a38b3 100644 (file)
@@ -702,6 +702,12 @@ import java.util.Arrays;
 
         return (out_java, out_java_trait, out_c)
 
+    def trait_struct_inc_refcnt(self, ty_info):
+        base_conv = "\nif (" + ty_info.var_name + "_conv.free == " + ty_info.rust_obj + "_JCalls_free) {\n"
+        base_conv = base_conv + "\t// If this_arg is a JCalls struct, then we need to increment the refcnt in it.\n"
+        base_conv = base_conv + "\t" + ty_info.rust_obj + "_JCalls_clone(" + ty_info.var_name + "_conv.this_arg);\n}"
+        return base_conv
+
     def map_complex_enum(self, struct_name, variant_list, camel_to_snake):
         java_hu_type = struct_name.replace("LDK", "")
         out_java_enum = ""