[Java] Properly convert strings to/from Modified UTF-8
[ldk-java] / src / main / java / org / ldk / structs / TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ.java
index b3a0b200ae43de3b81e415434689eb1cc39c82f5..13dc97dad0e2f2b7d2d91318c14f371934497804 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;
 
 
@@ -24,6 +25,7 @@ public class TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ extends CommonBase {
         */
        public byte[] get_a() {
                byte[] ret = bindings.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_get_a(this.ptr);
+               Reference.reachabilityFence(this);
                return ret;
        }
 
@@ -32,11 +34,13 @@ public class TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ extends CommonBase {
         */
        public TwoTuple_u32TxOutZ[] get_b() {
                long[] ret = bindings.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_get_b(this.ptr);
-               TwoTuple_u32TxOutZ[] ret_conv_20_arr = new TwoTuple_u32TxOutZ[ret.length];
-               for (int u = 0; u < ret.length; u++) {
+               Reference.reachabilityFence(this);
+               int ret_conv_20_len = ret.length;
+               TwoTuple_u32TxOutZ[] ret_conv_20_arr = new TwoTuple_u32TxOutZ[ret_conv_20_len];
+               for (int u = 0; u < ret_conv_20_len; u++) {
                        long ret_conv_20 = ret[u];
                        TwoTuple_u32TxOutZ ret_conv_20_hu_conv = new TwoTuple_u32TxOutZ(null, ret_conv_20);
-                       ret_conv_20_hu_conv.ptrs_to.add(this);
+                       if (ret_conv_20_hu_conv != null) { ret_conv_20_hu_conv.ptrs_to.add(this); };
                        ret_conv_20_arr[u] = ret_conv_20_hu_conv;
                }
                return ret_conv_20_arr;
@@ -44,6 +48,7 @@ public class TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ extends CommonBase {
 
        long clone_ptr() {
                long ret = bindings.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone_ptr(this.ptr);
+               Reference.reachabilityFence(this);
                return ret;
        }
 
@@ -53,9 +58,10 @@ public class TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ extends CommonBase {
         */
        public TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ clone() {
                long ret = bindings.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_clone(this.ptr);
+               Reference.reachabilityFence(this);
                if (ret >= 0 && ret <= 4096) { return null; }
                TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ ret_hu_conv = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ(null, ret);
-               ret_hu_conv.ptrs_to.add(this);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
                return ret_hu_conv;
        }
 
@@ -64,9 +70,11 @@ public class TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ extends CommonBase {
         */
        public static TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ of(byte[] a, TwoTuple_u32TxOutZ[] b) {
                long ret = bindings.C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new(InternalUtils.check_arr_len(a, 32), b != null ? Arrays.stream(b).mapToLong(b_conv_20 -> b_conv_20 != null ? b_conv_20.ptr : 0).toArray() : null);
+               Reference.reachabilityFence(a);
+               Reference.reachabilityFence(b);
                if (ret >= 0 && ret <= 4096) { return null; }
                TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ ret_hu_conv = new TwoTuple_TxidCVec_C2Tuple_u32TxOutZZZ(null, ret);
-               ret_hu_conv.ptrs_to.add(ret_hu_conv);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
                return ret_hu_conv;
        }