From bb51fb38539ba5a5fa57a407aff40012fb85e35b Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Mon, 21 Jan 2019 16:07:24 +0100 Subject: [PATCH] Hack to allow binary operators on userdata --- Upsilon/Binder/BoundBinaryOperator.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Upsilon/Binder/BoundBinaryOperator.cs b/Upsilon/Binder/BoundBinaryOperator.cs index 20d5f25..887c072 100644 --- a/Upsilon/Binder/BoundBinaryOperator.cs +++ b/Upsilon/Binder/BoundBinaryOperator.cs @@ -41,8 +41,7 @@ namespace Upsilon.Binder OutType = outType; } - private static readonly BoundBinaryOperator[] Operators = new[] - { + private static readonly BoundBinaryOperator[] Operators = { // Math operators new BoundBinaryOperator(OperatorKind.Addition, Type.Number), new BoundBinaryOperator(OperatorKind.Subtraction, Type.Number), @@ -97,6 +96,8 @@ namespace Upsilon.Binder public static BoundBinaryOperator Bind(SyntaxKind operatorToken, Type left, Type right) { + if (left == Type.UserData) left = Type.Unknown; + if (right == Type.UserData) right = Type.Unknown; OperatorKind kind; switch (operatorToken) {