From aaac1470df60126f7d395440f02392705e8aa0cd Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 18 Feb 2025 13:15:58 -0800 Subject: [PATCH] Field deleted type protection --- IDEHelper/Compiler/BfModule.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index e175f6e6..ce7938d8 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -4727,7 +4727,12 @@ BfTypedValue BfModule::GetFieldInitializerValue(BfFieldInstance* fieldInstance, staticVarRef = ReferenceStaticField(fieldInstance); exprEvaluator.mReceivingValue = &staticVarRef; } - if (fieldType->IsVar()) + + if (fieldType->IsDeleting()) + { + InternalError("Field using deleted type", fieldDef->GetRefNode()); + } + else if (fieldType->IsVar()) result = CreateValueFromExpression(exprEvaluator, initializer, NULL, (BfEvalExprFlags)(BfEvalExprFlags_NoValueAddr | BfEvalExprFlags_FieldInitializer)); else result = CreateValueFromExpression(exprEvaluator, initializer, fieldType, (BfEvalExprFlags)(BfEvalExprFlags_NoValueAddr | BfEvalExprFlags_FieldInitializer));