[Java] Update auto-generated Java structs
[ldk-java] / src / main / java / org / ldk / structs / TwoTuple_PublicKeyTypeZ.java
index baf3eeb7228d09f83070b38a1b8389e55c4fe4f5..67db1d932dbc8c844f650accd62043845e80294c 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_PublicKeyTypeZ extends CommonBase {
         */
        public byte[] get_a() {
                byte[] ret = bindings.C2Tuple_PublicKeyTypeZ_get_a(this.ptr);
+               Reference.reachabilityFence(this);
                return ret;
        }
 
@@ -32,21 +34,29 @@ public class TwoTuple_PublicKeyTypeZ extends CommonBase {
         */
        public Type get_b() {
                long ret = bindings.C2Tuple_PublicKeyTypeZ_get_b(this.ptr);
-               if (ret >= 0 && ret < 1024) { return null; }
+               Reference.reachabilityFence(this);
+               if (ret >= 0 && ret <= 4096) { return null; }
                Type ret_hu_conv = new Type(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;
        }
 
+       long clone_ptr() {
+               long ret = bindings.C2Tuple_PublicKeyTypeZ_clone_ptr(this.ptr);
+               Reference.reachabilityFence(this);
+               return ret;
+       }
+
        /**
         * Creates a new tuple which has the same data as `orig`
         * but with all dynamically-allocated buffers duplicated in new buffers.
         */
        public TwoTuple_PublicKeyTypeZ clone() {
                long ret = bindings.C2Tuple_PublicKeyTypeZ_clone(this.ptr);
-               if (ret >= 0 && ret < 1024) { return null; }
+               Reference.reachabilityFence(this);
+               if (ret >= 0 && ret <= 4096) { return null; }
                TwoTuple_PublicKeyTypeZ ret_hu_conv = new TwoTuple_PublicKeyTypeZ(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;
        }
 
@@ -54,11 +64,13 @@ public class TwoTuple_PublicKeyTypeZ extends CommonBase {
         * Creates a new C2Tuple_PublicKeyTypeZ from the contained elements.
         */
        public static TwoTuple_PublicKeyTypeZ of(byte[] a, Type b) {
-               long ret = bindings.C2Tuple_PublicKeyTypeZ_new(a, b == null ? 0 : b.ptr);
-               if (ret >= 0 && ret < 1024) { return null; }
+               long ret = bindings.C2Tuple_PublicKeyTypeZ_new(InternalUtils.check_arr_len(a, 33), b == null ? 0 : b.ptr);
+               Reference.reachabilityFence(a);
+               Reference.reachabilityFence(b);
+               if (ret >= 0 && ret <= 4096) { return null; }
                TwoTuple_PublicKeyTypeZ ret_hu_conv = new TwoTuple_PublicKeyTypeZ(null, ret);
-               ret_hu_conv.ptrs_to.add(ret_hu_conv);
-               ret_hu_conv.ptrs_to.add(b);
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(b); };
                return ret_hu_conv;
        }