Properly free C tuples when the inner fields are dropped
[ldk-java] / src / main / java / org / ldk / util / TwoTuple.java
1 package org.ldk.util;
2
3 public class TwoTuple<A, B> {
4     private Runnable finalize_run;
5     public A a;
6     public B b;
7     public TwoTuple(A a, B b) {
8         this.a = a;
9         this.b = b;
10     }
11     public TwoTuple(A a, B b, Runnable finalize_run) {
12         this(a, b);
13         this.finalize_run = finalize_run;
14     }
15     @Override
16     public void finalize() throws Throwable {
17         if (finalize_run != null) finalize_run.run();
18         super.finalize();
19     }
20 }