// | // properties to be added to the class prototype
// | someValue: 2,
// | // initialization function
// | constructor: function(){
// | this.myComplicatedObject = new ReallyComplicatedObject();
// | },
// | // other functions
// | someMethod: function(){
// | doStuff();
// | }
// | );
// argument juggling (deprecated)
if(dojo.isFunction(props)||(arguments.length>3)){
dojo.deprecated("dojo.declare: for class '"+className+"' pass initializer function as 'constructor' property instead of as a separate argument.","","1.0");
varc=props;
props=arguments[3]||{};
props.constructor=c;
}
// process superclass argument
// var dd=dojo.declare, mixins=null;
vardd=arguments.callee,mixins=null;
if(dojo.isArray(superclass)){
mixins=superclass;
superclass=mixins.shift();
}
// construct intermediate classes for mixins
if(mixins){
for(vari=0,m;i<mixins.length;i++){
m=mixins[i];
if(!m){throw("Mixin #"+i+" to declaration of "+className+" is null. It's likely a required module is not loaded.")};