diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2012-04-29 17:51:51 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2012-04-29 17:51:51 (GMT) |
commit | 44ca9512aaeb19f7fbd07afda88ec4cfe53ce831 (patch) | |
tree | a8d7cbd0da612bb0b1fa97dcc1bac1838f845338 /src/fortrancode.l | |
parent | f3e0c94b327d47e5c3d3a36a9a6300cee8d2a537 (diff) | |
download | Doxygen-44ca9512aaeb19f7fbd07afda88ec4cfe53ce831.zip Doxygen-44ca9512aaeb19f7fbd07afda88ec4cfe53ce831.tar.gz Doxygen-44ca9512aaeb19f7fbd07afda88ec4cfe53ce831.tar.bz2 |
Release-1.8.0-20120429
Diffstat (limited to 'src/fortrancode.l')
-rw-r--r-- | src/fortrancode.l | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/src/fortrancode.l b/src/fortrancode.l index ca42e04..d7b9295 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -526,35 +526,37 @@ static bool getLink(UseSDict *usedict, // dictonary with used modules static void generateLink(CodeOutputInterface &ol, char *lname) { ClassDef *cd=0; + QCString tmp = lname; + tmp = tmp.lower(); - // check if lname is a linkable type or interface - if ( (getFortranTypeDefs(lname, currentModule, cd, useMembers)) && cd->isLinkable() ) + // check if lowercase lname is a linkable type or interface + if ( (getFortranTypeDefs(tmp, currentModule, cd, useMembers)) && cd->isLinkable() ) { if ( (cd->compoundType() == ClassDef::Class) && // was Entry::INTERFACE_SEC) && - (getGenericProcedureLink(cd, lname, ol)) ) + (getGenericProcedureLink(cd, tmp, ol)) ) { //cout << "=== generic procedure resolved" << endl; } else { // write type or interface link - ol.linkableSymbol(g_yyLineNr, lname, cd, g_currentMemberDef?g_currentMemberDef:g_currentDefinition); - writeMultiLineCodeLink(ol,cd->getReference(),cd->getOutputFileBase(),cd->anchor(),lname); - addToSearchIndex(lname); + ol.linkableSymbol(g_yyLineNr, tmp, cd, g_currentMemberDef?g_currentMemberDef:g_currentDefinition); + writeMultiLineCodeLink(ol,cd->getReference(),cd->getOutputFileBase(),cd->anchor(),tmp); + addToSearchIndex(tmp.data()); } } // check for function/variable - else if (getLink(useMembers, lname, ol, lname)) + else if (getLink(useMembers, tmp, ol, tmp)) { - //cout << "=== found link for " << lname << endl; + //cout << "=== found link for lowercase " << lname << endl; } else { // nothing found, just write out the word - ol.linkableSymbol(g_yyLineNr, lname, 0, g_currentMemberDef?g_currentMemberDef:g_currentDefinition); + ol.linkableSymbol(g_yyLineNr, tmp, 0, g_currentMemberDef?g_currentMemberDef:g_currentDefinition); //startFontClass("charliteral"); //test - codifyLines(lname); + codifyLines(tmp); //endFontClass(); //test - addToSearchIndex(lname); + addToSearchIndex(tmp.data()); } } @@ -838,9 +840,15 @@ IGNORE (CALL) endFontClass(); } <Declaration>{ID} { // local var - g_code->codify(yytext); - if (g_currentMemberDef && g_currentMemberDef->isFunction()) - addLocalVar(yytext); + if (g_currentMemberDef && !g_currentMemberDef->isFunction()) + { + g_code->codify(yytext); + addLocalVar(yytext); + } + else + { + generateLink(*g_code, yytext); + } } <Declaration>[(] { // start of array specification bracketCount++; |