Doxygen
Loading...
Searching...
No Matches
PerlModDocVisitor Class Reference

Concrete visitor implementation for PerlMod output. More...

Inheritance diagram for PerlModDocVisitor:
Collaboration diagram for PerlModDocVisitor:

Public Member Functions

 PerlModDocVisitor (PerlModOutput &)
void finish ()
void operator() (const DocWord &)
void operator() (const DocLinkedWord &)
void operator() (const DocWhiteSpace &)
void operator() (const DocSymbol &)
void operator() (const DocEmoji &)
void operator() (const DocURL &)
void operator() (const DocLineBreak &)
void operator() (const DocHorRuler &)
void operator() (const DocStyleChange &)
void operator() (const DocVerbatim &)
void operator() (const DocAnchor &)
void operator() (const DocInclude &)
void operator() (const DocIncOperator &)
void operator() (const DocFormula &)
void operator() (const DocIndexEntry &)
void operator() (const DocSimpleSectSep &)
void operator() (const DocCite &)
void operator() (const DocSeparator &)
void operator() (const DocAutoList &)
void operator() (const DocAutoListItem &)
void operator() (const DocPara &)
void operator() (const DocRoot &)
void operator() (const DocSimpleSect &)
void operator() (const DocTitle &)
void operator() (const DocSimpleList &)
void operator() (const DocSimpleListItem &)
void operator() (const DocSection &)
void operator() (const DocHtmlList &)
void operator() (const DocHtmlListItem &)
void operator() (const DocHtmlDescList &)
void operator() (const DocHtmlDescTitle &)
void operator() (const DocHtmlDescData &)
void operator() (const DocHtmlTable &)
void operator() (const DocHtmlRow &)
void operator() (const DocHtmlCell &)
void operator() (const DocHtmlCaption &)
void operator() (const DocInternal &)
void operator() (const DocHRef &)
void operator() (const DocHtmlSummary &)
void operator() (const DocHtmlDetails &)
void operator() (const DocHtmlHeader &)
void operator() (const DocImage &)
void operator() (const DocDotFile &)
void operator() (const DocMscFile &)
void operator() (const DocDiaFile &)
void operator() (const DocPlantUmlFile &)
void operator() (const DocLink &)
void operator() (const DocRef &)
void operator() (const DocSecRefItem &)
void operator() (const DocSecRefList &)
void operator() (const DocParamSect &)
void operator() (const DocParamList &)
void operator() (const DocXRefItem &)
void operator() (const DocInternalRef &)
void operator() (const DocText &)
void operator() (const DocHtmlBlockQuote &)
void operator() (const DocVhdlFlow &)
void operator() (const DocParBlock &)
Public Member Functions inherited from DocVisitor
 DocVisitor ()
virtual ~DocVisitor ()
CodeParserInterfacegetCodeParser (const QCString &langExt)
void pushHidden (bool hide)
bool popHidden ()

Private Member Functions

template<class T>
void visitChildren (const T &t)
void addLink (const QCString &ref, const QCString &file, const QCString &anchor)
void enterText ()
void leaveText ()
void openItem (const QCString &)
void closeItem ()
void singleItem (const QCString &)
void openSubBlock (const QCString &=QCString())
void closeSubBlock ()

Private Attributes

PerlModOutputm_output
bool m_textmode
bool m_textblockstart
QCString m_other

Detailed Description

Concrete visitor implementation for PerlMod output.

Definition at line 270 of file perlmodgen.cpp.

Constructor & Destructor Documentation

◆ PerlModDocVisitor()

PerlModDocVisitor::PerlModDocVisitor ( PerlModOutput & output)

Definition at line 381 of file perlmodgen.cpp.

382 : m_output(output), m_textmode(false), m_textblockstart(FALSE)
383{
384 m_output.openList("doc");
385}
PerlModOutput & m_output
#define FALSE
Definition qcstring.h:34

References FALSE, m_output, m_textblockstart, and m_textmode.

Member Function Documentation

◆ addLink()

void PerlModDocVisitor::addLink ( const QCString & ref,
const QCString & file,
const QCString & anchor )
private

Definition at line 394 of file perlmodgen.cpp.

395{
396 QCString link = file;
397 if (!anchor.isEmpty())
398 (link += "_1") += anchor;
399 m_output.addFieldQuotedString("link", link);
400}
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150

References QCString::isEmpty(), and m_output.

Referenced by operator()(), operator()(), and operator()().

◆ closeItem()

◆ closeSubBlock()

void PerlModDocVisitor::closeSubBlock ( )
private

◆ enterText()

void PerlModDocVisitor::enterText ( )
private

Definition at line 414 of file perlmodgen.cpp.

415{
416 if (m_textmode)
417 return;
418 openItem("text");
419 m_output.addField("content").add('\'');
420 m_textmode = true;
421}
void openItem(const QCString &)

References m_output, m_textmode, and openItem().

Referenced by operator()(), operator()(), operator()(), and operator()().

◆ finish()

void PerlModDocVisitor::finish ( )

Definition at line 387 of file perlmodgen.cpp.

388{
389 leaveText();
390 m_output.closeList()
391 .add(m_other);
392}

References leaveText(), m_other, and m_output.

Referenced by addPerlModDocBlock().

◆ leaveText()

void PerlModDocVisitor::leaveText ( )
private

Definition at line 423 of file perlmodgen.cpp.

424{
425 if (!m_textmode)
426 return;
427 m_textmode = false;
429 .add('\'')
430 .closeHash();
431}

References m_output, and m_textmode.

Referenced by closeItem(), closeSubBlock(), finish(), openItem(), openSubBlock(), operator()(), operator()(), operator()(), and operator()().

◆ openItem()

void PerlModDocVisitor::openItem ( const QCString & name)
private

◆ openSubBlock()

void PerlModDocVisitor::openSubBlock ( const QCString & s = QCString())
private

◆ operator()() [1/58]

void PerlModDocVisitor::operator() ( const DocAnchor & anc)

Definition at line 661 of file perlmodgen.cpp.

