diff options
Diffstat (limited to 'src/pycode.l')
-rw-r--r-- | src/pycode.l | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/src/pycode.l b/src/pycode.l index b8ca5ed..a0de80b 100644 --- a/src/pycode.l +++ b/src/pycode.l @@ -438,7 +438,7 @@ static void writeMultiLineCodeLink(CodeOutputInterface &ol, Definition *d, const char *text) { - static bool sourceTooltips = Config_getBool("SOURCE_TOOLTIPS"); + static bool sourceTooltips = Config_getBool(SOURCE_TOOLTIPS); TooltipManager::instance()->addTooltip(d); QCString ref = d->getReference(); QCString file = d->getOutputFileBase(); @@ -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]); @@ -1126,6 +1142,10 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBUT codify(yytext); } + "\n" { + codifyLines(yytext); + } + ":" { codify(yytext); @@ -1388,7 +1408,7 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBUT } <DocBlock>{NEWLINE} { // comment block ends at the end of this line // remove special comment (default config) - if (Config_getBool("STRIP_CODE_COMMENTS")) + if (Config_getBool(STRIP_CODE_COMMENTS)) { g_yyLineNr+=((QCString)g_docBlock).contains('\n'); g_endComment=TRUE; @@ -1402,7 +1422,7 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBUT unput(*yytext); yy_pop_state(); } -<*>{POUNDCOMMENT} { +<*>{POUNDCOMMENT}.* { if (YY_START==SingleQuoteString || YY_START==DoubleQuoteString || YY_START==TripleString @@ -1457,7 +1477,7 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBUT <*><<EOF>> { if (YY_START == DocBlock) { - if (!Config_getBool("STRIP_CODE_COMMENTS")) + if (!Config_getBool(STRIP_CODE_COMMENTS)) { startFontClass("comment"); codifyLines(g_docBlock); @@ -1514,8 +1534,8 @@ static void adjustScopesAndSuites(unsigned indentLength) void parsePythonCode(CodeOutputInterface &od,const char * /*className*/, const QCString &s,bool exBlock, const char *exName, - FileDef *fd,int startLine,int endLine,bool /*inlineFragment*/, - MemberDef *,bool,Definition *searchCtx,bool collectXRefs) + FileDef *fd,int startLine,int endLine,bool inlineFragment, + MemberDef *,bool,Definition *searchCtx,bool collectXRefs) { //printf("***parseCode()\n"); @@ -1531,22 +1551,22 @@ void parsePythonCode(CodeOutputInterface &od,const char * /*className*/, g_needsTermination = FALSE; g_searchCtx=searchCtx; g_collectXRefs=collectXRefs; - if (endLine!=-1) - g_inputLines = endLine+1; - else - g_inputLines = countLines(); - if (startLine!=-1) g_yyLineNr = startLine; else g_yyLineNr = 1; + if (endLine!=-1) + g_inputLines = endLine+1; + else + g_inputLines = g_yyLineNr + countLines() - 1; + g_exampleBlock = exBlock; g_exampleName = exName; g_sourceFileDef = fd; bool cleanupSourceDef = FALSE; - if (fd==0) + if (exBlock && fd==0) { // create a dummy filedef for the example g_sourceFileDef = new FileDef("",(exName?exName:"generated")); @@ -1557,6 +1577,7 @@ void parsePythonCode(CodeOutputInterface &od,const char * /*className*/, setCurrentDoc("l00001"); } + g_includeCodeFragment = inlineFragment; // Starts line 1 on the output startCodeLine(); |