From 18867fd208ba405fe003fb23dc987f9c5b7bc19a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20L=C3=BCbe=C3=9F?= Date: Sat, 18 Nov 2023 18:03:14 +0100 Subject: [PATCH] Scripting: VectorGeneratorgenerate Equals methods --- ScriptCoreGenerator/VectorGenerator.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ScriptCoreGenerator/VectorGenerator.cs b/ScriptCoreGenerator/VectorGenerator.cs index 521d231..81e17cc 100644 --- a/ScriptCoreGenerator/VectorGenerator.cs +++ b/ScriptCoreGenerator/VectorGenerator.cs @@ -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() => $\"{{");