662{
663 QCString anchor = anc.file() + "_1" + anc.anchor();
664 openItem("anchor");
665 m_output.addFieldQuotedString("id", anchor);
666 closeItem();
667}
QCString anchor() const
Definition docnode.h:231
QCString file() const
Definition docnode.h:232

References DocAnchor::anchor(), closeItem(), DocAnchor::file(), m_output, and openItem().

◆ operator()() [2/58]

void PerlModDocVisitor::operator() ( const DocAutoList & l)

Definition at line 756 of file perlmodgen.cpp.

757{
758 openItem("list");
759 m_output.addFieldQuotedString("style", l.isEnumList() ? "ordered" : (l.isCheckedList() ? "check" :"itemized"));
760 openSubBlock("content");
761 visitChildren(l);
763 closeItem();
764}
bool isCheckedList() const
Definition docnode.h:578
bool isEnumList() const
Definition docnode.h:576
void visitChildren(const T &t)
void openSubBlock(const QCString &=QCString())

References closeItem(), closeSubBlock(), DocAutoList::isCheckedList(), DocAutoList::isEnumList(), m_output, openItem(), openSubBlock(), and visitChildren().

◆ operator()() [3/58]

void PerlModDocVisitor::operator() ( const DocAutoListItem & li)

Definition at line 766 of file perlmodgen.cpp.

767{
768 openSubBlock();
769 switch (li.itemNumber())
770 {
771 case DocAutoList::Unchecked: // unchecked
772 m_output.addFieldQuotedString("style", "Unchecked");
773 break;
774 case DocAutoList::Checked_x: // checked with x
775 case DocAutoList::Checked_X: // checked with X
776 m_output.addFieldQuotedString("style", "Checked");
777 break;
778 default:
779 break;
780 }
781 visitChildren(li);
783}
int itemNumber() const
Definition docnode.h:594

References DocAutoList::Checked_X, DocAutoList::Checked_x, closeSubBlock(), DocAutoListItem::itemNumber(), m_output, openSubBlock(), DocAutoList::Unchecked, and visitChildren().

◆ operator()() [4/58]

void PerlModDocVisitor::operator() ( const DocCite & cite)

Definition at line 744 of file perlmodgen.cpp.

745{
746 openItem("cite");
747 m_output.addFieldQuotedString("text", cite.text());
748 closeItem();
749}
QCString text() const
Definition docnode.h:251

References closeItem(), m_output, openItem(), and DocCite::text().

◆ operator()() [5/58]

void PerlModDocVisitor::operator() ( const DocDiaFile & df)

Definition at line 1125 of file perlmodgen.cpp.

1126{
1127#if 0
1128 m_output.add("<diafile name=\""); m_output.add(df->file()); m_output.add("\">");
1129#endif
1130 visitChildren(df);
1131#if 0
1132 m_output.add("</diafile>");
1133#endif
1134}
QCString file() const
Definition docnode.h:680

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [6/58]

void PerlModDocVisitor::operator() ( const DocDotFile & df)

Definition at line 1104 of file perlmodgen.cpp.

1105{
1106#if 0
1107 m_output.add("<dotfile name=\""); m_output.add(df->file()); m_output.add("\">");
1108#endif
1109 visitChildren(df);
1110#if 0
1111 m_output.add("</dotfile>");
1112#endif
1113}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [7/58]

void PerlModDocVisitor::operator() ( const DocEmoji & sy)

Definition at line 564 of file perlmodgen.cpp.

565{
566 enterText();
567 const char *name = EmojiEntityMapper::instance().name(sy.index());
568 if (name)
569 {
570 m_output.add(name);
571 }
572 else
573 {
574 m_output.add(sy.name());
575 }
576}
int index() const
Definition docnode.h:341
QCString name() const
Definition docnode.h:340
const char * name(int index) const
Access routine to the name of the Emoji entity.
Definition emoji.cpp:2026
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Definition emoji.cpp:1978

References enterText(), DocEmoji::index(), EmojiEntityMapper::instance(), m_output, DocEmoji::name(), and EmojiEntityMapper::name().

◆ operator()() [8/58]

void PerlModDocVisitor::operator() ( const DocFormula & f)

Definition at line 719 of file perlmodgen.cpp.

720{
721 openItem("formula");
722 QCString id;
723 id += QCString().setNum(f.id());
724 m_output.addFieldQuotedString("id", id).addFieldQuotedString("content", f.text());
725 closeItem();
726}
QCString text() const
Definition docnode.h:529
int id() const
Definition docnode.h:531

References closeItem(), DocFormula::id(), m_output, openItem(), QCString::setNum(), and DocFormula::text().

◆ operator()() [9/58]

void PerlModDocVisitor::operator() ( const DocHorRuler & )

Definition at line 590 of file perlmodgen.cpp.

591{
592 singleItem("hruler");
593}
void singleItem(const QCString &)

References singleItem().

◆ operator()() [10/58]

void PerlModDocVisitor::operator() ( const DocHRef & href)

Definition at line 1020 of file perlmodgen.cpp.

1021{
1022#if 0
1023 m_output.add("<ulink url=\""); m_output.add(href.url()); m_output.add("\">");
1024#endif
1025 visitChildren(href);
1026#if 0
1027 m_output.add("</ulink>");
1028#endif
1029}
QCString url() const
Definition docnode.h:825

References m_output, DocHRef::url(), and visitChildren().

◆ operator()() [11/58]

void PerlModDocVisitor::operator() ( const DocHtmlBlockQuote & q)

Definition at line 1309 of file perlmodgen.cpp.

1310{
1311 openItem("blockquote");
1312 openSubBlock("content");
1313 visitChildren(q);
1314 closeSubBlock();
1315 closeItem();
1316}

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [12/58]

void PerlModDocVisitor::operator() ( const DocHtmlCaption & c)

Definition at line 998 of file perlmodgen.cpp.

999{
1000#if 0
1001 m_output.add("<caption>");
1002#endif
1003 visitChildren(c);
1004#if 0
1005 m_output.add("</caption>\n");
1006#endif
1007}

