                     [AbstractCompiler])))
  (def can-convert-amd? true)
  (def can-convert-amd? false))
+
+(compile-if
+ (and (.getConstructor ProcessEs6Modules
+        (into-array java.lang.Class
+                    [com.google.javascript.jscomp.Compiler ES6ModuleLoader Boolean/TYPE]))
+      (.getConstructor ES6ModuleLoader
+        (into-array java.lang.Class
+                    [AbstractCompiler java.lang.String])))
+ (def can-convert-es6? true)
+ (def can-convert-es6? false))
+
 
 ;; Closure API
 ;; ===========


       :else (str (random-string 5) ".js")))))

(defmulti convert-js-module
  "Takes a JavaScript module and rewrites it into a Google Closure-compatible
  form. Returns the source of the new module as a single string."

              Result JSError CheckLevel DiagnosticGroups
              CommandLineRunner AnonymousFunctionNamingPolicy
              JSModule JSModuleGraph SourceMap ProcessCommonJSModules
              ES6ModuleLoader AbstractCompiler TransformAMDToCJSModule
              ProcessEs6Modules]
           [com.google.javascript.rhino Node]
           [java.security MessageDigest]
           [javax.xml.bind DatatypeConverter]
