From 33534be26824b8dea146fd857029c203fa147adf Mon Sep 17 00:00:00 2001 From: Arnavion Date: Tue, 6 Jan 2015 02:42:02 -0800 Subject: [PATCH] Give MinusToken the same precedence as PlusToken for template expressions. Fixes #1577 --- src/compiler/emitter.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 237f3ab509a..f3e45a85b6a 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2117,7 +2117,8 @@ module ts { * or equal precedence to the binary '+' operator */ function comparePrecedenceToBinaryPlus(expression: Expression): Comparison { - // All binary expressions have lower precedence than '+' apart from '*', '/', and '%'. + // All binary expressions have lower precedence than '+' apart from '*', '/', and '%' + // which have greater precedence and '-' which has equal precedence. // All unary operators have a higher precedence apart from yield. // Arrow functions and conditionals have a lower precedence, // although we convert the former into regular function expressions in ES5 mode, @@ -2134,6 +2135,7 @@ module ts { case SyntaxKind.PercentToken: return Comparison.GreaterThan; case SyntaxKind.PlusToken: + case SyntaxKind.MinusToken: return Comparison.EqualTo; default: return Comparison.LessThan;