References m_output, and visitChildren().

◆ operator()() [13/58]

void PerlModDocVisitor::operator() ( const DocHtmlCell & c)

Definition at line 987 of file perlmodgen.cpp.

988{
989#if 0
990 if (c.isHeading()) m_output.add("<entry thead=\"yes\">"); else m_output.add("<entry thead=\"no\">");
991#endif
992 visitChildren(c);
993#if 0
994 m_output.add("</entry>");
995#endif
996}
bool isHeading() const
Definition docnode.h:1195

References DocHtmlCell::isHeading(), m_output, and visitChildren().

◆ operator()() [14/58]

void PerlModDocVisitor::operator() ( const DocHtmlDescData & dd)

Definition at line 949 of file perlmodgen.cpp.

950{
951#if 0
952 m_output.add("<listitem>");
953#endif
954 visitChildren(dd);
955#if 0
956 m_output.add("</listitem>\n");
957#endif
958}

References m_output, and visitChildren().

◆ operator()() [15/58]

void PerlModDocVisitor::operator() ( const DocHtmlDescList & dl)

Definition at line 927 of file perlmodgen.cpp.

928{
929#if 0
930 m_output.add("<variablelist>\n");
931#endif
932 visitChildren(dl);
933#if 0
934 m_output.add("</variablelist>\n");
935#endif
936}

References m_output, and visitChildren().

◆ operator()() [16/58]

void PerlModDocVisitor::operator() ( const DocHtmlDescTitle & dt)

Definition at line 938 of file perlmodgen.cpp.

939{
940#if 0
941 m_output.add("<varlistentry><term>");
942#endif
943 visitChildren(dt);
944#if 0
945 m_output.add("</term></varlistentry>\n");
946#endif
947}

References m_output, and visitChildren().

◆ operator()() [17/58]

void PerlModDocVisitor::operator() ( const DocHtmlDetails & details)

Definition at line 1040 of file perlmodgen.cpp.

1041{
1042 openItem("details");
1043 auto summary = details.summary();
1044 if (summary)
1045 {
1046 std::visit(*this,*summary);
1047 }
1048 openSubBlock("content");
1049 visitChildren(details);
1050 closeSubBlock();
1051 closeItem();
1052}
const DocNodeVariant * summary() const
Definition docnode.h:859

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [18/58]

void PerlModDocVisitor::operator() ( const DocHtmlHeader & header)

Definition at line 1054 of file perlmodgen.cpp.

1055{
1056#if 0
1057 m_output.add("<sect"); m_output.add(header.level()); m_output.add(">");
1058#endif
1059 visitChildren(header);
1060#if 0
1061 m_output.add("</sect"); m_output.add(header.level()); m_output.add(">\n");
1062#endif
1063}
int level() const
Definition docnode.h:872

References DocHtmlHeader::level(), m_output, and visitChildren().

◆ operator()() [19/58]

void PerlModDocVisitor::operator() ( const DocHtmlList & l)

Definition at line 892 of file perlmodgen.cpp.

893{
894 openItem("list");
895 m_output.addFieldQuotedString("style", (l.type() == DocHtmlList::Ordered) ? "ordered" : "itemized");
896 for (const auto &opt : l.attribs())
897 {
898 if (opt.name=="type")
899 {
900 m_output.addFieldQuotedString("list_type", qPrint(opt.value));
901 }
902 if (opt.name=="start")
903 {
904 m_output.addFieldQuotedString("start", qPrint(opt.value));
905 }
906 }
907 openSubBlock("content");
908 visitChildren(l);
910 closeItem();
911}
const HtmlAttribList & attribs() const
Definition docnode.h:1001
Type type() const
Definition docnode.h:1000
const char * qPrint(const char *s)
Definition qcstring.h:672

References DocHtmlList::attribs(), closeItem(), closeSubBlock(), m_output, openItem(), openSubBlock(), DocHtmlList::Ordered, qPrint(), DocHtmlList::type(), and visitChildren().

◆ operator()() [20/58]

void PerlModDocVisitor::operator() ( const DocHtmlListItem & l)

Definition at line 913 of file perlmodgen.cpp.

914{
915 for (const auto &opt : l.attribs())
916 {
917 if (opt.name=="value")
918 {
919 m_output.addFieldQuotedString("item_value", qPrint(opt.value));
920 }
921 }
922 openSubBlock();
923 visitChildren(l);
925}
const HtmlAttribList & attribs() const
Definition docnode.h:1165

References DocHtmlListItem::attribs(), closeSubBlock(), m_output, openSubBlock(), qPrint(), and visitChildren().

◆ operator()() [21/58]

void PerlModDocVisitor::operator() ( const DocHtmlRow & r)

Definition at line 976 of file perlmodgen.cpp.

977{
978#if 0
979 m_output.add("<row>\n");
980#endif
981 visitChildren(r);
982#if 0
983 m_output.add("</row>\n");
984#endif
985}

References m_output, and visitChildren().

◆ operator()() [22/58]

void PerlModDocVisitor::operator() ( const DocHtmlSummary & summary)

Definition at line 1031 of file perlmodgen.cpp.

1032{
1033 openItem("summary");
1034 openSubBlock("content");
1035 visitChildren(summary);
1036 closeSubBlock();
1037 closeItem();
1038}

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [23/58]

void PerlModDocVisitor::operator() ( const DocHtmlTable & t)

Definition at line 960 of file perlmodgen.cpp.

961{
962#if 0
963 m_output.add("<table rows=\""); m_output.add(t.numRows());
964 m_output.add("\" cols=\""); m_output.add(t.numCols()); m_output.add("\">");
965#endif
966 if (t.caption())
967 {
968 std::visit(*this,*t.caption());
969 }
970 visitChildren(t);
971#if 0
972 m_output.add("</table>\n");
973#endif
974}
size_t numRows() const
Definition docnode.h:1268
const DocNodeVariant * caption() const
Definition docnode.cpp:2044

References DocHtmlTable::caption(), m_output, DocHtmlTable::numRows(), and visitChildren().

