 (defmethod emit :new
   [{:keys [ctor args env]}]
   (emit-wrap env
-             (print (str "new " (emits ctor) "("
+             (print (str "(new " (emits ctor) "("
                          (comma-sep (map emits args))
-                         ")"))))
+                         "))"))))
 
 (defmethod emit :set!
   [{:keys [target val env]}]

    (when (and mvar (.isMacro mvar))
      @mvar)))

(defn analyze-seq
  [env form name]
  (let [op (first form)]
    (assert (not (nil? op)) "Can't call nil")
    (if (specials op)
      (parse op env form name)
      (if-let [mac (and (symbol? op) (get-expander op env))]
        (analyze env (apply mac form env (rest form)))
        (parse-invoke env form)))))

(defn analyze
  "Given an environment, a map containing {:locals (mapping of names to bindings), :context

(set! *warn-on-reflection* true)

(ns cljs.compiler
  (:refer-clojure :exclude [munge load-file macroexpand-1])
  (:require [clojure.java.io :as io]))

(declare resolve-var)
