summaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-07-13 13:59:00 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-08-05 21:08:52 +0100
commitab1129e332c81ae686fd86f1b9ce5230ce632d39 (patch)
tree948aa013a7641c25bec9869d7b8825bceb63bac9 /generator
parent8b4a8f71d4b6b3289324fc3ad30a8d3ddc509efd (diff)
downloadlibguestfs-ab1129e332c81ae686fd86f1b9ce5230ce632d39.tar.gz
libguestfs-ab1129e332c81ae686fd86f1b9ce5230ce632d39.tar.xz
libguestfs-ab1129e332c81ae686fd86f1b9ce5230ce632d39.zip
java: Generate overloaded non-optargs method for each optargs method.
For example the existing method: public void mkfs_opts (String fstype, String device, Map<..> optargs); is now accompanied by this overloaded method which is a simple wrapper: public void mkfs_opts (String fstype, String device) throws LibGuestFSException { mkfs_opts (fstype, device, null); } (cherry picked from commit 0da2dbef26a9efddbc1f4cd6cbe796b3b5f98d13)
Diffstat (limited to 'generator')
-rw-r--r--generator/generator_java.ml23
1 files changed, 23 insertions, 0 deletions
diff --git a/generator/generator_java.ml b/generator/generator_java.ml
index 7ff68681..060caade 100644
--- a/generator/generator_java.ml
+++ b/generator/generator_java.ml
@@ -176,6 +176,29 @@ public class GuestFS {
);
pr " }\n";
pr "\n";
+
+ (* Generate an overloaded method that has no optargs argument,
+ * and make it call the method above with 'null' for the last
+ * arg.
+ *)
+ if optargs <> [] then (
+ pr " ";
+ generate_java_prototype ~public:true ~semicolon:false
+ name (ret, args, []);
+ pr "\n";
+ pr " {\n";
+ (match ret with
+ | RErr -> pr " "
+ | _ -> pr " return "
+ );
+ pr "%s (" name;
+ List.iter (fun arg -> pr "%s, " (name_of_argt arg)) args;
+ pr "null);\n";
+ pr " }\n";
+ pr "\n"
+ );
+
+ (* Prototype for the native method. *)
pr " ";
generate_java_prototype ~privat:true ~native:true name style;
pr "\n";