Updated operator-precedence to handle more cases.
authorTravis Cross <tc@traviscross.com>
Fri, 22 Aug 2008 13:30:06 +0000 (13:30 +0000)
committerTravis Cross <tc@traviscross.com>
Fri, 22 Aug 2008 13:30:06 +0000 (13:30 +0000)
It now correctly deals with aref, slot-value and unary operators.

src/printer.lisp

index e9d66c7..7795603 100644 (file)
@@ -88,8 +88,11 @@ vice-versa.")
 (defun expression-precedence (expr)
   (if (consp expr)
       (case (car expr)
+        (js-aref (op-precedence 'js-aref))
+        (js-slot-value (op-precedence 'js-slot-value))
         (js-assign (op-precedence '=))
         (js-expression-if (op-precedence 'js-expression-if))
+        (unary-operator (op-precedence (second expr)))
         (operator (op-precedence (second expr)))
         (otherwise 0))
       0))