From: David Reiss Date: Tue, 6 Jan 2009 20:54:27 +0000 (+0000) Subject: THRIFT-249. java: Add @param lines to function docstrings X-Git-Tag: 0.2.0~374 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=7bcf866c16525ee7ca709e250178a61333db27c4;p=common%2Fthrift.git THRIFT-249. java: Add @param lines to function docstrings git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732116 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index 72e8bab0..cf1ea196 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -150,6 +150,9 @@ class t_java_generator : public t_oop_generator { void generate_java_doc (std::ofstream& out, t_doc* tdoc); + void generate_java_doc (std::ofstream& out, + t_function* tdoc); + void generate_deep_copy_container(std::ofstream& out, std::string source_name_p1, std::string source_name_p2, std::string result_name, t_type* type); void generate_deep_copy_non_container(std::ofstream& out, std::string source_name, std::string dest_name, t_type* type); @@ -2640,6 +2643,30 @@ void t_java_generator::generate_java_doc(ofstream &out, } } +/** + * Emits a JavaDoc comment if the provided function object has a doc in Thrift + */ +void t_java_generator::generate_java_doc(ofstream &out, + t_function* tfunction) { + if (tfunction->has_doc()) { + stringstream ss; + ss << tfunction->get_doc(); + const vector& fields = tfunction->get_arglist()->get_members(); + vector::const_iterator p_iter; + for (p_iter = fields.begin(); p_iter != fields.end(); ++p_iter) { + t_field* p = *p_iter; + ss << "\n@param " << p->get_name(); + if (p->has_doc()) { + ss << " " << p->get_doc(); + } + } + generate_docstring_comment(out, + "/**\n", + " * ", ss.str(), + " */\n"); + } +} + void t_java_generator::generate_deep_copy_container(ofstream &out, std::string source_name_p1, std::string source_name_p2, std::string result_name, t_type* type) {