- to_hu_conv = ty_info.java_hu_ty + " " + ty_info.var_name + "_hu_conv = new " + ty_info.java_hu_ty + "(null, " + ty_info.var_name + ");" + to_hu_conv_sfx,
- to_hu_conv_name = ty_info.var_name + "_hu_conv", from_hu_conv = (ty_info.var_name + " != null ? " + ty_info.var_name + ".ptr : 0", ""))
+ to_hu_conv = self.consts.var_decl_statement(ty_info.java_hu_ty, ty_info.var_name + "_hu_conv", "new " + ty_info.java_hu_ty + "(null, " + ty_info.var_name + ")") + ";" + to_hu_conv_sfx,
+ to_hu_conv_name = ty_info.var_name + "_hu_conv", from_hu_conv = from_hu_conv)
+
+ # The manually-defined types - TxOut, u5, and Error
+ if ty_info.rust_obj == "LDKError":
+ assert from_hu_conv is None
+ return ConvInfo(ty_info = ty_info, arg_name = ty_info.var_name,
+ arg_conv = "", arg_conv_name = "(LDKError){ ._dummy = 0 }", arg_conv_cleanup = None,
+ ret_conv = ("/*", "*/"), ret_conv_name = "0",
+ to_hu_conv = self.consts.var_decl_statement(ty_info.java_hu_ty, ty_info.var_name + "_conv", "new " + ty_info.java_hu_ty + "(" + ty_info.var_name + ")") + ";",
+ to_hu_conv_name = ty_info.var_name + "_conv", from_hu_conv = ("0", ""))