diff options
-rw-r--r-- | src/commentcnv.l | 6 | ||||
-rw-r--r-- | src/perlmodgen.cpp | 45 | ||||
-rw-r--r-- | src/plantuml.cpp | 2 | ||||
-rw-r--r-- | src/pycode.l | 16 | ||||
-rw-r--r-- | src/sqlite3gen.cpp | 3 |
5 files changed, 62 insertions, 10 deletions
diff --git a/src/commentcnv.l b/src/commentcnv.l index 169f66a..6409b0b 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -465,7 +465,7 @@ void replaceComment(int offset); } BEGIN(VerbatimCode); } -<CComment,ReadLine>[\\@]("f$"|"f["|"f{"[a-z]*) { +<CComment,ReadLine>[\\@]("f$"|"f["|"f{") { copyToOutput(yytext,(int)yyleng); g_blockName=&yytext[1]; if (g_blockName.at(1)=='[') @@ -488,9 +488,9 @@ void replaceComment(int offset); <Scan>. { /* any ather character */ copyToOutput(yytext,(int)yyleng); } -<Verbatim>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"docbookonly"|"endrtfonly"|"endmanonly"|"f$"|"f]"|"f}") { /* end of verbatim block */ +<Verbatim>[\\@]("endverbatim"|"endlatexonly"|"endhtmlonly"|"endxmlonly"|"enddocbookonly"|"endrtfonly"|"endmanonly"|"f$"|"f]"|"f}") { /* end of verbatim block */ copyToOutput(yytext,(int)yyleng); - if (yytext[1]=='f') // end of formula + if (&yytext[1]==g_blockName) // end of formula { BEGIN(g_lastCommentContext); } diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp index 38ebbb2..09e1968 100644 --- a/src/perlmodgen.cpp +++ b/src/perlmodgen.cpp @@ -653,8 +653,8 @@ void PerlModDocVisitor::visit(DocVerbatim *s) m_output.add("<programlisting>"); parseCode(m_ci,s->context(),s->text(),FALSE,0); m_output.add("</programlisting>"); -#endif return; +#endif case DocVerbatim::Verbatim: type = "preformatted"; break; case DocVerbatim::HtmlOnly: type = "htmlonly"; break; case DocVerbatim::RtfOnly: type = "rtfonly"; break; @@ -667,6 +667,14 @@ void PerlModDocVisitor::visit(DocVerbatim *s) case DocVerbatim::PlantUML: type = "plantuml"; break; } openItem(type); + if (s->hasCaption()) + { + openSubBlock("caption"); + QListIterator<DocNode> cli(s->children()); + DocNode *n; + for (cli.toFirst();(n=cli.current());++cli) n->accept(this); + closeSubBlock(); + } m_output.addFieldQuotedString("content", s->text()); closeItem(); } @@ -897,6 +905,7 @@ void PerlModDocVisitor::visitPre(DocSection *s) { QCString sect = QCString().sprintf("sect%d",s->level()); openItem(sect); + m_output.addFieldQuotedString("title", s->title()); openSubBlock("content"); } @@ -1260,17 +1269,43 @@ void PerlModDocVisitor::visitPre(DocParamList *pl) DocNode *param; for (li.toFirst();(param=li.current());++li) { - QCString s; + QCString name; if (param->kind()==DocNode::Kind_Word) { - s = ((DocWord*)param)->word(); + name = ((DocWord*)param)->word(); } else if (param->kind()==DocNode::Kind_LinkedWord) { - s = ((DocLinkedWord*)param)->word(); + name = ((DocLinkedWord*)param)->word(); + } + + QCString dir = ""; + DocParamSect *sect = 0; + if (pl->parent()->kind()==DocNode::Kind_ParamSect) + { + sect=(DocParamSect*)pl->parent(); + } + if (sect && sect->hasInOutSpecifier()) + { + if (pl->direction()!=DocParamSect::Unspecified) + { + if (pl->direction()==DocParamSect::In) + { + dir = "in"; + } + else if (pl->direction()==DocParamSect::Out) + { + dir = "out"; + } + else if (pl->direction()==DocParamSect::InOut) + { + dir = "in,out"; + } + } } + m_output.openHash() - .addFieldQuotedString("name", s) + .addFieldQuotedString("name", name).addFieldQuotedString("dir", dir) .closeHash(); } m_output.closeList() diff --git a/src/plantuml.cpp b/src/plantuml.cpp index 288cbc0..169968e 100644 --- a/src/plantuml.cpp +++ b/src/plantuml.cpp @@ -43,7 +43,7 @@ QCString writePlantUMLSource(const QCString &outDir,const QCString &fileName,con { err("Could not open file %s for writing\n",baseName.data()); } - QCString text = "@startuml"; + QCString text = "@startuml\n"; text+=content; text+="@enduml\n"; file.writeBlock( text, text.length() ); diff --git a/src/pycode.l b/src/pycode.l index 44adb3f..ef6c780 100644 --- a/src/pycode.l +++ b/src/pycode.l @@ -1007,18 +1007,34 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBUT codify(yytext); endFontClass(); } + "self."{IDENTIFIER}/"."({IDENTIFIER}".")*{IDENTIFIER}"(" { + codify("self."); + findMemberLink(*g_code,&yytext[5]); + } "self."{IDENTIFIER}/"(" { codify("self."); findMemberLink(*g_code,&yytext[5]); } + "self."{IDENTIFIER}/"."({IDENTIFIER}".")*{IDENTIFIER} { + codify("self."); + findMemberLink(*g_code,&yytext[5]); + } "self."{IDENTIFIER} { codify("self."); findMemberLink(*g_code,&yytext[5]); } + "cls."{IDENTIFIER}/"."({IDENTIFIER}".")*{IDENTIFIER}"(" { + codify("cls."); + findMemberLink(*g_code,&yytext[4]); + } "cls."{IDENTIFIER}/"(" { codify("cls."); findMemberLink(*g_code,&yytext[4]); } + "cls."{IDENTIFIER}/"."({IDENTIFIER}".")*{IDENTIFIER} { + codify("cls."); + findMemberLink(*g_code,&yytext[4]); + } "cls."{IDENTIFIER} { codify("cls."); findMemberLink(*g_code,&yytext[4]); diff --git a/src/sqlite3gen.cpp b/src/sqlite3gen.cpp index 670249e..bf2090c 100644 --- a/src/sqlite3gen.cpp +++ b/src/sqlite3gen.cpp @@ -741,7 +741,8 @@ static void generateSqlite3ForMember(sqlite3*db,MemberDef *md,Definition *def) //if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return; QCString memType; // memberdef - bindTextParameter(memberdef_insert,":refid",md->anchor().data(),FALSE); + QCString refid = md->getOutputFileBase() + "_1" + md->anchor(); + bindTextParameter(memberdef_insert,":refid", refid.data(),FALSE); bindIntParameter(memberdef_insert,":kind",md->memberType()); bindIntParameter(memberdef_insert,":prot",md->protection()); |