From a0ff9effd8591a54d8c49a27e26ed7cc086d2be9 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 3 Aug 2020 16:29:42 +0200 Subject: Replaced QDict by StringUnorderedSet for fortrancode.l --- src/fortrancode.l | 16 +++++++++------- 1 file 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 localVars; //!< contains names of local variables - QDict 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); } } -- cgit v0.12