summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Reiss <dreiss@apache.org>2009-01-06 20:54:27 +0000
committerDavid Reiss <dreiss@apache.org>2009-01-06 20:54:27 +0000
commit7bcf866c16525ee7ca709e250178a61333db27c4 (patch)
treee9779b861ff3e04637d0554dd4d2220f4242a815
parentc654416843d84a9bd43add0dbc4567920947ea73 (diff)
downloadthrift-7bcf866c16525ee7ca709e250178a61333db27c4.tar.gz
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
-rw-r--r--compiler/cpp/src/generate/t_java_generator.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 72e8bab00..cf1ea1963 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<t_field*>& fields = tfunction->get_arglist()->get_members();
+ vector<t_field*>::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) {