Browse Source

Made "Cannot take address of read-only variable" a warning

Brian Fiete 7 months ago
parent
commit
4cd8fe7742
1 changed files with 6 additions and 0 deletions
  1. 6 0
      IDEHelper/Compiler/BfExprEvaluator.cpp

+ 6 - 0
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -20335,6 +20335,12 @@ bool BfExprEvaluator::CheckModifyResult(BfTypedValue& typedVal, BfAstNode* refNo
 	if ((!skipCopyOnMutate) && (typedVal.IsCopyOnMutate()))
 		typedVal = mModule->CopyValue(typedVal);
 
+	if ((emitWarning) && (typedVal.IsReadOnly()))
+	{
+		mModule->Warn(0, StrFormat("Cannot %s read-only variable", modifyType), refNode);
+		return true;
+	}
+
 	return mModule->CheckModifyValue(typedVal, refNode, modifyType);
 }