static void LogError(string errorText, ErrorPosition position = default(ErrorPosition)) { string prefix = ""; if (!position.Equals(default(ErrorPosition))) { if (MSBuildErrors) { prefix = position.Filename + "(" + position.LineNumber + "," + position.ColumnNumber + (position.Length > 0 ? "," + position.LineNumber + "," + (position.ColumnNumber + position.Length) : "") + ") : error CERROR : "; } else { prefix = position.Filename + " (Line " + position.LineNumber + ", Column " + position.ColumnNumber + "): "; } } if (string.IsNullOrEmpty(prefix) && MSBuildErrors) { prefix = "JoopCompiler : error CERROR : "; } Console.WriteLine(prefix + errorText); }
public void TestEquals() { var pos1 = new ErrorPosition(1, 1); var pos2 = new ErrorPosition(1, 2); var pos3 = new ErrorPosition(2, 1); var pos4 = new ErrorPosition(1, 1); Assert.Equal(pos1, pos4); Assert.NotEqual(pos1, pos2); Assert.NotEqual(pos1, pos3); // ReSharper disable once EqualExpressionComparison Assert.True(pos1.Equals(pos1)); Assert.True(pos1.Equals(pos4)); Assert.False(pos1.Equals(null)); Assert.False(pos1.Equals(new object())); Assert.Equal(pos1.GetHashCode(), pos4.GetHashCode()); Assert.NotEqual(pos1.GetHashCode(), pos2.GetHashCode()); }