◆ operator()() [24/58]

void PerlModDocVisitor::operator() ( const DocImage & img)

Definition at line 1065 of file perlmodgen.cpp.

1066{
1067#if 0
1068 m_output.add("<image type=\"");
1069 switch(img.type())
1070 {
1071 case DocImage::Html: m_output.add("html"); break;
1072 case DocImage::Latex: m_output.add("latex"); break;
1073 case DocImage::Rtf: m_output.add("rtf"); break;
1074 }
1075 m_output.add("\"");
1076
1077 QCString baseName=img.name();
1078 int i;
1079 if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
1080 {
1081 baseName=baseName.right(baseName.length()-i-1);
1082 }
1083 m_output.add(" name=\""); m_output.add(baseName); m_output.add("\"");
1084 if (!img.width().isEmpty())
1085 {
1086 m_output.add(" width=\"");
1087 m_output.addQuoted(img.width());
1088 m_output.add("\"");
1089 }
1090 else if (!img.height().isEmpty())
1091 {
1092 m_output.add(" height=\"");
1093 m_output.addQuoted(img.height());
1094 m_output.add("\"");
1095 }
1096 m_output.add(">");
1097#endif
1098 visitChildren(img);
1099#if 0
1100 m_output.add("</image>");
1101#endif
1102}
QCString name() const
Definition docnode.h:643
QCString height() const
Definition docnode.h:646
Type type() const
Definition docnode.h:642
QCString width() const
Definition docnode.h:645
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:153
QCString right(size_t len) const
Definition qcstring.h:219
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition qcstring.cpp:91

References QCString::findRev(), DocImage::height(), DocImage::Html, QCString::isEmpty(), DocImage::Latex, QCString::length(), m_output, DocImage::name(), QCString::right(), DocImage::Rtf, DocImage::type(), visitChildren(), and DocImage::width().

◆ operator()() [25/58]

void PerlModDocVisitor::operator() ( const DocInclude & inc)

Definition at line 669 of file perlmodgen.cpp.

670{
671 const char *type = nullptr;
672 switch (inc.type())
673 {
675 return;
677 return;
678 case DocInclude::DontInclude: return;
679 case DocInclude::DontIncWithLines: return;
680 case DocInclude::HtmlInclude: type = "htmlonly"; break;
681 case DocInclude::LatexInclude: type = "latexonly"; break;
682 case DocInclude::RtfInclude: type = "rtfonly"; break;
683 case DocInclude::ManInclude: type = "manonly"; break;
684 case DocInclude::XmlInclude: type = "xmlonly"; break;
685 case DocInclude::DocbookInclude: type = "docbookonly"; break;
686 case DocInclude::VerbInclude: type = "preformatted"; break;
687 case DocInclude::Snippet: return;
688 case DocInclude::SnippetWithLines: return;
689 }
690 openItem(type);
691 m_output.addFieldQuotedString("content", inc.text());
692 closeItem();
693}
@ LatexInclude
Definition docnode.h:433
@ SnippetWithLines
Definition docnode.h:434
@ DontIncWithLines
Definition docnode.h:435
@ IncWithLines
Definition docnode.h:434
@ HtmlInclude
Definition docnode.h:433
@ VerbInclude
Definition docnode.h:433
@ DontInclude
Definition docnode.h:433
@ DocbookInclude
Definition docnode.h:435
Type type() const
Definition docnode.h:447
QCString text() const
Definition docnode.h:448

References closeItem(), DocInclude::DocbookInclude, DocInclude::DontInclude, DocInclude::DontIncWithLines, DocInclude::HtmlInclude, DocInclude::Include, DocInclude::IncWithLines, DocInclude::LatexInclude, m_output, DocInclude::ManInclude, openItem(), DocInclude::RtfInclude, DocInclude::Snippet, DocInclude::SnippetWithLines, DocInclude::text(), DocInclude::type(), DocInclude::VerbInclude, and DocInclude::XmlInclude.

◆ operator()() [26/58]

void PerlModDocVisitor::operator() ( const DocIncOperator & )

Definition at line 695 of file perlmodgen.cpp.

696{
697#if 0
698 //printf("DocIncOperator: type=%d first=%d, last=%d text='%s'\n",
699 // op.type(),op.isFirst(),op.isLast(),op.text().data());
700 if (op.isFirst())
701 {
702 m_output.add("<programlisting>");
703 }
704 if (op.type()!=DocIncOperator::Skip)
705 {
706 parseCode(m_ci,op.context(),op.text(),FALSE,0);
707 }
708 if (op.isLast())
709 {
710 m_output.add("</programlisting>");
711 }
712 else
713 {
714 m_output.add('\n');
715 }
716#endif
717}

References FALSE, m_output, and DocIncOperator::Skip.

◆ operator()() [27/58]

void PerlModDocVisitor::operator() ( const DocIndexEntry & )

Definition at line 728 of file perlmodgen.cpp.

729{
730#if 0
731 m_output.add("<indexentry>"
732 "<primaryie>");
733 m_output.addQuoted(ie->entry());
734 m_output.add("</primaryie>"
735 "<secondaryie></secondaryie>"
736 "</indexentry>");
737#endif
738}

References m_output.

◆ operator()() [28/58]

void PerlModDocVisitor::operator() ( const DocInternal & i)

Definition at line 1009 of file perlmodgen.cpp.

1010{
1011#if 0
1012 m_output.add("<internal>");
1013#endif
1014 visitChildren(i);
1015#if 0
1016 m_output.add("</internal>");
1017#endif
1018}

References m_output, and visitChildren().

◆ operator()() [29/58]

void PerlModDocVisitor::operator() ( const DocInternalRef & ref)

Definition at line 1294 of file perlmodgen.cpp.

1295{
1296 openItem("ref");
1297 addLink(QCString(),ref.file(),ref.anchor());
1298 openSubBlock("content");
1299 visitChildren(ref);
1300 closeSubBlock();
1301 closeItem();
1302}
QCString file() const
Definition docnode.h:806
QCString anchor() const
Definition docnode.h:808
void addLink(const QCString &ref, const QCString &file, const QCString &anchor)

