[Java] Update auto-generated Java structs
[ldk-java] / src / main / java / org / ldk / structs / Result_TrustedClosingTransactionNoneZ.java
index 0f444d5c197ac501961f531ca6d7400f4b7553b2..449dfce3066ac273a0f8aaf0c53e9a17ff8f285a 100644 (file)
@@ -4,6 +4,7 @@ import org.ldk.impl.bindings;
 import org.ldk.enums.*;
 import org.ldk.util.*;
 import java.util.Arrays;
+import java.lang.ref.Reference;
 import javax.annotation.Nullable;
 
 public class Result_TrustedClosingTransactionNoneZ extends CommonBase {
@@ -23,9 +24,9 @@ public class Result_TrustedClosingTransactionNoneZ extends CommonBase {
                public final TrustedClosingTransaction res;
                private Result_TrustedClosingTransactionNoneZ_OK(Object _dummy, long ptr) {
                        super(_dummy, ptr);
-                       long res = bindings.LDKCResult_TrustedClosingTransactionNoneZ_get_ok(ptr);
-                       TrustedClosingTransaction res_hu_conv = null; if (res < 0 || res > 4096) { res_hu_conv = new TrustedClosingTransaction(null, res); }
-                       res_hu_conv.ptrs_to.add(this);
+                       long res = bindings.CResult_TrustedClosingTransactionNoneZ_get_ok(ptr);
+                       org.ldk.structs.TrustedClosingTransaction res_hu_conv = null; if (res < 0 || res > 4096) { res_hu_conv = new org.ldk.structs.TrustedClosingTransaction(null, res); }
+                       if (res_hu_conv != null) { res_hu_conv.ptrs_to.add(this); };
                        this.res = res_hu_conv;
                }
        }
@@ -40,10 +41,11 @@ public class Result_TrustedClosingTransactionNoneZ extends CommonBase {
         * Creates a new CResult_TrustedClosingTransactionNoneZ in the success state.
         */
        public static Result_TrustedClosingTransactionNoneZ ok(TrustedClosingTransaction o) {
-               long ret = bindings.CResult_TrustedClosingTransactionNoneZ_ok(o == null ? 0 : o.ptr & ~1);
+               long ret = bindings.CResult_TrustedClosingTransactionNoneZ_ok(o == null ? 0 : o.ptr);
+               Reference.reachabilityFence(o);
                if (ret >= 0 && ret <= 4096) { return null; }
                Result_TrustedClosingTransactionNoneZ ret_hu_conv = Result_TrustedClosingTransactionNoneZ.constr_from_ptr(ret);
-               ret_hu_conv.ptrs_to.add(o);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(o); };
                // Due to rust's strict-ownership memory model, in some cases we need to "move"
                // an object to pass exclusive ownership to the function being called.
                // In most cases, we avoid ret_hu_conv being visible in GC'd languages by cloning the object
@@ -51,7 +53,7 @@ public class Result_TrustedClosingTransactionNoneZ extends CommonBase {
                // However, in some cases (eg here), there is no way to clone an object, and thus
                // we actually have to pass full ownership to Rust.
                // Thus, after ret_hu_conv call, o is reset to null and is now a dummy object.
-               o.ptr = 0;
+               o.ptr = 0;;
                return ret_hu_conv;
        }
 
@@ -70,6 +72,7 @@ public class Result_TrustedClosingTransactionNoneZ extends CommonBase {
         */
        public boolean is_ok() {
                boolean ret = bindings.CResult_TrustedClosingTransactionNoneZ_is_ok(this.ptr);
+               Reference.reachabilityFence(this);
                return ret;
        }