Quellcode durchsuchen

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

Brian Fiete vor 8 Monaten
Ursprung
Commit
4cd8fe7742
1 geänderte Dateien mit 6 neuen und 0 gelöschten Zeilen
  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);
 }