[TS] Fix indentation of bindings.mts somewhat
[ldk-java] / genbindings.py
index a5fb3c25a9d3fe4741ad20f8d2d1e0055c2d7271..1ac132ad9e1b3d21b0b0a824ed2f4ea892155acd 100755 (executable)
@@ -536,7 +536,7 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}",
                   or method_name.endswith("_read"))):
             out_java_struct = open(f"{sys.argv[3]}/structs/UtilMethods{consts.file_ext}", "a")
             for line in out_java_struct_delta.splitlines():
-                if not line.strip().startswith("this."):
+                if "this" not in line:
                     out_java_struct.write(line + "\n")
                 else:
                     out_java_struct.write("\t\t// " + line.strip() + "\n")
@@ -703,6 +703,7 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}",
             if check_sfx is not None:
                 write_c("CHECK(" + check_sfx[0] + "owner" + check_sfx[1] + ");\n")
             write_c("\treturn " + accessor[0] + "owner" + accessor[1] + ";\n")
+            holds_ref = True
         else:
             fn_defn = ptr_fn_defn
             write_c("static inline " + fn_defn + "{\n")
@@ -911,30 +912,7 @@ with open(sys.argv[1]) as in_h, open(f"{sys.argv[2]}/bindings{consts.file_ext}",
                 elif struct_name == "LDKTxOut":
                     with open(f"{sys.argv[3]}/structs/TxOut{consts.file_ext}", "w") as out_java_struct:
                         out_java_struct.write(consts.hu_struct_file_prefix)
-                        out_java_struct.write("public class TxOut extends CommonBase{\n")
-                        out_java_struct.write("\t/** The script_pubkey in this output */\n")
-                        out_java_struct.write("\tpublic final byte[] script_pubkey;\n")
-                        out_java_struct.write("\t/** The value, in satoshis, of this output */\n")
-                        out_java_struct.write("\tpublic final long value;\n")
-                        out_java_struct.write("\n")
-                        out_java_struct.write("\tTxOut(java.lang.Object _dummy, long ptr) {\n")
-                        out_java_struct.write("\t\tsuper(ptr);\n")
-                        out_java_struct.write("\t\tthis.script_pubkey = bindings.TxOut_get_script_pubkey(ptr);\n")
-                        out_java_struct.write("\t\tthis.value = bindings.TxOut_get_value(ptr);\n")
-                        out_java_struct.write("\t}\n")
-                        out_java_struct.write("\tpublic TxOut(long value, byte[] script_pubkey) {\n")
-                        out_java_struct.write("\t\tsuper(bindings.TxOut_new(script_pubkey, value));\n")
-                        out_java_struct.write("\t\tthis.script_pubkey = bindings.TxOut_get_script_pubkey(ptr);\n")
-                        out_java_struct.write("\t\tthis.value = bindings.TxOut_get_value(ptr);\n")
-                        out_java_struct.write("\t}\n")
-                        out_java_struct.write("\n")
-                        out_java_struct.write("\t@Override @SuppressWarnings(\"deprecation\")\n")
-                        out_java_struct.write("\tprotected void finalize() throws Throwable {\n")
-                        out_java_struct.write("\t\tsuper.finalize();\n")
-                        out_java_struct.write("\t\tif (ptr != 0) { bindings.TxOut_free(ptr); }\n")
-                        out_java_struct.write("\t}\n")
-                        out_java_struct.write("\n")
-                        out_java_struct.write("}")
+                        out_java_struct.write(consts.txout_defn)
                         fn_line = "struct LDKCVec_u8Z TxOut_get_script_pubkey (struct LDKTxOut* thing)"
                         write_c(fn_line + " {")
                         write_c("\treturn CVec_u8Z_clone(&thing->script_pubkey);")