So it seems that debugging is getting a new meaning, at least in Closure Compiler.
I have a rather big code base, and isolating the problem is a difficult task. In my entry point class I instantiate the dependencies. One of these, is not created correctly, the object is there, but its constructor is not being called.
This only happens in ADVANCED mode, so I tried to pass --debug flag, and voila, the bug is gone, the constructor gets called. It's mind blowing. I can't copy paste any particular code, what would you suggest?
/**
* @param {Element} parent
* @param {Object} opts
* @constructor
*/
ns.App = function(parent, opts) {
this.options = new ns.Options(opts || {});
var w = this.options.width || parent.offsetWidth;
var h = this.options.height || parent.offsetHeight;
this.view = new ns.AppView(w, h);
this.history = new ns.CommandManager();
// ....
// this one doesn't get called
this.amx_ = new ns.ActivityManager(this, this.options);
// this one does
this.output_ = new ns.Writer();
this.bind_();
};