13 lines
5.4 KiB
JavaScript
13 lines
5.4 KiB
JavaScript
//>>built
|
|
define("dojo/_base/declare",["./kernel","../has","./lang"],function(w,D,z){function t(e,d){throw Error("declare"+(d?" "+d:"")+": "+e);}function E(e,d,a){var b,c,f,h,k,g,l,p=this._inherited=this._inherited||{};"string"==typeof e&&(b=e,e=d,d=a);a=0;h=e.callee;(b=b||h.nom)||t("can't deduce a name to call inherited()",this.declaredClass);k=this.constructor._meta;f=k.bases;l=p.p;if("constructor"!=b){if(p.c!==h&&(l=0,g=f[0],k=g._meta,k.hidden[b]!==h)){(c=k.chains)&&"string"==typeof c[b]&&t("calling chained method with inherited: "+
|
|
b,this.declaredClass);do if(k=g._meta,c=g.prototype,k&&(c[b]===h&&c.hasOwnProperty(b)||k.hidden[b]===h))break;while(g=f[++l]);l=g?l:-1}if(g=f[++l])if(c=g.prototype,g._meta&&c.hasOwnProperty(b))a=c[b];else{h=u[b];do if(c=g.prototype,(a=c[b])&&(g._meta?c.hasOwnProperty(b):a!==h))break;while(g=f[++l])}a=g&&a||u[b]}else{if(p.c!==h&&(l=0,(k=f[0]._meta)&&k.ctor!==h)){for((c=k.chains)&&"manual"===c.constructor||t("calling chained constructor with inherited",this.declaredClass);(g=f[++l])&&(!(k=g._meta)||
|
|
k.ctor!==h););l=g?l:-1}for(;(g=f[++l])&&!(a=(k=g._meta)?k.ctor:g););a=g&&a}p.c=a;p.p=l;if(a)return!0===d?a:a.apply(this,d||e)}function G(e,d){return"string"==typeof e?this.__inherited(e,d,!0):this.__inherited(e,!0)}function H(e,d,a){var b=this.getInherited(e,d);if(b)return b.apply(this,a||d||e)}function I(e){for(var d=this.constructor._meta.bases,a=0,b=d.length;a<b;++a)if(d[a]===e)return!0;return this instanceof e}function J(e,d){for(var a in d)"constructor"!=a&&d.hasOwnProperty(a)&&(e[a]=d[a]);if(D("bug-for-in-skips-shadowed"))for(var b=
|
|
z._extraNames,c=b.length;c;)a=b[--c],"constructor"!=a&&d.hasOwnProperty(a)&&(e[a]=d[a])}function K(e){x.safeMixin(this.prototype,e);return this}function L(e,d){return x([this].concat(e),d||{})}function M(e,d){return function(){var a=arguments,b=a,c=a[0],f,h;h=e.length;var k;if(!(this instanceof a.callee))return v(a);if(d&&(c&&c.preamble||this.preamble))for(k=Array(e.length),k[0]=a,f=0;;){(c=a[0])&&(c=c.preamble)&&(a=c.apply(this,a)||a);c=e[f].prototype;(c=c.hasOwnProperty("preamble")&&c.preamble)&&
|
|
(a=c.apply(this,a)||a);if(++f==h)break;k[f]=a}for(f=h-1;0<=f;--f)c=e[f],(c=(h=c._meta)?h.ctor:c)&&c.apply(this,k?k[f]:a);(c=this.postscript)&&c.apply(this,b)}}function N(e,d){return function(){var a=arguments,b=a,c=a[0];if(!(this instanceof a.callee))return v(a);d&&(c&&(c=c.preamble)&&(b=c.apply(this,b)||b),(c=this.preamble)&&c.apply(this,b));e&&e.apply(this,a);(c=this.postscript)&&c.apply(this,a)}}function O(e){return function(){var d=arguments,a=0,b,c;if(!(this instanceof d.callee))return v(d);
|
|
for(;b=e[a];++a)if(b=(c=b._meta)?c.ctor:b){b.apply(this,d);break}(b=this.postscript)&&b.apply(this,d)}}function P(e,d,a){return function(){var b,c,f=0,h=1;a&&(f=d.length-1,h=-1);for(;b=d[f];f+=h)c=b._meta,(b=(c?c.hidden:b.prototype)[e])&&b.apply(this,arguments)}}function F(e){B.prototype=e.prototype;e=new B;B.prototype=null;return e}function v(e){var d=e.callee,a=F(d);d.apply(a,e);return a}function x(e,d,a){"string"!=typeof e&&(a=d,d=e,e="");a=a||{};var b,c,f,h,k,g,l,p=1,w=d;if("[object Array]"==
|
|
y.call(d)){p=e;c=[];f=[{cls:0,refs:[]}];h={};g=1;for(var v=d.length,r=0,n,A,m,q;r<v;++r){(n=d[r])?"[object Function]"!=y.call(n)&&t("mixin #"+r+" is not a callable constructor.",p):t("mixin #"+r+" is unknown. Did you use dojo.require to pull it in?",p);A=n._meta?n._meta.bases:[n];m=0;for(n=A.length-1;0<=n;--n)q=A[n].prototype,q.hasOwnProperty("declaredClass")||(q.declaredClass="uniqName_"+Q++),q=q.declaredClass,h.hasOwnProperty(q)||(h[q]={count:0,refs:[],cls:A[n]},++g),q=h[q],m&&m!==q&&(q.refs.push(m),
|
|
++m.count),m=q;++m.count;f[0].refs.push(m)}for(;f.length;){m=f.pop();c.push(m.cls);for(--g;b=m.refs,1==b.length;){m=b[0];if(!m||--m.count){m=0;break}c.push(m.cls);--g}if(m)for(r=0,v=b.length;r<v;++r)m=b[r],--m.count||f.push(m)}g&&t("can't build consistent linearization",p);n=d[0];c[0]=n?n._meta&&n===c[c.length-n._meta.bases.length]?n._meta.bases.length:1:0;g=c;f=g[0];p=g.length-f;d=g[p]}else g=[0],d?"[object Function]"==y.call(d)?(f=d._meta,g=g.concat(f?f.bases:d)):t("base class is not a callable constructor.",
|
|
e):null!==d&&t("unknown base class. Did you use dojo.require to pull it in?",e);if(d)for(c=p-1;;--c){b=F(d);if(!c)break;f=g[c];(f._meta?J:C)(b,f.prototype);h=new Function;h.superclass=d;h.prototype=b;d=b.constructor=h}else b={};x.safeMixin(b,a);f=a.constructor;f!==u.constructor&&(f.nom="constructor",b.constructor=f);for(c=p-1;c;--c)(f=g[c]._meta)&&f.chains&&(l=C(l||{},f.chains));b["-chains-"]&&(l=C(l||{},b["-chains-"]));f=!l||!l.hasOwnProperty("constructor");g[0]=h=l&&"manual"===l.constructor?O(g):
|
|
1==g.length?N(a.constructor,f):M(g,f);h._meta={bases:g,hidden:a,chains:l,parents:w,ctor:a.constructor};h.superclass=d&&d.prototype;h.extend=K;h.createSubclass=L;h.prototype=b;b.constructor=h;b.getInherited=G;b.isInstanceOf=I;b.inherited=R;b.__inherited=E;e&&(b.declaredClass=e,z.setObject(e,h));if(l)for(k in l)b[k]&&"string"==typeof l[k]&&"constructor"!=k&&(f=b[k]=P(k,g,"after"===l[k]),f.nom=k);return h}var C=z.mixin,u=Object.prototype,y=u.toString,B=new Function,Q=0,R=w.config.isDebug?H:E;w.safeMixin=
|
|
x.safeMixin=function(e,d){var a,b;for(a in d)b=d[a],b===u[a]&&a in u||"constructor"==a||("[object Function]"==y.call(b)&&(b.nom=a),e[a]=b);if(D("bug-for-in-skips-shadowed"))for(var c=z._extraNames,f=c.length;f;)a=c[--f],b=d[a],b===u[a]&&a in u||"constructor"==a||("[object Function]"==y.call(b)&&(b.nom=a),e[a]=b);return e};return w.declare=x});
|
|
//# sourceMappingURL=declare.js.map
|