Hi there, I have been trying to compile some audio code in clojurescript in advanced mode. I have setup the w3c_audio.js extern (from: http://closureplease.com/externs/) into my extern list. When I compile, it prevents the munging of "AudioContext" (without the extern, this is being munged, so the extern is 'working'). But it doesn't prevent the munging of methods on AudioContext object.
A super minimal example (but not working code): (def audio-context (js/AudioContext.)) (.decodeAudioData audio-context "data" #(println "ok" %) #(println "error" %)) compiles with advanced to: ;var zv = new AudioContext; zv.Rd("data", function(a) { return fo.c(mh([a], 0)); }, function() { return(0).call(null); }); zv.Rd is wrong. It should be zv.decodeAudioData. The externs file does indeed have this function prototype. here are the excerpts: /** * @constructor */ var AudioContext = function() {}; .... /** * @param {ArrayBuffer} audioData * @param {Function} successCallback * @param {Function=} errorCallback */ AudioContext.prototype.decodeAudioData = function(audioData, successCallback, errorCallback) {}; Why would closure compiler protect the AudioContext name, but munge the decodeAudioData name? What am I doing wrong? Regards Crispin Wellington -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.