X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FResult_TrustedCommitmentTransactionNoneZ.java;h=10ff54b32662e33f41b1f66d81e3abcf90e2d139;hb=ffdd56c967087cba7548599934585b8a9a3102e2;hp=fdf1d8b114bcb5d174543dbd5f5793c2aa68cdb8;hpb=f3e670e9341decac613d33fc52febf19cea32f20;p=ldk-java diff --git a/src/main/java/org/ldk/structs/Result_TrustedCommitmentTransactionNoneZ.java b/src/main/java/org/ldk/structs/Result_TrustedCommitmentTransactionNoneZ.java index fdf1d8b1..10ff54b3 100644 --- a/src/main/java/org/ldk/structs/Result_TrustedCommitmentTransactionNoneZ.java +++ b/src/main/java/org/ldk/structs/Result_TrustedCommitmentTransactionNoneZ.java @@ -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_TrustedCommitmentTransactionNoneZ extends CommonBase { @@ -12,6 +13,10 @@ public class Result_TrustedCommitmentTransactionNoneZ extends CommonBase { if (ptr != 0) { bindings.CResult_TrustedCommitmentTransactionNoneZ_free(ptr); } super.finalize(); } + protected void force_free() { + if (ptr != 0) { bindings.CResult_TrustedCommitmentTransactionNoneZ_free(ptr); ptr = 0; } + } + static Result_TrustedCommitmentTransactionNoneZ constr_from_ptr(long ptr) { if (bindings.CResult_TrustedCommitmentTransactionNoneZ_is_ok(ptr)) { return new Result_TrustedCommitmentTransactionNoneZ_OK(null, ptr); @@ -23,9 +28,9 @@ public class Result_TrustedCommitmentTransactionNoneZ extends CommonBase { public final TrustedCommitmentTransaction res; private Result_TrustedCommitmentTransactionNoneZ_OK(Object _dummy, long ptr) { super(_dummy, ptr); - long res = bindings.LDKCResult_TrustedCommitmentTransactionNoneZ_get_ok(ptr); - TrustedCommitmentTransaction res_hu_conv = null; if (res < 0 || res > 4096) { res_hu_conv = new TrustedCommitmentTransaction(null, res); } - res_hu_conv.ptrs_to.add(this); + long res = bindings.CResult_TrustedCommitmentTransactionNoneZ_get_ok(ptr); + org.ldk.structs.TrustedCommitmentTransaction res_hu_conv = null; if (res < 0 || res > 4096) { res_hu_conv = new org.ldk.structs.TrustedCommitmentTransaction(null, res); } + if (res_hu_conv != null) { res_hu_conv.ptrs_to.add(this); }; this.res = res_hu_conv; } } @@ -39,11 +44,12 @@ public class Result_TrustedCommitmentTransactionNoneZ extends CommonBase { /** * Creates a new CResult_TrustedCommitmentTransactionNoneZ in the success state. */ - public static Result_TrustedCommitmentTransactionNoneZ ok(TrustedCommitmentTransaction o) { - long ret = bindings.CResult_TrustedCommitmentTransactionNoneZ_ok(o == null ? 0 : o.ptr & ~1); + public static Result_TrustedCommitmentTransactionNoneZ ok(org.ldk.structs.TrustedCommitmentTransaction o) { + long ret = bindings.CResult_TrustedCommitmentTransactionNoneZ_ok(o.ptr); + Reference.reachabilityFence(o); if (ret >= 0 && ret <= 4096) { return null; } Result_TrustedCommitmentTransactionNoneZ ret_hu_conv = Result_TrustedCommitmentTransactionNoneZ.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 +57,7 @@ public class Result_TrustedCommitmentTransactionNoneZ 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 +76,7 @@ public class Result_TrustedCommitmentTransactionNoneZ extends CommonBase { */ public boolean is_ok() { boolean ret = bindings.CResult_TrustedCommitmentTransactionNoneZ_is_ok(this.ptr); + Reference.reachabilityFence(this); return ret; }