summaryrefslogtreecommitdiffstats
path: root/src/fortrancode.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2012-04-29 17:51:51 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2012-04-29 17:51:51 (GMT)
commit44ca9512aaeb19f7fbd07afda88ec4cfe53ce831 (patch)
treea8d7cbd0da612bb0b1fa97dcc1bac1838f845338 /src/fortrancode.l
parentf3e0c94b327d47e5c3d3a36a9a6300cee8d2a537 (diff)
downloadDoxygen-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.l36
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++;