References addLink(), DocInternalRef::anchor(), closeItem(), closeSubBlock(), DocInternalRef::file(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [30/58]

void PerlModDocVisitor::operator() ( const DocLineBreak & )

Definition at line 585 of file perlmodgen.cpp.

586{
587 singleItem("linebreak");
588}

References singleItem().

◆ operator()() [31/58]

void PerlModDocVisitor::operator() ( const DocLink & lnk)

Definition at line 1148 of file perlmodgen.cpp.

1149{
1150 openItem("link");
1151 addLink(lnk.ref(), lnk.file(), lnk.anchor());
1152 visitChildren(lnk);
1153 closeItem();
1154}

References addLink(), DocLink::anchor(), closeItem(), DocLink::file(), openItem(), DocLink::ref(), and visitChildren().

◆ operator()() [32/58]

void PerlModDocVisitor::operator() ( const DocLinkedWord & w)

Definition at line 480 of file perlmodgen.cpp.

481{
482 openItem("url");
483 addLink(w.ref(), w.file(), w.anchor());
484 m_output.addFieldQuotedString("content", w.word());
485 closeItem();
486}
QCString file() const
Definition docnode.h:170
QCString ref() const
Definition docnode.h:172
QCString word() const
Definition docnode.h:169
QCString anchor() const
Definition docnode.h:173

References addLink(), DocLinkedWord::anchor(), closeItem(), DocLinkedWord::file(), m_output, openItem(), DocLinkedWord::ref(), and DocLinkedWord::word().

◆ operator()() [33/58]

void PerlModDocVisitor::operator() ( const DocMscFile & df)

Definition at line 1114 of file perlmodgen.cpp.

1115{
1116#if 0
1117 m_output.add("<mscfile name=\""); m_output.add(df->file()); m_output.add("\">");
1118#endif
1119 visitChildren(df);
1120#if 0
1121 m_output.add("<mscfile>");
1122#endif
1123}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [34/58]

void PerlModDocVisitor::operator() ( const DocPara & p)

Definition at line 785 of file perlmodgen.cpp.

786{
788 m_textblockstart = false;
789 else
790 singleItem("parbreak");
791 /*
792 openItem("para");
793 openSubBlock("content");
794 */
795 visitChildren(p);
796 /*
797 closeSubBlock();
798 closeItem();
799 */
800}

References m_textblockstart, singleItem(), and visitChildren().

◆ operator()() [35/58]

void PerlModDocVisitor::operator() ( const DocParamList & pl)

Definition at line 1216 of file perlmodgen.cpp.

1217{
1218 leaveText();
1219 m_output.openHash().openList("parameters");
1220 for (const auto &param : pl.parameters())
1221 {
1222 QCString name;
1223 const DocWord *word = std::get_if<DocWord>(&param);
1224 const DocLinkedWord *linkedWord = std::get_if<DocLinkedWord>(&param);
1225 if (word)
1226 {
1227 name = word->word();
1228 }
1229 else if (linkedWord)
1230 {
1231 name = linkedWord->word();
1232 }
1233
1234 QCString dir = "";
1235 const DocParamSect *sect = std::get_if<DocParamSect>(pl.parent());
1236 if (sect && sect->hasInOutSpecifier())
1237 {
1239 {
1240 if (pl.direction()==DocParamSect::In)
1241 {
1242 dir = "in";
1243 }
1244 else if (pl.direction()==DocParamSect::Out)
1245 {
1246 dir = "out";
1247 }
1248 else if (pl.direction()==DocParamSect::InOut)
1249 {
1250 dir = "in,out";
1251 }
1252 }
1253 }
1254
1255 m_output.openHash()
1256 .addFieldQuotedString("name", name).addFieldQuotedString("dir", dir)
1257 .closeHash();
1258 }
1259 m_output.closeList()
1260 .openList("doc");
1261 for (const auto &par : pl.paragraphs())
1262 {
1263 std::visit(*this,par);
1264 }
1265 leaveText();
1266 m_output.closeList()
1267 .closeHash();
1268}
DocNodeVariant * parent()
Definition docnode.h:89
const DocNodeList & parameters() const
Definition docnode.h:1124
DocParamSect::Direction direction() const
Definition docnode.h:1128
const DocNodeList & paragraphs() const
Definition docnode.h:1126
bool hasInOutSpecifier() const
Definition docnode.h:1064
std::string_view word
Definition util.cpp:980

References DocParamList::direction(), DocParamSect::hasInOutSpecifier(), DocParamSect::In, DocParamSect::InOut, leaveText(), m_output, DocParamSect::Out, DocParamList::paragraphs(), DocParamList::parameters(), DocNode::parent(), DocParamSect::Unspecified, DocLinkedWord::word(), and word.

◆ operator()() [36/58]

void PerlModDocVisitor::operator() ( const DocParamSect & s)

Definition at line 1189 of file perlmodgen.cpp.

1190{
1191 leaveText();
1192 const char *type = nullptr;
1193 switch(s.type())
1194 {
1195 case DocParamSect::Param: type = "params"; break;
1196 case DocParamSect::RetVal: type = "retvals"; break;
1197 case DocParamSect::Exception: type = "exceptions"; break;
1198 case DocParamSect::TemplateParam: type = "templateparam"; break;
1200 err("unknown parameter section found\n");
1201 break;
1202 }
1203 m_output.openHash();
1204 //openOther();
1205 openSubBlock(type);
1206 visitChildren(s);
1207 closeSubBlock();
1208 //closeOther();
1209 m_output.closeHash();
1210}
Type type() const
Definition docnode.h:1063
#define err(fmt,...)
Definition message.h:127

References closeSubBlock(), err, DocParamSect::Exception, leaveText(), m_output, openSubBlock(), DocParamSect::Param, DocParamSect::RetVal, DocParamSect::TemplateParam, DocParamSect::type(), DocParamSect::Unknown, and visitChildren().

◆ operator()() [37/58]

void PerlModDocVisitor::operator() ( const DocParBlock & pb)

Definition at line 1322 of file perlmodgen.cpp.

1323{
1324 visitChildren(pb);
1325}

References visitChildren().

◆ operator()() [38/58]

void PerlModDocVisitor::operator() ( const DocPlantUmlFile & df)

Definition at line 1136 of file perlmodgen.cpp.

1137{
1138#if 0
1139 m_output.add("<plantumlfile name=\""); m_output.add(df->file()); m_output.add("\">");
1140#endif
1141 visitChildren(df);
1142#if 0
1143 m_output.add("</plantumlfile>");
1144#endif
1145}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [39/58]

void PerlModDocVisitor::operator() ( const DocRef & ref)

Definition at line 1156 of file perlmodgen.cpp.

1157{
1158 openItem("ref");
1159 if (!ref.hasLinkText())
1160 m_output.addFieldQuotedString("text", ref.targetTitle());
1161 openSubBlock("content");
1162 visitChildren(ref);
1163 closeSubBlock();
1164 closeItem();
1165}
QCString targetTitle() const
Definition docnode.h:781
bool hasLinkText() const
Definition docnode.h:783

References closeItem(), closeSubBlock(), DocRef::hasLinkText(), m_output, openItem(), openSubBlock(), DocRef::targetTitle(), and visitChildren().

◆ operator()() [40/58]

void PerlModDocVisitor::operator() ( const DocRoot & r)

Definition at line 802 of file perlmodgen.cpp.

803{
804 visitChildren(r);
805}

References visitChildren().

◆ operator()() [41/58]

void PerlModDocVisitor::operator() ( const DocSecRefItem & ref)

Definition at line 1167 of file perlmodgen.cpp.

1168{
1169#if 0
1170 m_output.add("<tocitem id=\""); m_output.add(ref->file()); m_output.add("_1"); m_output.add(ref->anchor()); m_output.add("\">");
1171#endif
1172 visitChildren(ref);
1173#if 0
1174 m_output.add("</tocitem>");
1175#endif
1176}
QCString file() const
Definition docnode.h:934
QCString anchor() const
Definition docnode.h:935

References DocSecRefItem::anchor(), DocSecRefItem::file(), m_output, and visitChildren().

◆ operator()() [42/58]

void PerlModDocVisitor::operator() ( const DocSecRefList & l)

Definition at line 1178 of file perlmodgen.cpp.

1179{
1180#if 0
1181 m_output.add("<toclist>");
1182#endif
1183 visitChildren(l);
1184#if 0
1185 m_output.add("</toclist>");
1186#endif
1187}

References m_output, and visitChildren().

◆ operator()() [43/58]

void PerlModDocVisitor::operator() ( const DocSection & s)

Definition at line 877 of file perlmodgen.cpp.

878{
879 QCString sect = QCString().sprintf("sect%d",s.level());
880 openItem(sect);
881 //m_output.addFieldQuotedString("title", s.title());
882 if (s.title())
883 {
884 std::visit(*this,*s.title());
885 }
886 openSubBlock("content");
887 visitChildren(s);
889 closeItem();
890}
int level() const
Definition docnode.h:913
const DocNodeVariant * title() const
Definition docnode.h:914

References closeItem(), closeSubBlock(), DocSection::level(), openItem(), openSubBlock(), QCString::sprintf(), DocSection::title(), and visitChildren().

◆ operator()() [44/58]

void PerlModDocVisitor::operator() ( const DocSeparator & )

Definition at line 1212 of file perlmodgen.cpp.

1213{
1214}

◆ operator()() [45/58]

void PerlModDocVisitor::operator() ( const DocSimpleList & l)

Definition at line 857 of file perlmodgen.cpp.

858{
859 openItem("list");
860 m_output.addFieldQuotedString("style", "itemized");
861 openSubBlock("content");
862 visitChildren(l);
864 closeItem();
865}

References closeItem(), closeSubBlock(), m_output, openItem(), openSubBlock(), and visitChildren().

◆ operator()() [46/58]

void PerlModDocVisitor::operator() ( const DocSimpleListItem & li)

Definition at line 867 of file perlmodgen.cpp.

868{
869 openSubBlock();
870 if (li.paragraph())
871 {
872 std::visit(*this,*li.paragraph());
873 }
875}
const DocNodeVariant * paragraph() const
Definition docnode.h:1152

References closeSubBlock(), openSubBlock(), and DocSimpleListItem::paragraph().

◆ operator()() [47/58]

void PerlModDocVisitor::operator() ( const DocSimpleSect & s)

Definition at line 807 of file perlmodgen.cpp.

808{
809 const char *type = nullptr;
810 switch (s.type())
811 {
812 case DocSimpleSect::See: type = "see"; break;
813 case DocSimpleSect::Return: type = "return"; break;
814 case DocSimpleSect::Author: type = "author"; break;
815 case DocSimpleSect::Authors: type = "authors"; break;
816 case DocSimpleSect::Version: type = "version"; break;
817 case DocSimpleSect::Since: type = "since"; break;
818 case DocSimpleSect::Date: type = "date"; break;
819 case DocSimpleSect::Note: type = "note"; break;
820 case DocSimpleSect::Warning: type = "warning"; break;
821 case DocSimpleSect::Pre: type = "pre"; break;
822 case DocSimpleSect::Post: type = "post"; break;
823 case DocSimpleSect::Copyright: type = "copyright"; break;
824 case DocSimpleSect::Invar: type = "invariant"; break;
825 case DocSimpleSect::Remark: type = "remark"; break;
826 case DocSimpleSect::Attention: type = "attention"; break;
827 case DocSimpleSect::Important: type = "important"; break;
828 case DocSimpleSect::User: type = "par"; break;
829 case DocSimpleSect::Rcs: type = "rcs"; break;
831 err("unknown simple section found\n");
832 break;
833 }
834 leaveText();
835 m_output.openHash();
836 //openOther();
837 openSubBlock(type);
838 if (s.title())
839 {
840 std::visit(*this,*s.title());
841 }
842 visitChildren(s);
844 //closeOther();
845 m_output.closeHash();
846}
Type type() const
Definition docnode.h:1021
const DocNodeVariant * title() const
Definition docnode.h:1028

References DocSimpleSect::Attention, DocSimpleSect::Author, DocSimpleSect::Authors, closeSubBlock(), DocSimpleSect::Copyright, DocSimpleSect::Date, err, DocSimpleSect::Important, DocSimpleSect::Invar, leaveText(), m_output, DocSimpleSect::Note, openSubBlock(), DocSimpleSect::Post, DocSimpleSect::Pre, DocSimpleSect::Rcs, DocSimpleSect::Remark, DocSimpleSect::Return, DocSimpleSect::See, DocSimpleSect::Since, DocSimpleSect::title(), DocSimpleSect::type(), DocSimpleSect::Unknown, DocSimpleSect::User, DocSimpleSect::Version, visitChildren(), and DocSimpleSect::Warning.

◆ operator()() [48/58]

void PerlModDocVisitor::operator() ( const DocSimpleSectSep & )

Definition at line 740 of file perlmodgen.cpp.

741{
742}

◆ operator()() [49/58]

void PerlModDocVisitor::operator() ( const DocStyleChange & s)

Definition at line 595 of file perlmodgen.cpp.

596{
597 const char *style = nullptr;
598 switch (s.style())
599 {
600 case DocStyleChange::Bold: style = "bold"; break;
601 case DocStyleChange::S: style = "s"; break;
602 case DocStyleChange::Strike: style = "strike"; break;
603 case DocStyleChange::Del: style = "del"; break;
604 case DocStyleChange::Underline: style = "underline"; break;
605 case DocStyleChange::Ins: style = "ins"; break;
606 case DocStyleChange::Italic: style = "italic"; break;
607 case DocStyleChange::Code: style = "code"; break;
608 case DocStyleChange::Subscript: style = "subscript"; break;
609 case DocStyleChange::Superscript: style = "superscript"; break;
610 case DocStyleChange::Center: style = "center"; break;
611 case DocStyleChange::Small: style = "small"; break;
612 case DocStyleChange::Cite: style = "cite"; break;
613 case DocStyleChange::Preformatted: style = "preformatted"; break;
614 case DocStyleChange::Div: style = "div"; break;
615 case DocStyleChange::Span: style = "span"; break;
616 case DocStyleChange::Kbd: style = "kbd"; break;
617 case DocStyleChange::Typewriter: style = "typewriter"; break;
618 }
619 openItem("style");
620 m_output.addFieldQuotedString("style", style)
621 .addFieldBoolean("enable", s.enable());
622 closeItem();
623}
Style style() const
Definition docnode.h:303
bool enable() const
Definition docnode.h:305

References DocStyleChange::Bold, DocStyleChange::Center, DocStyleChange::Cite, closeItem(), DocStyleChange::Code, DocStyleChange::Del, DocStyleChange::Div, DocStyleChange::enable(), DocStyleChange::Ins, DocStyleChange::Italic, DocStyleChange::Kbd, m_output, openItem(), DocStyleChange::Preformatted, DocStyleChange::S, DocStyleChange::Small, DocStyleChange::Span, DocStyleChange::Strike, DocStyleChange::style(), DocStyleChange::Subscript, DocStyleChange::Superscript, DocStyleChange::Typewriter, and DocStyleChange::Underline.

◆ operator()() [50/58]

void PerlModDocVisitor::operator() ( const DocSymbol & sy)

Definition at line 494 of file perlmodgen.cpp.

495{
496 const HtmlEntityMapper::PerlSymb *res = HtmlEntityMapper::instance().perl(sy.symbol());
497 const char *accent=nullptr;
498 if (res->symb)
499 {
500 switch (res->type)
501 {
503 enterText();
504 m_output.add(res->symb);
505 break;
507 enterText();
508 m_output.add(res->symb[0]);
509 break;
511 leaveText();
512 openItem("symbol");
513 m_output.addFieldQuotedString("symbol", res->symb);
514 closeItem();
515 break;
516 default:
517 switch(res->type)
518 {
520 accent = "umlaut";
521 break;
523 accent = "acute";
524 break;
526 accent = "grave";
527 break;
529 accent = "circ";
530 break;
532 accent = "slash";
533 break;
535 accent = "tilde";
536 break;
538 accent = "cedilla";
539 break;
541 accent = "ring";
542 break;
543 default:
544 break;
545 }
546 leaveText();
547 if (accent)
548 {
549 openItem("accent");
551 .addFieldQuotedString("accent", accent)
552 .addFieldQuotedChar("letter", res->symb[0]);
553 closeItem();
554 }
555 break;
556 }
557 }
558 else
559 {
560 err("perl: non supported HTML-entity found: {}\n",HtmlEntityMapper::instance().html(sy.symbol(),TRUE));
561 }
562}
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:328
const PerlSymb * perl(SymType symb) const
Access routine to the perl struct with the perl code of the HTML entity.
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
#define TRUE
Definition qcstring.h:37

References closeItem(), enterText(), err, HtmlEntityMapper::instance(), leaveText(), m_output, openItem(), HtmlEntityMapper::perl(), HtmlEntityMapper::Perl_acute, HtmlEntityMapper::Perl_cedilla, HtmlEntityMapper::Perl_char, HtmlEntityMapper::Perl_circ, HtmlEntityMapper::Perl_grave, HtmlEntityMapper::Perl_ring, HtmlEntityMapper::Perl_slash, HtmlEntityMapper::Perl_string, HtmlEntityMapper::Perl_symbol, HtmlEntityMapper::Perl_tilde, HtmlEntityMapper::Perl_umlaut, HtmlEntityMapper::PerlSymb::symb, DocSymbol::symbol(), TRUE, and HtmlEntityMapper::PerlSymb::type.

◆ operator()() [51/58]

void PerlModDocVisitor::operator() ( const DocText & t)

Definition at line 1304 of file perlmodgen.cpp.

1305{
1306 visitChildren(t);
1307}

References visitChildren().

◆ operator()() [52/58]

void PerlModDocVisitor::operator() ( const DocTitle & t)

Definition at line 848 of file perlmodgen.cpp.

849{
850 openItem("title");
851 openSubBlock("content");
852 visitChildren(t);
854 closeItem();
855}

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [53/58]

void PerlModDocVisitor::operator() ( const DocURL & u)

Definition at line 578 of file perlmodgen.cpp.

579{
580 openItem("url");
581 m_output.addFieldQuotedString("content", u.url());
582 closeItem();
583}
QCString url() const
Definition docnode.h:191

References closeItem(), m_output, openItem(), and DocURL::url().

◆ operator()() [54/58]

void PerlModDocVisitor::operator() ( const DocVerbatim & s)

Definition at line 625 of file perlmodgen.cpp.

626{
627 const char *type = nullptr;
628 switch (s.type())
629 {
631#if 0
632 m_output.add("<programlisting>");
633 parseCode(m_ci,s->context(),s->text(),FALSE,0);
634 m_output.add("</programlisting>");
635 return;
636#endif
639 case DocVerbatim::Verbatim: type = "preformatted"; break;
640 case DocVerbatim::HtmlOnly: type = "htmlonly"; break;
641 case DocVerbatim::RtfOnly: type = "rtfonly"; break;
642 case DocVerbatim::ManOnly: type = "manonly"; break;
643 case DocVerbatim::LatexOnly: type = "latexonly"; break;
644 case DocVerbatim::XmlOnly: type = "xmlonly"; break;
645 case DocVerbatim::DocbookOnly: type = "docbookonly"; break;
646 case DocVerbatim::Dot: type = "dot"; break;
647 case DocVerbatim::Msc: type = "msc"; break;
648 case DocVerbatim::PlantUML: type = "plantuml"; break;
649 }
650 openItem(type);
651 if (s.hasCaption())
652 {
653 openSubBlock("caption");
654 visitChildren(s);
656 }
657 m_output.addFieldQuotedString("content", s.text());
658 closeItem();
659}
bool hasCaption() const
Definition docnode.h:386
QCString context() const
Definition docnode.h:380
Type type() const
Definition docnode.h:378
QCString text() const
Definition docnode.h:379
@ JavaDocLiteral
Definition docnode.h:374

References closeItem(), closeSubBlock(), DocVerbatim::Code, DocVerbatim::context(), DocVerbatim::DocbookOnly, DocVerbatim::Dot, FALSE, DocVerbatim::hasCaption(), DocVerbatim::HtmlOnly, DocVerbatim::JavaDocCode, DocVerbatim::JavaDocLiteral, DocVerbatim::LatexOnly, m_output, DocVerbatim::ManOnly, DocVerbatim::Msc, openItem(), openSubBlock(), DocVerbatim::PlantUML, DocVerbatim::RtfOnly, DocVerbatim::text(), DocVerbatim::type(), DocVerbatim::Verbatim, visitChildren(), and DocVerbatim::XmlOnly.

◆ operator()() [55/58]

void PerlModDocVisitor::operator() ( const DocVhdlFlow & )

Definition at line 1318 of file perlmodgen.cpp.

1319{
1320}

◆ operator()() [56/58]

void PerlModDocVisitor::operator() ( const DocWhiteSpace & )

Definition at line 488 of file perlmodgen.cpp.

489{
490 enterText();
491 m_output.add(' ');
492}

References enterText(), and m_output.

◆ operator()() [57/58]

void PerlModDocVisitor::operator() ( const DocWord & w)

Definition at line 474 of file perlmodgen.cpp.

475{
476 enterText();
477 m_output.addQuoted(w.word());
478}
QCString word() const
Definition docnode.h:155

References enterText(), m_output, and DocWord::word().

◆ operator()() [58/58]

void PerlModDocVisitor::operator() ( const DocXRefItem & x)

Definition at line 1270 of file perlmodgen.cpp.

1271{
1272#if 0
1273 m_output.add("<xrefsect id=\"");
1274 m_output.add(x->file()); m_output.add("_1"); m_output.add(x->anchor());
1275 m_output.add("\">");
1276 m_output.add("<xreftitle>");
1277 m_output.addQuoted(x->title());
1278 m_output.add("</xreftitle>");
1279 m_output.add("<xrefdescription>");
1280#endif
1281 if (x.title().isEmpty()) return;
1282 openItem("xrefitem");
1283 openSubBlock("content");
1284 visitChildren(x);
1285 if (x.title().isEmpty()) return;
1286 closeSubBlock();
1287 closeItem();
1288#if 0
1289 m_output.add("</xrefdescription>");
1290 m_output.add("</xrefsect>");
1291#endif
1292}
QCString anchor() const
Definition docnode.h:620
QCString file() const
Definition docnode.h:619
QCString title() const
Definition docnode.h:621

References DocXRefItem::anchor(), closeItem(), closeSubBlock(), DocXRefItem::file(), QCString::isEmpty(), m_output, openItem(), openSubBlock(), DocXRefItem::title(), and visitChildren().

◆ singleItem()

void PerlModDocVisitor::singleItem ( const QCString & name)
private

Definition at line 433 of file perlmodgen.cpp.

434{
435 openItem(name);
436 closeItem();
437}

References closeItem(), and openItem().

Referenced by operator()(), operator()(), and operator()().

◆ visitChildren()

Member Data Documentation

◆ m_other

QCString PerlModDocVisitor::m_other
private

Definition at line 378 of file perlmodgen.cpp.

Referenced by finish().

◆ m_output

◆ m_textblockstart

bool PerlModDocVisitor::m_textblockstart
private

Definition at line 377 of file perlmodgen.cpp.

Referenced by openSubBlock(), operator()(), and PerlModDocVisitor().

◆ m_textmode

bool PerlModDocVisitor::m_textmode
private

Definition at line 376 of file perlmodgen.cpp.

Referenced by enterText(), leaveText(), and PerlModDocVisitor().


The documentation for this class was generated from the following file: