MCPcopy Create free account
hub / github.com/apache/thrift / dump_docstrings

Function dump_docstrings

compiler/cpp/src/thrift/main.cc:574–627  ·  view source on GitHub ↗

* Dumps docstrings to stdout * Only works for top-level definitions and the whole program doc * (i.e., not enum constants, struct fields, or functions. */

Source from the content-addressed store, hash-verified

572 * (i.e., not enum constants, struct fields, or functions.
573 */
574void dump_docstrings(t_program* program) {
575 string progdoc = program->get_doc();
576 if (!progdoc.empty()) {
577 printf("Whole program doc:\n%s\n", progdoc.c_str());
578 }
579 const vector<t_typedef*>& typedefs = program->get_typedefs();
580 vector<t_typedef*>::const_iterator t_iter;
581 for (t_iter = typedefs.begin(); t_iter != typedefs.end(); ++t_iter) {
582 t_typedef* td = *t_iter;
583 if (td->has_doc()) {
584 printf("typedef %s:\n%s\n", td->get_name().c_str(), td->get_doc().c_str());
585 }
586 }
587 const vector<t_enum*>& enums = program->get_enums();
588 vector<t_enum*>::const_iterator e_iter;
589 for (e_iter = enums.begin(); e_iter != enums.end(); ++e_iter) {
590 t_enum* en = *e_iter;
591 if (en->has_doc()) {
592 printf("enum %s:\n%s\n", en->get_name().c_str(), en->get_doc().c_str());
593 }
594 }
595 const vector<t_const*>& consts = program->get_consts();
596 vector<t_const*>::const_iterator c_iter;
597 for (c_iter = consts.begin(); c_iter != consts.end(); ++c_iter) {
598 t_const* co = *c_iter;
599 if (co->has_doc()) {
600 printf("const %s:\n%s\n", co->get_name().c_str(), co->get_doc().c_str());
601 }
602 }
603 const vector<t_struct*>& structs = program->get_structs();
604 vector<t_struct*>::const_iterator s_iter;
605 for (s_iter = structs.begin(); s_iter != structs.end(); ++s_iter) {
606 t_struct* st = *s_iter;
607 if (st->has_doc()) {
608 printf("struct %s:\n%s\n", st->get_name().c_str(), st->get_doc().c_str());
609 }
610 }
611 const vector<t_struct*>& xceptions = program->get_xceptions();
612 vector<t_struct*>::const_iterator x_iter;
613 for (x_iter = xceptions.begin(); x_iter != xceptions.end(); ++x_iter) {
614 t_struct* xn = *x_iter;
615 if (xn->has_doc()) {
616 printf("xception %s:\n%s\n", xn->get_name().c_str(), xn->get_doc().c_str());
617 }
618 }
619 const vector<t_service*>& services = program->get_services();
620 vector<t_service*>::const_iterator v_iter;
621 for (v_iter = services.begin(); v_iter != services.end(); ++v_iter) {
622 t_service* sv = *v_iter;
623 if (sv->has_doc()) {
624 printf("service %s:\n%s\n", sv->get_name().c_str(), sv->get_doc().c_str());
625 }
626 }
627}
628
629/**
630 * Emits a warning on list<byte>, binary type is typically a much better choice.

Callers 1

generateFunction · 0.85

Calls 6

emptyMethod · 0.80
has_docMethod · 0.80
get_xceptionsMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
get_nameMethod · 0.45

Tested by

no test coverage detected