THRIFT-832. html: HTML generator shows unspecified struct fields as 'required'
This patch causes required/optional/default to reported appropriately.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984868 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_html_generator.cc b/compiler/cpp/src/generate/t_html_generator.cc
index dcfdf95..b81a953 100644
--- a/compiler/cpp/src/generate/t_html_generator.cc
+++ b/compiler/cpp/src/generate/t_html_generator.cc
@@ -534,7 +534,7 @@
vector<t_field*> members = tstruct->get_members();
vector<t_field*>::iterator mem_iter = members.begin();
f_out_ << "<table>";
- f_out_ << "<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th><th>Default value</th></tr>"
+ f_out_ << "<tr><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr>"
<< endl;
for ( ; mem_iter != members.end(); mem_iter++) {
f_out_ << "<tr><td>" << (*mem_iter)->get_name() << "</td><td>";
@@ -542,10 +542,12 @@
f_out_ << "</td><td>";
f_out_ << (*mem_iter)->get_doc();
f_out_ << "</td><td>";
- if ((*mem_iter)->get_req() != t_field::T_OPTIONAL) {
- f_out_ << "yes";
+ if ((*mem_iter)->get_req() == t_field::T_OPTIONAL) {
+ f_out_ << "optional";
+ } else if ((*mem_iter)->get_req() == t_field::T_REQUIRED) {
+ f_out_ << "required";
} else {
- f_out_ << "no";
+ f_out_ << "default";
}
f_out_ << "</td><td>";
t_const_value* default_val = (*mem_iter)->get_value();