From 8ba5cb2c39147f71aebb8bb0e4b32dcba562e6d4 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 3 Nov 2021 13:37:21 +0200 Subject: [PATCH] move Token.ASTERISK_ASTERISK to general group in resolveBinaryExpression --- src/resolver.ts | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/src/resolver.ts b/src/resolver.ts index fa83a4a0d3..dd79ab78f3 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -1957,30 +1957,7 @@ export class Resolver extends DiagnosticEmitter { case Token.MINUS: case Token.ASTERISK: case Token.SLASH: - case Token.PERCENT: { // mod has special logic, but also behaves like this - let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode); - if (!leftType) return null; - let classReference = leftType.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.fromBinaryToken(operator)); - if (overload) return overload.signature.returnType; - } - let rightType = this.resolveExpression(right, ctxFlow, leftType, reportMode); - if (!rightType) return null; - let commonType = Type.commonDenominator(leftType, rightType, false); - if (!commonType) { - if (reportMode == ReportMode.REPORT) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - node.range, leftType.toString(), rightType.toString() - ); - } - } - return commonType; - } - - // pow: result is common type of LHS and RHS, preferring overloads - + case Token.PERCENT: // mod has special logic, but also behaves like this case Token.ASTERISK_ASTERISK: { let leftType = this.resolveExpression(left, ctxFlow, ctxType, reportMode); if (!leftType) return null;