diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 12f2cfda..7f608688 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -3950,11 +3950,7 @@ void BfModule::PopulateGlobalContainersList(const BfGlobalLookup& globalLookup) BP_ZONE("PopulateGlobalContainersList"); - BfTypeDef* userTypeDef = mContext->mCurTypeState->mCurTypeDef; - if ((userTypeDef == NULL) && (mCurMethodInstance != NULL)) - userTypeDef = mCurMethodInstance->mMethodDef->mDeclaringType; - if (userTypeDef == NULL) - userTypeDef = mCurTypeInstance->mTypeDef; + BfTypeDef* userTypeDef = GetActiveTypeDef(); if (mContext->mCurTypeState->mGlobalContainerCurUserTypeDef != userTypeDef) { diff --git a/IDEHelper/Tests/src/Globals.bf b/IDEHelper/Tests/src/Globals.bf index b2eac727..69dbc8eb 100644 --- a/IDEHelper/Tests/src/Globals.bf +++ b/IDEHelper/Tests/src/Globals.bf @@ -1,9 +1,21 @@ using System; +namespace Other +{ + static + { + public const int sOther1 = 123; + } +} + +using Other; + namespace Tests { class Globals { + static uint8[sOther1] sArr; + public struct StructA : this(int64 a, int32 b) { } @@ -73,6 +85,8 @@ namespace Tests Test.Assert(LibSpace.MethodA() == 100); Test.Assert(LibSpace.MethodB() == 200); + + Test.Assert(sArr.Count == 123); } } }