2
0
Эх сурвалжийг харах

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

Brian Fiete 6 сар өмнө
parent
commit
4cd8fe7742

+ 6 - 0
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -20335,6 +20335,12 @@ bool BfExprEvaluator::CheckModifyResult(BfTypedValue& typedVal, BfAstNode* refNo
 	if ((!skipCopyOnMutate) && (typedVal.IsCopyOnMutate()))
 	if ((!skipCopyOnMutate) && (typedVal.IsCopyOnMutate()))
 		typedVal = mModule->CopyValue(typedVal);
 		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);
 	return mModule->CheckModifyValue(typedVal, refNode, modifyType);
 }
 }