From d31dc166210b32a9331b1c8c643b3f7244a2dc71 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 30 Dec 2020 05:18:26 -0800 Subject: [PATCH] Fixed static search issue with extensions --- IDEHelper/Compiler/BfModuleTypeUtils.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index d8d6d939..7a86f5b8 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -2204,6 +2204,7 @@ void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateTy BfStaticSearch* staticSearch; if (typeInstance->mStaticSearchMap.TryAdd(typeDef, NULL, &staticSearch)) { + SetAndRestoreValue prevTypeDef(mContext->mCurTypeState->mCurTypeDef, typeDef); for (auto typeRef : typeDef->mStaticSearch) { auto staticType = ResolveTypeRef(typeRef, NULL, BfPopulateType_Identity); @@ -8470,7 +8471,7 @@ BfType* BfModule::ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType popula { mIgnoreErrors = prevIgnoreErrors.mPrevVal; BfTypeReference* errorRefNode = qualifiedTypeRef->mLeft; - if ((leftIsValid) && (mCurTypeInstance != NULL) && (mSystem->ContainsNamespace(leftComposite, mCurTypeInstance->mTypeDef->mProject))) + if ((leftIsValid) && (mCurTypeInstance != NULL) && (mSystem->ContainsNamespace(leftComposite, curTypeDef->mProject))) { // The left was a namespace name, so throw an error on the whole string errorRefNode = qualifiedTypeRef;