Generate comments for the output cpp file
Client: cpp
Patch: kahotv <root@kaho.tv>
This closes #1954
diff --git a/compiler/cpp/src/thrift/generate/t_cpp_generator.cc b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
index d66b6e6..896c43f 100644
--- a/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_cpp_generator.cc
@@ -504,6 +504,7 @@
* @param ttypedef The type definition
*/
void t_cpp_generator::generate_typedef(t_typedef* ttypedef) {
+ generate_java_doc(f_types_, ttypedef);
f_types_ << indent() << "typedef " << type_name(ttypedef->get_type(), true) << " "
<< ttypedef->get_symbolic() << ";" << endl << endl;
}
@@ -524,6 +525,7 @@
} else {
f << "," << endl;
}
+ generate_java_doc(f, *c_iter);
indent(f) << prefix << (*c_iter)->get_name() << suffix;
if (include_values) {
f << " = " << (*c_iter)->get_value();
@@ -547,6 +549,7 @@
std::string enum_name = tenum->get_name();
if (!gen_pure_enums_) {
enum_name = "type";
+ generate_java_doc(f_types_, tenum);
f_types_ << indent() << "struct " << tenum->get_name() << " {" << endl;
indent_up();
}
@@ -1075,6 +1078,8 @@
out << endl;
+ generate_java_doc(out, tstruct);
+
// Open struct def
out << indent() << "class " << tstruct->get_name() << extends << " {" << endl << indent()
<< " public:" << endl << endl;
@@ -1147,6 +1152,7 @@
// Declare all fields
for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
+ generate_java_doc(out, *m_iter);
indent(out) << declare_field(*m_iter,
false,
(pointers && !(*m_iter)->get_type()->is_xception()),
@@ -1933,6 +1939,9 @@
if (style == "CobCl" && gen_templates_) {
f_header_ << "template <class Protocol_>" << endl;
}
+
+ generate_java_doc(f_header_, tservice);
+
f_header_ << "class " << service_if_name << extends << " {" << endl << " public:" << endl;
indent_up();
f_header_ << indent() << "virtual ~" << service_if_name << "() {}" << endl;
@@ -2225,6 +2234,7 @@
indent_up();
for (f_iter = functions.begin(); f_iter != functions.end(); ++f_iter) {
+ generate_java_doc(f_header_, *f_iter);
t_struct* arglist = (*f_iter)->get_arglist();
const vector<t_field*>& args = arglist->get_members();
vector<t_field*>::const_iterator a_iter;
@@ -2438,6 +2448,8 @@
}
if (style == "Cob") {
+ generate_java_doc(f_header_, tservice);
+
f_header_ << indent()
<< "::std::shared_ptr< ::apache::thrift::async::TAsyncChannel> getChannel() {" << endl
<< indent() << " return " << _this << "channel_;" << endl << indent() << "}" << endl;
@@ -2449,6 +2461,7 @@
vector<t_function*> functions = tservice->get_functions();
vector<t_function*>::const_iterator f_iter;
for (f_iter = functions.begin(); f_iter != functions.end(); ++f_iter) {
+ generate_java_doc(f_header_, *f_iter);
indent(f_header_) << function_signature(*f_iter, ifstyle) << ";" << endl;
// TODO(dreiss): Use private inheritance to avoid generating thise in cob-style.
if (style == "Concurrent" && !(*f_iter)->is_oneway()) {