浏览代码

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

Brian Fiete 7 月之前
父节点
当前提交
4cd8fe7742
共有 1 个文件被更改,包括 6 次插入0 次删除
  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);
 }