Scripting: VectorGeneratorgenerate Equals methods

This commit is contained in:
Simon Lübeß
2023-11-18 18:03:14 +01:00
parent 849a8582f6
commit 18867fd208
+17
View File
@@ -84,6 +84,8 @@ public class VectorGenerator : ISourceGenerator
GenerateEqualityOperators(vector, builder);
GenerateEquals(vector, builder);
if (receiver.ComparableReceiver.ComparableVectors.Contains(vector.VectorName))
{
GenerateComparisonOperators(vector, builder);
@@ -116,6 +118,21 @@ public class VectorGenerator : ISourceGenerator
}
}
private void GenerateEquals(VectorDefinition vector, StringBuilder builder)
{
builder.Append($$"""
public override bool Equals(object other)
{
if (other is {{vector.VectorName}} otherVector)
return Math.all(this == otherVector);
return false;
}
""");
}
private void GenerateToString(VectorDefinition vector, StringBuilder builder)
{
builder.Append("public override string ToString() => $\"{{");