- addClass: function (name, class_, ifaces, init) {
- const self = this;
- this[name] = function () self._create(class_, ifaces, "createInstance", init, arguments);
- update.apply(null, [this[name]].concat([Ci[i] for each (i in Array.concat(ifaces))]));
+ addClass: function addClass(name, class_, ifaces, init, quiet) {
+ this.services[name] = { class: class_, interfaces: Array.concat(ifaces || []), method: "createInstance", init: init, quiet: quiet };
+ if (init)
+ memoize(this.services[name], "callable",
+ function () callable(XPCOMShim(this.interfaces)[this.init]));
+
+ this[name] = (function Create() this._create(name, arguments)).bind(this);
+ update.apply(null, [this[name]].concat([Ci[i] for (i of Array.concat(ifaces))]));