diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index b872014d..d47b2e5f 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -9303,6 +9303,9 @@ BfType* BfModule::ResolveTypeRef(BfTypeReference* typeRef, BfPopulateType popula } constExprType->mType = GetPrimitiveType(result.mTypeCode); + BF_ASSERT(constExprType->mType != NULL); + if (constExprType->mType == NULL) + constExprType->mType = GetPrimitiveType(BfTypeCode_IntPtr); constExprType->mValue = result; resolvedEntry->mValue = constExprType; diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index 2c7a675f..c504680e 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -2519,10 +2519,9 @@ BfVariant BfResolvedTypeSet::EvaluateToVariant(LookupContext* ctx, BfExpression* { BfConstResolver constResolver(ctx->mModule); BfVariant variant = { BfTypeCode_None }; - constResolver.Evaluate(expr); - if (constResolver.mResult) + auto result = constResolver.Resolve(expr); + if (result) { - auto result = constResolver.mResult; if (result.mKind == BfTypedValueKind_GenericConstValue) { constGenericParam = result.mType;