summaryrefslogtreecommitdiffstats
path: root/src/fortrancode.l
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-08-03 14:29:42 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-08-03 14:29:42 (GMT)
commita0ff9effd8591a54d8c49a27e26ed7cc086d2be9 (patch)
tree67ce69449f5381c102a8171d1d10caa4b8fa13d1 /src/fortrancode.l
parent599f1a53747c544b788fa42529300fff2ac12965 (diff)
downloadDoxygen-a0ff9effd8591a54d8c49a27e26ed7cc086d2be9.zip
Doxygen-a0ff9effd8591a54d8c49a27e26ed7cc086d2be9.tar.gz
Doxygen-a0ff9effd8591a54d8c49a27e26ed7cc086d2be9.tar.bz2
Replaced QDict<void> by StringUnorderedSet for fortrancode.l
Diffstat (limited to 'src/fortrancode.l')
-rw-r--r--src/fortrancode.l16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/fortrancode.l b/src/fortrancode.l
index b2e2e7b..4951001 100644
--- a/src/fortrancode.l
+++ b/src/fortrancode.l
@@ -58,6 +58,7 @@
#include "namespacedef.h"
#include "tooltip.h"
#include "fortrancode.h"
+#include "containers.h"
const int fixedCommentAfter = 72;
@@ -114,10 +115,8 @@ class Scope
{
public:
QCStringList useNames; //!< contains names of used modules
- QDict<void> localVars; //!< contains names of local variables
- QDict<void> externalVars; //!< contains names of external entities
-
- Scope() : localVars(7, FALSE /*caseSensitive*/), externalVars(7, FALSE /*caseSensitive*/) {}
+ StringUnorderedSet localVars; //!< contains names of local variables
+ StringUnorderedSet externalVars; //!< contains names of external entities
};
/*===================================================================*/
@@ -447,7 +446,9 @@ static MemberDef *getFortranDefs(const QCString &memberName, const QCString &mod
Scope *scope;
for (it.toLast();(scope=it.current());--it)
{
- if (scope->localVars.find(memberName) && (!scope->externalVars.find(memberName)))
+ std::string lowMemName = memberName.lower().str();
+ if (scope->localVars.find(lowMemName)!=std::end(scope->localVars) && // local var
+ scope->externalVars.find(lowMemName)==std::end(scope->externalVars)) // and not external
{
return nullptr;
}
@@ -665,8 +666,9 @@ static void addLocalVar(const QCString &varName)
{
if (!scopeStack.isEmpty())
{
- scopeStack.getLast()->localVars.insert(varName, (void*)1);
- if (g_isExternal) scopeStack.getLast()->externalVars.insert(varName, (void*)1);
+ std::string lowVarName = varName.lower().str();
+ scopeStack.getLast()->localVars.insert(lowVarName);
+ if (g_isExternal) scopeStack.getLast()->externalVars.insert(lowVarName);
}
}