src/aria/Aria.js
function (obj, def, superclass, fn, params) {
        var newcall = (!obj["aria:nextCall"]);
        if (!newcall && obj["aria:nextCall"] != def.$classpath) {
            Aria.$logError(Aria.WRONGPARENT_CALLED, [fn, def.$classpath, obj["aria:nextCall"], obj.$classpath]);
        }
        obj["aria:nextCall"] = (superclass ? superclass.classDefinition.$classpath : null);
        if (def[fn]) {
            def[fn].apply(obj, params);
        } else if (superclass && fn == "$destructor") {
            // no destructor: must call the parent destructor, by default
            superclass.prototype.$destructor.apply(obj, params);
        }
        if (obj["aria:nextCall"] && obj["aria:nextCall"] != "aria.core.JsObject") {
            Aria.$logError(Aria.PARENT_NOTCALLED, [fn, obj["aria:nextCall"], def.$classpath]);
        }
        if (newcall) {
            obj["aria:nextCall"] = undefined;
        }
        return newcall;
    }
function (obj, def, superclass, fn, params) {
        var newcall = (!obj["aria:nextCall"]);
        if (!newcall && obj["aria:nextCall"] != def.$classpath) {
            Aria.$logError(Aria.WRONGPARENT_CALLED, [fn, def.$classpath, obj["aria:nextCall"], obj.$classpath]);
        }
        obj["aria:nextCall"] = (superclass ? superclass.classDefinition.$classpath : null);
        if (def[fn]) {
            def[fn].apply(obj, params);
        } else if (superclass && fn == "$destructor") {
            // no destructor: must call the parent destructor, by default
            superclass.prototype.$destructor.apply(obj, params);
        }
        if (obj["aria:nextCall"] && obj["aria:nextCall"] != "aria.core.JsObject") {
            Aria.$logError(Aria.PARENT_NOTCALLED, [fn, obj["aria:nextCall"], def.$classpath]);
        }
        if (newcall) {
            obj["aria:nextCall"] = undefined;
        }
        return newcall;
    }
function ( obj , def , superclass , fn , params ) { var newcall = ( ! obj [ "aria:nextCall" ] ) ; if ( ! newcall && obj [ "aria:nextCall" ] != def . $classpath ) { Aria . $logError ( Aria . WRONGPARENT_CALLED , [ fn , def . $classpath , obj [ "aria:nextCall" ] , obj . $classpath ] ) ; } obj [ "aria:nextCall" ] = ( superclass ? superclass . classDefinition . $classpath : null ) ; if ( def [ fn ] ) { def [ fn ] . apply ( obj , params ) ; } else if ( superclass && fn == "$destructor" ) { // no destructor: must call the parent destructor, by default superclass . prototype . $destructor . apply ( obj , params ) ; } if ( obj [ "aria:nextCall" ] && obj [ "aria:nextCall" ] != "aria.core.JsObject" ) { Aria . $logError ( Aria . PARENT_NOTCALLED , [ fn , obj [ "aria:nextCall" ] , def . $classpath ] ) ; } if ( newcall ) { obj [ "aria:nextCall" ] = undefined ; } return newcall ; }
Wrapper function for constructors or destructors on an object. It is used only when Aria.memCheckMode==true. When
the constructor or destructor of an object is called, this function is called, and this function calls the
corresponding constructor or destructor in the object definition and check that it calls its parent constructor
or destructor.
@private
@param {Object} object
@param {Object} definition object definition whose constructor should be called
@param {Object} superclass superclass
@param {String} fn May be "$constructor" or "$destructor".
@param {Array} params Array of parameters to be given to the $constructor; should be empty when fn=="$destructor"
return true if it was the first call
Wrapper function for constructors or destructors on an object . It is used only when Aria . memCheckMode == true . When the constructor or destructor of an object is called this function is called and this function calls the corresponding constructor or destructor in the object definition and check that it calls its parent constructor or destructor .