Author: dreiss
Date: Tue Jan  6 12:54:27 2009
New Revision: 732116

URL: http://svn.apache.org/viewvc?rev=732116&view=rev
Log:
THRIFT-249. java: Add @param lines to function docstrings

Modified:
    incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc?rev=732116&r1=732115&r2=732116&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc Tue 
Jan  6 12:54:27 2009
@@ -150,6 +150,9 @@
   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 @@
   }
 }
 
+/**
+ * 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 << "\...@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) {
 


Reply via email to